diff --git a/emeval/input/spec_details.py b/emeval/input/spec_details.py index cf68ed63..13dbbcf0 100644 --- a/emeval/input/spec_details.py +++ b/emeval/input/spec_details.py @@ -92,21 +92,32 @@ def get_concat_trajectories(trip): properties={"modes": modes_list}) def get_ground_truth_for_leg(self, trip_id, leg_id, start_ts, end_ts): + # print(f"GT_FOR_LEG: Called `get_ground_truth_for_leg` with {trip_id}, {leg_id}, {start_ts}, {end_ts}") for t in self.curr_spec_entry["data"]["label"]["evaluation_trips"]: if t["id"] == trip_id: ll = [l for l in t["legs"] if l["id"] == leg_id] - # print(leg_id, len(ll), [l["id"] for l in ll]) + # print("GT_FOR_LEG:", leg_id, len(ll), [l["id"] for l in ll]) if len(ll) == 1: - ll = ll[0] + sel_leg = ll[0] + ret_leg = sel_leg.copy() + # print(f"GT_FOR_LEG: {sel_leg['id']=}") for key in ["loc", "start_loc", "end_loc", "route_coords"]: - if key in ll and isinstance(ll[key], list): - within_ts = [x for x in ll[key] + # print(f"GT_FOR_LEG: Checking {key=} in object {sel_leg.keys()=} = {key in sel_leg}") + # if key in sel_leg: + # print(f"GT_FOR_LEG: Checking key type = {isinstance(sel_leg[key], list)}") + if key in sel_leg and isinstance(sel_leg[key], list): + # print(f"GT_FOR_LEG: Found matching list of size {len(sel_leg[key])} for {key} in {sel_leg['id']}") + within_ts = [x for x in sel_leg[key] if start_ts >= x["properties"]["valid_start_ts"] and end_ts <= x["properties"]["valid_end_ts"]] - assert len(within_ts) == 1, f"Invalid amount of {key} info for {ll['id']} between timestamps {start_ts} -> {end_ts}" - ll[key] = within_ts[0] - return ll - + assert len(within_ts) == 1, f"Invalid amount of {key} info for {sel_leg['id']} between timestamps {start_ts} -> {end_ts}" + # we want to copy before returning because + # otherwise the first call to this function + # overwrites the ground truth in the full spec and + # makes it a entry instead of a list. + # we can never get the second ground truth in that case + ret_leg[key] = within_ts[0] + return ret_leg @staticmethod def get_shapes_for_leg(gt_leg): diff --git a/emeval/metrics/reference_trajectory.py b/emeval/metrics/reference_trajectory.py index 318ef440..af5f4cf3 100644 --- a/emeval/metrics/reference_trajectory.py +++ b/emeval/metrics/reference_trajectory.py @@ -6,6 +6,7 @@ import arrow import pandas as pd import functools +import traceback import emeval.metrics.dist_calculations as emd import emeval.input.spec_details as eisd @@ -275,7 +276,84 @@ def collapse_outer_join_dist_so_far(loc_row, more_details_fn = None): # BEGIN: Combining into actual reference constructions #### -def ref_ct_general(e, b_merge_fn, dist_threshold, tz="UTC"): +def ref_ends(e, dist_threshold, tz="UTC"): + # This is only called from ref_ct_general and ref_gt_general, so + # the emd filter method adds the `outside_polygon` field to the input dataframe. + # when we look for separate input and output polygons, we don't want to + # mess up the other `outside_polygon` fields, so let's make copies + # everywhere + + utm_gt_linestring = e["ground_truth"]["utm_linestring"] + section_gt_shapes = e["ground_truth"]["gt_shapes"] + + def _get_filtered_loc(gt_key): + unfiltered_loc_a_df = emd.to_geo_df(e["temporal_control"]["android"]["location_df"]).copy() + emd.filter_geo_df(unfiltered_loc_a_df, section_gt_shapes.filter([gt_key])) + loc_df_a = unfiltered_loc_a_df.query("outside_polygons==False") + + unfiltered_loc_b_df = emd.to_geo_df(e["temporal_control"]["ios"]["location_df"]).copy() + emd.filter_geo_df(unfiltered_loc_b_df, section_gt_shapes.filter([gt_key])) + loc_df_b = unfiltered_loc_b_df.query("outside_polygons==False") + + print(f"START_END: for threshold {dist_threshold}, before merging, for key {gt_key}, android: {len(unfiltered_loc_a_df)=} -> {len(loc_df_a)=}, ios: {len(unfiltered_loc_b_df)=} -> {len(loc_df_b)=}") + + return (loc_df_a, loc_df_b) + + start_loc_df_a, start_loc_df_b = _get_filtered_loc("start_loc") + end_loc_df_a, end_loc_df_b = _get_filtered_loc("end_loc") + + merge_fn = functools.partial(collapse_inner_join, b_merge_fn=b_merge_midpoint) + + def _match_single_to_gt(filtered_loc_df, dist_threshold): + new_location_df = get_int_aligned_trajectory(filtered_loc_df, tz) + + new_location_df_u = emd.to_utm_df(new_location_df) + + add_gt_error_projection(new_location_df_u, utm_gt_linestring) + + new_location_df["gt_distance"] = new_location_df_u.gt_distance + new_location_df["gt_projection"] = new_location_df_u.gt_projection + + filtered_location_df = new_location_df.query("gt_distance < @dist_threshold") + filtered_location_df['source'] = ['match_gt'] * len(filtered_location_df) + # filtered_location_df.drop(columns=["gt_distance", "]) + return gpd.GeoDataFrame(filtered_location_df) + + def _align_and_merge(loc_df_a, loc_df_b, dist_threshold): + # if this is exactly one, + # bus trip with e-scooter access city_escooter 3 and include_ends=True + # fails with + # x and y arrays must have at least 2 entries + if len(loc_df_a) > 1 and len(loc_df_b) > 1: + new_location_df_a = get_int_aligned_trajectory(loc_df_a, tz) + new_location_df_i = get_int_aligned_trajectory(loc_df_b, tz) + + merged_df = pd.merge(new_location_df_a, new_location_df_i, on="ts", + how="inner", suffixes=("_a", "_i")).sort_values(by="ts", axis="index") + merged_df["t_distance"] = emd.to_utm_series(gpd.GeoSeries(merged_df.geometry_a)).distance(emd.to_utm_series(gpd.GeoSeries(merged_df.geometry_i))) + filtered_merged_df = merged_df.query("t_distance < @dist_threshold") + print("START_END: After filtering the merged dataframe, retained %d of %d (%s)" % + (len(filtered_merged_df), max(len(new_location_df_a), len(new_location_df_i)), + (len(filtered_merged_df)/max(len(new_location_df_a), len(new_location_df_i))))) + ret_val = gpd.GeoDataFrame(list(filtered_merged_df.apply(merge_fn, axis=1))) + if len(filtered_merged_df) == 0: + print(f"CHECKME: {len(merged_df)=}, {len(filtered_merged_df)=}, START_END: after merging, {merged_df.head()=}") + return gpd.GeoDataFrame([]) + else: + return ret_val +# elif len(loc_df_a) > 0 and len(loc_df_b) == 0: +# return _match_single_to_gt(loc_df_a, dist_threshold) +# elif len(loc_df_a) == 0 and len(loc_df_b) > 0: +# return _match_single_to_gt(loc_df_b, dist_threshold) + else: + return gpd.GeoDataFrame([]) + + start_initial_ends_gpdf = _align_and_merge(start_loc_df_a, start_loc_df_b, dist_threshold) + end_initial_ends_gpdf = _align_and_merge(end_loc_df_a, end_loc_df_b, dist_threshold) + + return [start_initial_ends_gpdf, end_initial_ends_gpdf] + +def ref_ct_general(e, b_merge_fn, dist_threshold, tz="UTC", include_ends=False): fill_gt_linestring(e) section_gt_shapes = e["ground_truth"]["gt_shapes"] # print("In ref_ct_general, %s" % section_gt_shapes.filter(items=["start_loc","end_loc"])) @@ -285,6 +363,7 @@ def ref_ct_general(e, b_merge_fn, dist_threshold, tz="UTC"): filtered_loc_df_b = emd.filter_geo_df( emd.to_geo_df(e["temporal_control"]["ios"]["location_df"]), section_gt_shapes.filter(["start_loc","end_loc"])) + print(f"MATCH TRAJECTORY: {len(filtered_loc_df_a)=}, {len(filtered_loc_df_b)=}") new_location_df_a = get_int_aligned_trajectory(filtered_loc_df_a, tz) new_location_df_i = get_int_aligned_trajectory(filtered_loc_df_b, tz) merged_df = pd.merge(new_location_df_a, new_location_df_i, on="ts", @@ -294,9 +373,17 @@ def ref_ct_general(e, b_merge_fn, dist_threshold, tz="UTC"): print("After filtering, retained %d of %d (%s)" % (len(filtered_merged_df), max(len(new_location_df_a), len(new_location_df_i)), (len(filtered_merged_df)/max(len(new_location_df_a), len(new_location_df_i))))) + merge_fn = functools.partial(collapse_inner_join, b_merge_fn=b_merge_fn) initial_reference_gpdf = gpd.GeoDataFrame(list(filtered_merged_df.apply(merge_fn, axis=1))) + if include_ends: + [start_initial_ends_gpdf, end_initial_ends_gpdf] = ref_ends(e, dist_threshold, tz) + print(f"CONCAT: {include_ends=}, before concatenating {len(start_initial_ends_gpdf)=}, {len(initial_reference_gpdf)=}, {len(end_initial_ends_gpdf)=}") + initial_reference_gpdf = pd.concat([start_initial_ends_gpdf, initial_reference_gpdf, end_initial_ends_gpdf], axis=0).sort_values(by="ts").reset_index(drop=True) + print(f"CONCAT: {include_ends=}, after concatenating {len(initial_reference_gpdf)=}") + # print(end_initial_ends_gpdf) # print(initial_reference_gpdf.columns) + # print(initial_reference_gpdf[initial_reference_gpdf.ts.isna()]) if len(initial_reference_gpdf.columns) > 1: initial_reference_gpdf["fmt_time"] = initial_reference_gpdf.ts.apply(lambda ts: arrow.get(ts).to(tz)) assert len(initial_reference_gpdf[initial_reference_gpdf.latitude.isnull()]) == 0, "Found %d null entries out of %d total" % (len(initial_reference_gpdf.latitude.isnull()), len(initial_reference_gpdf)) @@ -305,7 +392,7 @@ def ref_ct_general(e, b_merge_fn, dist_threshold, tz="UTC"): else: return gpd.GeoDataFrame() -def ref_gt_general(e, b_merge_fn, dist_threshold, tz="UTC"): +def ref_gt_general(e, b_merge_fn, dist_threshold, tz="UTC", include_ends=False): fill_gt_linestring(e) utm_gt_linestring = e["ground_truth"]["utm_linestring"] section_gt_shapes = e["ground_truth"]["gt_shapes"] @@ -339,6 +426,9 @@ def ref_gt_general(e, b_merge_fn, dist_threshold, tz="UTC"): how="outer", suffixes=("_a", "_i")).sort_values(by="ts", axis="index") merge_fn = functools.partial(collapse_outer_join_stateless, b_merge_fn=b_merge_fn) initial_reference_gpdf = gpd.GeoDataFrame(list(merged_df.apply(merge_fn, axis=1))) + if include_ends: + [start_initial_ends_gpdf, end_initial_ends_gpdf] = ref_ends(e, dist_threshold, tz) + initial_reference_gpdf = pd.concat([start_initial_ends_gpdf, initial_reference_gpdf, end_initial_ends_gpdf], axis=0).sort_values(by="ts").reset_index(drop=True) if len(initial_reference_gpdf.columns) > 1: initial_reference_gpdf["fmt_time"] = initial_reference_gpdf.ts.apply(lambda ts: arrow.get(ts).to(tz)) print("After merging, found %d of android %d (%s), ios %d (%s)" % @@ -349,18 +439,20 @@ def ref_gt_general(e, b_merge_fn, dist_threshold, tz="UTC"): else: return gpd.GeoDataFrame() -def ref_travel_forward(e, dist_threshold, tz="UTC"): +def ref_travel_forward(e, dist_threshold, tz="UTC", include_ends=False): # This function needs a global variable global distance_so_far distance_so_far = 0 fill_gt_linestring(e) section_gt_shapes = e["ground_truth"]["gt_shapes"] + # print(f"GEO_DF: before filtering, {len(e['temporal_control']['android']['location_df'])=} and {len(e['temporal_control']['ios']['location_df'])=}") filtered_utm_loc_df_a = emd.filter_geo_df( emd.to_geo_df(e["temporal_control"]["android"]["location_df"]), section_gt_shapes.filter(["start_loc","end_loc"])) filtered_utm_loc_df_b = emd.filter_geo_df( emd.to_geo_df(e["temporal_control"]["ios"]["location_df"]), section_gt_shapes.filter(["start_loc","end_loc"])) + # print(f"GEO_DF: after filtering, {len(filtered_utm_loc_df_a)=} and {len(filtered_utm_loc_df_b)=}") new_location_df_a = get_int_aligned_trajectory(filtered_utm_loc_df_a, tz) new_location_df_i = get_int_aligned_trajectory(filtered_utm_loc_df_b, tz) @@ -390,6 +482,11 @@ def ref_travel_forward(e, dist_threshold, tz="UTC"): how="outer", suffixes=("_a", "_i")).sort_values(by="ts", axis="index") merge_fn = functools.partial(collapse_outer_join_dist_so_far, more_details_fn = None) initial_reference_gpdf = gpd.GeoDataFrame(list(merged_df.apply(merge_fn, axis=1))) + if include_ends: + [start_initial_ends_gpdf, end_initial_ends_gpdf] = ref_ends(e, dist_threshold, tz) + print(f"CONCAT: {include_ends=}, before concatenating {len(start_initial_ends_gpdf)=}, {len(initial_reference_gpdf)=}, {len(end_initial_ends_gpdf)=}") + initial_reference_gpdf = pd.concat([start_initial_ends_gpdf, initial_reference_gpdf, end_initial_ends_gpdf], axis=0).sort_values(by="ts").reset_index(drop=True) + print(f"CONCAT: {include_ends=}, after concatenating {len(initial_reference_gpdf)=}") if len(initial_reference_gpdf.columns) > 1: initial_reference_gpdf["fmt_time"] = initial_reference_gpdf.ts.apply(lambda ts: arrow.get(ts).to(tz)) reference_gpdf = initial_reference_gpdf[initial_reference_gpdf.latitude.notnull()] @@ -419,21 +516,44 @@ def ref_travel_forward(e, dist_threshold, tz="UTC"): coverage_time = lambda df, sr: (df.ts.iloc[-1] - df.ts.iloc[0])/(sr["end_ts"] - sr["start_ts"]) coverage_max_gap = lambda df, sr: df.ts.diff().max()/(sr["end_ts"] - sr["start_ts"]) -def final_ref_ensemble(e, dist_threshold=25, tz="UTC"): +def final_ref_ensemble(e, dist_threshold=25, tz="UTC", include_ends=False): fill_gt_linestring(e) gt_linestring = e["ground_truth"]["linestring"] - tf_ref_df = ref_travel_forward(e, dist_threshold, tz) - ct_ref_df = ref_ct_general(e, b_merge_midpoint, dist_threshold, tz) - tf_stats = { - "coverage_density": coverage_density(tf_ref_df, e), - "coverage_time": coverage_time(tf_ref_df, e), - "coverage_max_gap": coverage_max_gap(tf_ref_df, e) - } - ct_stats = { - "coverage_density": coverage_density(ct_ref_df, e), - "coverage_time": coverage_time(ct_ref_df, e), - "coverage_max_gap": coverage_max_gap(ct_ref_df, e) - } + try: + tf_ref_df = ref_travel_forward(e, dist_threshold, tz, include_ends) + tf_stats = { + "coverage_density": coverage_density(tf_ref_df, e), + "coverage_time": coverage_time(tf_ref_df, e), + "coverage_max_gap": coverage_max_gap(tf_ref_df, e) + } + print("Validated tf, stats are %s" % tf_stats) + except Exception as exp_tf: + print("Found exception %s while computing tf_ref_df, skipping" % exp_tf) + traceback.print_exc() + tf_stats = None + + try: + ct_ref_df = ref_ct_general(e, b_merge_midpoint, dist_threshold, tz, include_ends) + ct_stats = { + "coverage_density": coverage_density(ct_ref_df, e), + "coverage_time": coverage_time(ct_ref_df, e), + "coverage_max_gap": coverage_max_gap(ct_ref_df, e) + } + print("Validated ct, stats are %s" % ct_stats) + except Exception as exp_ct: + print("Found exception %s while computing ct_ref_df, skipping" % exp_ct) + traceback.print_exc() + ct_stats = None + + if tf_stats is None and ct_stats is None: + assert False, "Neither method works!" + elif tf_stats is None and ct_stats is not None: + return ("ct", ct_ref_df) + elif tf_stats is not None and ct_stats is None: + return ("tf", tf_ref_df) + + assert tf_stats is not None and ct_stats is not None + if tf_stats["coverage_max_gap"] > ct_stats["coverage_max_gap"] and\ tf_stats["coverage_density"] < ct_stats["coverage_density"]: print("max_gap for tf = %s > ct = %s and density %s < %s, returning ct len = %d not tf len = %d" % diff --git a/trajectory_evaluation_spatio_temporal.ipynb b/trajectory_evaluation_spatio_temporal.ipynb index 5e02d597..13ca634f 100644 --- a/trajectory_evaluation_spatio_temporal.ipynb +++ b/trajectory_evaluation_spatio_temporal.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -27,9 +27,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kshankar/miniconda-4.8.3/envs/emissioneval/lib/python3.8/site-packages/pyproj/crs.py:77: FutureWarning: '+init=:' syntax is deprecated. ':' is the preferred initialization method.\n", + " return _prepare_from_string(\" \".join(pjargs))\n", + "/Users/kshankar/miniconda-4.8.3/envs/emissioneval/lib/python3.8/site-packages/pyproj/crs.py:77: FutureWarning: '+init=:' syntax is deprecated. ':' is the preferred initialization method.\n", + " return _prepare_from_string(\" \".join(pjargs))\n" + ] + } + ], "source": [ "# Metrics helpers\n", "import emeval.metrics.dist_calculations as emd\n", @@ -38,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -51,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -62,9 +73,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After iterating over 1 entries, entry found\n", + "Found spec = Round trip car and bike trip in the South Bay\n", + "Evaluation ran from 2019-07-20T00:00:00-07:00 -> 2020-04-29T17:00:00-07:00\n", + "After iterating over 1 entries, entry found\n", + "Found spec = Multi-modal car scooter BREX trip to San Jose\n", + "Evaluation ran from 2019-07-20T00:00:00-07:00 -> 2020-04-29T17:00:00-07:00\n", + "After iterating over 1 entries, entry found\n", + "Found spec = Multimodal multi-train, multi-bus, ebike trip to UC Berkeley\n", + "Evaluation ran from 2019-07-16T00:00:00-07:00 -> 2020-04-30T00:00:00-07:00\n" + ] + } + ], "source": [ "DATASTORE_LOC = \"bin/data/\"\n", "AUTHOR_EMAIL = \"shankari@eecs.berkeley.edu\"\n", @@ -75,9 +102,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import importlib\n", "importlib.reload(emr)" @@ -85,27 +123,3574 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------- About to read transitions from server --------------------\n", + "Reading data for android phones\n", + "Loading transitions for phone ucb-sdb-android-1\n", + "Loading transitions for phone ucb-sdb-android-2\n", + "Loading transitions for phone ucb-sdb-android-3\n", + "Loading transitions for phone ucb-sdb-android-4\n", + "Reading data for ios phones\n", + "Loading transitions for phone ucb-sdb-ios-1\n", + "Loading transitions for phone ucb-sdb-ios-2\n", + "Loading transitions for phone ucb-sdb-ios-3\n", + "Loading transitions for phone ucb-sdb-ios-4\n", + "-------------------- About to fill calibration ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1114 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 88 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing data for android phones\n", + "---------- ucb-sdb-android-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-1\n", + "---------- ucb-sdb-android-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-2\n", + "---------- ucb-sdb-android-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-3\n", + "---------- ucb-sdb-android-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "---------- ucb-sdb-ios-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-1\n", + "---------- ucb-sdb-ios-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-2\n", + "---------- ucb-sdb-ios-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-3\n", + "---------- ucb-sdb-ios-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-4\n", + "-------------------- About to fill evaluation ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1114 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 88 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 86 total -> 12 calibration transitions \n", + "Processing data for android phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564274314.703, 1564274314.707)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564282393.38, 1564282393.429)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564334117.292, 1564334117.295)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564343045.844, 1564343045.9)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564351305.631, 1564351305.633)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564360156.337, 1564360156.392)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565571034.928, 1565571034.93)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565579009.94, 1565579009.992)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567271203.762, 1567271203.764)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567279427.902, 1567279427.961)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567288614.637, 1567288614.642)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567297340.873, 1567297340.931)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 6 ranges for phone ucb-sdb-android-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564274304.964, 1564274304.968)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564282402.797, 1564282402.886)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564334125.757, 1564334125.764)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564343114.995, 1564343115.071)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564351292.699, 1564351292.705)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564360115.721, 1564360115.769)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565571044.18, 1565571044.182)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565578986.721, 1565578986.772)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1567271214.9, 1567271214.906)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1567279427.902, 1567279427.961)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1567288623.389, 1567288623.391)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1567297357.143, 1567297357.197)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 6 ranges for phone ucb-sdb-android-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564274288.317, 1564274288.319)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564282423.016, 1564282423.072)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564334097.326, 1564334097.33)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564343025.354, 1564343025.406)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564351277.476, 1564351277.477)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564360134.114, 1564360134.181)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565571018.558, 1565571018.59)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565578932.067, 1565578932.123)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1567271178.819, 1567271178.821)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1567279372.856, 1567279372.922)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1567288638.5, 1567288638.503)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1567297394.787, 1567297394.837)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'HAHFDC v/s HAMFDC:HAMFDC'}\n", + "Found 6 ranges for phone ucb-sdb-android-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564274294.641, 1564274294.643)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564282430.409, 1564282430.466)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564334109.335, 1564334109.339)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564343036.806, 1564343036.862)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564351263.927, 1564351263.931)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564360071.356, 1564360071.417)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565571031.116, 1565571031.117)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565578943.815, 1565578943.865)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567271197.464, 1567271197.466)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567279384.632, 1567279384.692)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567288647.368, 1567288647.374)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567297374.866, 1567297374.928)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 6 ranges for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564274247.027, 1564274247.275763)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564282290.263, 1564282290.729272)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564333996.334, 1564333996.5363011)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564342974.992, 1564342975.472409)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564351245.906, 1564351246.07085)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564359996.562, 1564359997.0496612)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565570971.091, 1565570971.32563)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565578880.958, 1565578881.489321)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567271123.206, 1567271123.399004)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567279295.857, 1567279296.302381)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567288562.356, 1567288562.5305119)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1567297289.683, 1567297290.194202)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 6 ranges for phone ucb-sdb-ios-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564274252.329, 1564274252.429922)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564282305.17, 1564282305.5882301)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564334014.665, 1564334014.759484)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564342987.314, 1564342987.826695)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564351227.116, 1564351227.1936831)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564360024.097, 1564360024.574613)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565570980.374, 1565570980.468295)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565578894.413, 1565578894.831118)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1567271138.209, 1567271138.302989)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1567279315.612, 1567279316.048905)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1567288571.574, 1567288571.670926)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1567297301.414, 1567297301.8416538)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 6 ranges for phone ucb-sdb-ios-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564274265.117, 1564274265.212364)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564282322.101, 1564282322.549677)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564334083.878, 1564334084.0051398)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564342996.549, 1564342996.99437)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564351207.793, 1564351207.910284)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564360052.904, 1564360053.314023)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565570999.334, 1565570999.409437)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565578907.119, 1565578907.587743)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1567271152.177, 1567271152.31305)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1567279337.265, 1567279337.681006)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1567288581.602, 1567288581.6808891)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1567297315.554, 1567297316.01469)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'HAHFDC v/s HAMFDC:HAMFDC'}\n", + "Found 6 ranges for phone ucb-sdb-ios-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564274275.916, 1564274276.021558)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564282331.795, 1564282332.15351)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564334069.022, 1564334069.1049929)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564343007.324, 1564343007.721693)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564351193.165, 1564351193.2504249)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564360033.509, 1564360033.887364)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565570989.614, 1565570989.744656)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565578915.403, 1565578915.798939)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567271164.674, 1567271164.779111)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567279350.381, 1567279350.7691588)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567288593.275, 1567288593.3784451)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1567297325.117, 1567297325.508904)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 6 ranges for phone ucb-sdb-ios-4\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill evaluation trips --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Lengths (accuracy, power, eval) = (2, 2, 2)\n", + "keys (accuracy, power, eval) = (dict_keys(['android', 'ios']), dict_keys(['android', 'ios']), dict_keys(['android', 'ios']))\n", + "eval_phone_keys (android, ios) = (dict_keys(['ucb-sdb-android-2', 'ucb-sdb-android-3']), dict_keys(['ucb-sdb-ios-2', 'ucb-sdb-ios-3']))\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564274334.097, 1564274334.143985)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564275296.5, 1564275296.504297)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1564279157.404, 1564279157.435039)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1564280457.454, 1564280457.464819)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564334343.713, 1564334343.776588)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564335144.075, 1564335144.0807219)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1564339686.632, 1564339686.675345)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1564340984.813, 1564340984.8298311)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564351324.911, 1564351324.965219)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1564352210.52, 1564352210.532115)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1564356822.001, 1564356822.064345)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1564358080.307, 1564358080.320724)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1565571079.137, 1565571079.220633)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1565572029.677, 1565572029.679044)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1565575844.795, 1565575844.86444)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1565577104.678, 1565577104.679491)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1567271247.478, 1567271247.557744)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1567272188.472, 1567272188.473621)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1567276250.095, 1567276250.1663961)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1567277558.77, 1567277558.77193)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "('START_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1567288662.724, 1567288662.7980719)\n", + "('STOP_EVALUATION_TRIP', 'suburb_city_driving_weekend', 1567289688.795, 1567289688.798746)\n", + "('START_EVALUATION_TRIP', 'suburb_bicycling', 1567294205.224, 1567294205.301877)\n", + "('STOP_EVALUATION_TRIP', 'suburb_bicycling', 1567295493.717, 1567295493.719355)\n", + "All ranges are complete, nothing to change\n", + "{'suburb_bicycling', 'suburb_city_driving_weekend'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "-------------------- About to fill in evaluation sections --------------------\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564274334.164, 1564274334.1926432)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564274403.167, 1564274403.3032)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564274403.168, 1564274403.318182)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564275146.671, 1564275146.823849)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564275146.672, 1564275146.843096)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564275296.359, 1564275296.450234)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 69.1105568408966, , )\n", + "('suburb_city_driving_weekend_0', 743.5056669712067, , )\n", + "('walk_end_0', 149.6071379184723, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564279157.454, 1564279157.495898)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564279266.482, 1564279266.611826)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1564279266.482, 1564279266.626976)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1564280430.855, 1564280431.0447721)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564280430.858, 1564280431.060968)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564280457.294, 1564280457.402429)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 109.1159279346466, , )\n", + "('suburb_bicycling_0', 1164.4177961349487, , )\n", + "('walk_end_0', 26.341461181640625, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564334343.814, 1564334343.849936)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564334440.991, 1564334441.1367059)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564334440.991, 1564334441.1543741)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564335067.619, 1564335067.707838)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564335067.619, 1564335067.72556)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564335143.963, 1564335144.027879)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 97.28676986694336, , )\n", + "('suburb_city_driving_weekend_0', 626.553463935852, , )\n", + "('walk_end_0', 76.3023190498352, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564339686.694, 1564339686.740189)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564339729.446, 1564339729.558238)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1564339729.447, 1564339729.5745811)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1564340956.308, 1564340956.4001331)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564340956.309, 1564340956.420092)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564340984.676, 1564340984.770471)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 42.81804895401001, , )\n", + "('suburb_bicycling_0', 1226.8255519866943, , )\n", + "('walk_end_0', 28.35037899017334, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564351324.989, 1564351325.023067)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564351473.255, 1564351473.412651)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564351473.255, 1564351473.431247)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1564352106.152, 1564352106.261671)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564352106.154, 1564352106.274094)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564352210.414, 1564352210.4803581)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 148.38958406448364, , )\n", + "('suburb_city_driving_weekend_0', 632.8304240703583, , )\n", + "('walk_end_0', 104.20626401901245, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564356822.09, 1564356822.1187859)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564356889.402, 1564356889.523539)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1564356889.403, 1564356889.550396)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1564358050.089, 1564358050.176182)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564358050.09, 1564358050.1955462)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564358080.215, 1564358080.2698169)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 67.4047532081604, , )\n", + "('suburb_bicycling_0', 1160.6257860660553, , )\n", + "('walk_end_0', 30.074270725250244, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565571079.241, 1565571079.242693)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565571175.609, 1565571175.7620249)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1565571175.61, 1565571175.782531)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1565571953.681, 1565571953.7665071)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1565571953.682, 1565571953.78511)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1565572029.568, 1565572029.659311)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 96.51933193206787, , )\n", + "('suburb_city_driving_weekend_0', 777.9839761257172, , )\n", + "('walk_end_0', 75.87420105934143, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565575844.881, 1565575844.882667)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565575867.91, 1565575868.047845)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1565575867.911, 1565575868.070318)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1565577083.089, 1565577083.179348)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1565577083.089, 1565577083.196254)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1565577104.556, 1565577104.662489)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 23.165177822113037, , )\n", + "('suburb_bicycling_0', 1215.109030008316, , )\n", + "('walk_end_0', 21.466234922409058, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1567271247.575, 1567271247.576847)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1567271392.479, 1567271392.611938)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1567271392.48, 1567271392.6307611)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1567272089.491, 1567272089.573759)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1567272089.491, 1567272089.591776)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1567272188.343, 1567272188.458191)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 145.03509092330933, , )\n", + "('suburb_city_driving_weekend_0', 696.9429979324341, , )\n", + "('walk_end_0', 98.86641502380371, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1567276250.181, 1567276250.1824331)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1567276325.344, 1567276325.466161)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1567276325.345, 1567276325.4886708)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1567277505.849, 1567277505.958387)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1567277505.849, 1567277505.978064)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1567277558.647, 1567277558.7505531)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 75.2837278842926, , )\n", + "('suburb_bicycling_0', 1180.4697160720825, , )\n", + "('walk_end_0', 52.772489070892334, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1567288662.816, 1567288662.817456)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1567288779.265, 1567288779.377613)\n", + "('START_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1567288779.266, 1567288779.394477)\n", + "('STOP_EVALUATION_SECTION', 'suburb_city_driving_weekend', 1567289562.833, 1567289562.940675)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1567289562.834, 1567289562.955183)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1567289688.68, 1567289688.778185)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_city_driving_weekend', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_city_driving_weekend_0\n", + "('walk_start_0', 116.56015706062317, , )\n", + "('suburb_city_driving_weekend_0', 783.5461981296539, , )\n", + "('walk_end_0', 125.82300186157227, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1567294205.316, 1567294205.318416)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1567294272.897, 1567294273.010757)\n", + "('START_EVALUATION_SECTION', 'suburb_bicycling', 1567294272.898, 1567294273.024204)\n", + "('STOP_EVALUATION_SECTION', 'suburb_bicycling', 1567295465.83, 1567295465.923053)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1567295465.831, 1567295465.9380589)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1567295493.602, 1567295493.7019649)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'suburb_bicycling', 'walk_start'}\n", + "ios: Found 3 sections for evaluation suburb_bicycling_0\n", + "('walk_start_0', 67.69234085083008, , )\n", + "('suburb_bicycling_0', 1192.8988490104675, , )\n", + "('walk_end_0', 27.763906002044678, , )\n", + "-------------------- About to copy trip and section ranges --------------------\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_0\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_1\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_2\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_3\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_4\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "Before copying found 1/2 phones with ground truth for experiment of size 6\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_5\n", + "After copying found 2/2 phones with ground truth for experiment of size 6\n", + "dict_keys(['ucb-sdb-android-1', 'ucb-sdb-android-2', 'ucb-sdb-android-3', 'ucb-sdb-android-4'])\n", + "Found accuracy control, skipping copy\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "dict_keys(['ucb-sdb-ios-1', 'ucb-sdb-ios-2', 'ucb-sdb-ios-3', 'ucb-sdb-ios-4'])\n", + "Found accuracy control, skipping copy\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 962.3603119850159, , )\n", + "('suburb_bicycling_0', 1300.0297799110413, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 800.3041338920593, , )\n", + "('suburb_bicycling_0', 1298.1544861793518, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 885.5668959617615, , )\n", + "('suburb_bicycling_0', 1258.2563791275024, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 950.4584109783173, , )\n", + "('suburb_bicycling_0', 1259.8150510787964, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 940.915876865387, , )\n", + "('suburb_bicycling_0', 1308.605533838272, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('suburb_city_driving_weekend_0', 1026.0006742477417, , )\n", + "('suburb_bicycling_0', 1288.4174780845642, , )\n", + "-------------------- About to fill in battery information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill in location information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing data for ios phones\n", + "-------------------- About to fill in motion activity information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "Processing data for ios phones\n", + "-------------------- About to fill in transition information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "Processing data for ios phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "-------------------- About to select trip specific ranges --------------------\n", + "Filling label ucb-sdb-android-1 for OS android\n", + "Filling label ucb-sdb-android-2 for OS android\n", + "Filling label ucb-sdb-android-3 for OS android\n", + "Filling label ucb-sdb-android-4 for OS android\n", + "Filling label ucb-sdb-ios-1 for OS ios\n", + "Filling label ucb-sdb-ios-2 for OS ios\n", + "Filling label ucb-sdb-ios-3 for OS ios\n", + "Filling label ucb-sdb-ios-4 for OS ios\n", + "-------------------- Done populating information from server --------------------\n" + ] + } + ], "source": [ "pv_la = eipv.PhoneView(sd_la)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------- About to read transitions from server --------------------\n", + "Reading data for android phones\n", + "Loading transitions for phone ucb-sdb-android-1\n", + "Loading transitions for phone ucb-sdb-android-2\n", + "Loading transitions for phone ucb-sdb-android-3\n", + "Loading transitions for phone ucb-sdb-android-4\n", + "Reading data for ios phones\n", + "Loading transitions for phone ucb-sdb-ios-1\n", + "Loading transitions for phone ucb-sdb-ios-2\n", + "Loading transitions for phone ucb-sdb-ios-3\n", + "Loading transitions for phone ucb-sdb-ios-4\n", + "-------------------- About to fill calibration ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1114 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 88 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 86 total -> 0 calibration transitions \n", + "Processing data for android phones\n", + "---------- ucb-sdb-android-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-1\n", + "---------- ucb-sdb-android-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-2\n", + "---------- ucb-sdb-android-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-3\n", + "---------- ucb-sdb-android-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "---------- ucb-sdb-ios-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-1\n", + "---------- ucb-sdb-ios-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-2\n", + "---------- ucb-sdb-ios-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-3\n", + "---------- ucb-sdb-ios-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-4\n", + "-------------------- About to fill evaluation ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1114 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 88 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 86 total -> 14 calibration transitions \n", + "Processing data for android phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563821438.276, 1563821438.28)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563846248.068, 1563846248.119)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563896743.138, 1563896743.139)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563917431.4410002, 1563917431.489)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564244087.214, 1564244087.215)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564263878.522, 1564263878.59)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565026006.791, 1565026006.793)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565050217.336, 1565050217.383)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565116007.627, 1565116007.631)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565140213.782, 1565140213.84)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565194658.166, 1565194658.17)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565217816.716, 1565217816.765)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1583349554.574, 1583349554.576)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1583372563.541, 1583372563.606)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 7 ranges for phone ucb-sdb-android-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1563821451.359, 1563821451.365)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1563846294.729, 1563846294.773)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1563896762.637, 1563896762.638)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1563917454.9840002, 1563917455.038)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564244097.157, 1564244097.158)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564263896.952, 1564263897.006)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565026017.466, 1565026017.472)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565050237.326, 1565050237.388)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565116024.099, 1565116024.103)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565140246.34, 1565140246.406)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565194646.72, 1565194646.726)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1565217853.294, 1565217853.529)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1583349567.43, 1583349567.431)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1583372601.824, 1583372601.881)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'MAMFDC v/s HAMFDC:MAMFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 7 ranges for phone ucb-sdb-android-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1563821466.017, 1563821466.019)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1563846343.288, 1563846343.356)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1563896782.97, 1563896782.972)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1563917505.091, 1563917505.1820002)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564244108.505, 1564244108.508)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564263930.867, 1564263930.928)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565026028.415, 1565026028.417)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565050275.541, 1565050275.592)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565116061.46, 1565116061.463)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565140296.017, 1565140296.074)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565194636.417, 1565194636.421)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1565217890.176, 1565217890.224)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1583349576.563, 1583349576.565)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1583372653.463, 1583372653.522)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'MAMFDC v/s HAMFDC:HAMFDC', 'HAHFDC v/s HAMFDC:HAMFDC'}\n", + "Found 7 ranges for phone ucb-sdb-android-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563821473.884, 1563821473.886)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563846366.351, 1563846366.416)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563896793.681, 1563896793.685)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563917534.25, 1563917534.3000002)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564244116.133, 1564244116.137)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564263954.141, 1564263954.233)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565026039.441, 1565026039.443)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565050297.435, 1565050297.499)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565116073.831, 1565116073.834)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565140325.749, 1565140325.815)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565194628.574, 1565194628.578)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565217931.162, 1565217931.226)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1583349589.4, 1583349589.403)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1583372691.902, 1583372691.965)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 7 ranges for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563821361.667, 1563821361.9869251)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563846149.683, 1563846150.16837)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563896677.989, 1563896678.241638)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563917566.035, 1563917566.5567281)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564244009.482, 1564244009.635462)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564263803.96, 1564263804.405366)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565025962.886, 1565025963.03954)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565050123.902, 1565050124.3998442)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565115912.452, 1565115912.62001)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565140051.668, 1565140052.158344)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565194748.742, 1565194748.934565)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1565217732.48, 1565217732.972708)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1583349504.524, 1583349504.692752)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1583372462.124, 1583372462.538796)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 7 ranges for phone ucb-sdb-ios-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1563821384.042, 1563821384.124948)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1563846170.128, 1563846170.6134238)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1563896695.361, 1563896695.465279)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1563917643.812, 1563917644.283163)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564244028.252, 1564244028.345111)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564263832.942, 1564263833.387823)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565025979.227, 1565025979.312614)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565050142.928, 1565050143.419801)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565115934.82, 1565115934.904733)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565140079.688, 1565140080.093207)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565194737.837, 1565194737.9074302)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1565217755.574, 1565217756.026194)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1583349519.859, 1583349519.980233)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1583372484.251, 1583372484.715636)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'MAMFDC v/s MAHFDC:MAMFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 7 ranges for phone ucb-sdb-ios-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1563821405.658, 1563821405.729749)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1563846186.56, 1563846186.997916)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1563896711.943, 1563896712.148884)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1563917670.325, 1563917670.784336)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564244052.15, 1564244052.238229)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564263855.541, 1564263855.954498)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565025989.841, 1565025989.940984)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565050161.585, 1565050162.005754)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565115954.526, 1565115954.616665)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565140342.348, 1565140342.774678)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565194722.345, 1565194722.424724)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1565217783.792, 1565217784.212751)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1583349532.033, 1583349532.106073)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1583372502.781, 1583372503.177521)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'MAMFDC v/s MAHFDC:MAHFDC', 'HAHFDC v/s HAMFDC:HAMFDC'}\n", + "Found 7 ranges for phone ucb-sdb-ios-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563821424.149, 1563821424.2870421)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563846220.99, 1563846221.430156)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563896726.108, 1563896726.293744)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563917689.529, 1563917689.911433)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564244069.123, 1564244069.2081819)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564263869.097, 1564263869.479578)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565025999.628, 1565025999.709025)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565050201.885, 1565050202.3005052)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565115979.61, 1565115979.7075438)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565140155.815, 1565140156.261787)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565194696.089, 1565194696.183675)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1565217805.313, 1565217805.7350268)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1583349541.352, 1583349541.440731)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1583372529.856, 1583372530.709937)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 7 ranges for phone ucb-sdb-ios-4\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill evaluation trips --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Lengths (accuracy, power, eval) = (2, 2, 2)\n", + "keys (accuracy, power, eval) = (dict_keys(['android', 'ios']), dict_keys(['android', 'ios']), dict_keys(['android', 'ios']))\n", + "eval_phone_keys (android, ios) = (dict_keys(['ucb-sdb-android-2', 'ucb-sdb-android-3']), dict_keys(['ucb-sdb-ios-2', 'ucb-sdb-ios-3']))\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_6\n", + "\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1563821490.454, 1563821490.509112)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1563823372.396, 1563823372.411165)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1563837063.339, 1563837063.391155)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1563842712.795, 1563842712.805215)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1563896809.293, 1563896809.3391)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1563898778.313, 1563898778.321992)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1563910899.716, 1563910899.755117)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1563915663.367, 1563915663.379727)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1564244129.756, 1564244129.8092852)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1564245644.12, 1564245644.135222)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1564257218.165, 1564257218.202683)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1564261860.997, 1564261861.00942)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1565026080.197, 1565026080.249002)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1565027779.142, 1565027779.148538)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565042553.796, 1565042553.864901)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565047154.386, 1565047154.399231)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1565116093.197, 1565116093.2607632)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1565117985.809, 1565117985.816486)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565131571.647, 1565131571.6941152)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565136626.443, 1565136626.4601789)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1565194760.749, 1565194760.832793)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1565196562.819, 1565196562.819)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565210416.666, 1565210416.767767)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1565214708.219, 1565214708.819)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "('START_EVALUATION_TRIP', 'freeway_driving_weekday', 1583349616.581, 1583349616.665268)\n", + "('STOP_EVALUATION_TRIP', 'freeway_driving_weekday', 1583351508.552, 1583351508.554702)\n", + "('START_EVALUATION_TRIP', 'bus trip with e-scooter access', 1583364868.374, 1583364868.447122)\n", + "('STOP_EVALUATION_TRIP', 'bus trip with e-scooter access', 1583370583.544, 1583370583.5469341)\n", + "All ranges are complete, nothing to change\n", + "{'bus trip with e-scooter access', 'freeway_driving_weekday'}\n", + "ios: Found 2 trips for evaluation fixed:ACCURACY_CONTROL_6\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "-------------------- About to fill in evaluation sections --------------------\n", + "('START_EVALUATION_SECTION', 'walk_start', 1563821490.536, 1563821490.568365)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1563821613.43, 1563821613.593749)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1563821613.43, 1563821613.614884)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1563823270.634, 1563823270.732588)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1563823270.634, 1563823270.7494102)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1563823372.283, 1563823372.3537679)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 123.02538394927979, , )\n", + "('freeway_driving_weekday_0', 1657.117704153061, , )\n", + "('walk_end_0', 101.60435771942139, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1563837063.411, 1563837063.449956)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1563837487.548, 1563837487.693046)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1563837487.549, 1563837487.7118921)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1563838694.221, 1563838694.340023)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1563838694.222, 1563838694.354672)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1563838948.7, 1563838948.814182)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1563838948.701, 1563838948.831892)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1563839700.401, 1563839700.555872)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1563839700.401, 1563839700.571171)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1563842059.791, 1563842060.055727)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1563842059.792, 1563842060.10108)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1563842712.684, 1563842712.756789)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 424.2430901527405, , )\n", + "('city_escooter_0', 1206.6281309127808, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 254.45951008796692, , )\n", + "('wait_for_city_bus_rapid_transit_0', 751.7239799499512, , )\n", + "('city_bus_rapid_transit_0', 2359.4845559597015, , )\n", + "('walk_back_from_bus_0', 652.655709028244, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1563896809.366, 1563896809.397591)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1563896895.939, 1563896896.124467)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1563896895.941, 1563896896.141485)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1563898609.239, 1563898609.361515)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1563898609.239, 1563898609.377841)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1563898778.139, 1563898778.269067)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 86.72687578201294, , )\n", + "('freeway_driving_weekday_0', 1713.2200300693512, , )\n", + "('walk_end_0', 168.89122605323792, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1563910899.773, 1563910899.814049)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1563911016.184, 1563911016.306354)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1563911016.184, 1563911016.3418798)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1563912202.182, 1563912202.348563)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1563912202.183, 1563912202.36362)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1563912274.763, 1563912274.8786678)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1563912274.764, 1563912274.901408)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1563912512.182, 1563912512.303266)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1563912512.183, 1563912512.318758)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1563915052.126, 1563915052.305852)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1563915052.127, 1563915052.324667)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1563915663.26, 1563915663.326861)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 116.4923050403595, , )\n", + "('city_escooter_0', 1186.0066831111908, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 72.51504778862, , )\n", + "('wait_for_city_bus_rapid_transit_0', 237.40185809135437, , )\n", + "('city_bus_rapid_transit_0', 2539.987093925476, , )\n", + "('walk_back_from_bus_0', 611.0021939277649, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564244129.831, 1564244129.8664951)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564244184.816, 1564244184.9815102)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1564244184.817, 1564244184.997719)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1564245614.013, 1564245614.178691)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564245614.013, 1564245614.1929631)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564245643.977, 1564245644.050511)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 55.11501502990723, , )\n", + "('freeway_driving_weekday_0', 1429.1809718608856, , )\n", + "('walk_end_0', 29.857547760009766, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1564257218.225, 1564257218.267362)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1564257311.794, 1564257311.928831)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1564257311.794, 1564257311.9492168)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1564258551.436, 1564258551.593719)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1564258551.437, 1564258551.611102)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1564258641.576, 1564258641.65911)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1564258641.577, 1564258641.674529)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1564259030.83, 1564259030.9701672)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1564259030.83, 1564259030.988997)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1564261268.871, 1564261268.970629)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1564261268.871, 1564261268.988503)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1564261860.893, 1564261860.9574342)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 93.66146898269653, , )\n", + "('city_escooter_0', 1239.6445021629333, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 90.04800796508789, , )\n", + "('wait_for_city_bus_rapid_transit_0', 389.2956380844116, , )\n", + "('city_bus_rapid_transit_0', 2237.9816319942474, , )\n", + "('walk_back_from_bus_0', 591.9689311981201, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565026080.273, 1565026080.3062959)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565026125.825, 1565026125.9911141)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1565026125.825, 1565026126.007808)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1565027744.735, 1565027744.871016)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1565027744.736, 1565027744.885445)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1565027778.948, 1565027779.040153)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 45.684818267822266, , )\n", + "('freeway_driving_weekday_0', 1618.8632080554962, , )\n", + "('walk_end_0', 34.15470790863037, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565042553.889, 1565042553.9210582)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565042612.027, 1565042612.198419)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1565042612.028, 1565042612.2229319)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1565043965.676, 1565043965.839017)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565043965.682, 1565043965.8569732)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565044035.122, 1565044035.215605)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565044035.122, 1565044035.23178)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565044462.807, 1565044463.004527)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565044462.807, 1565044463.0175738)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565046534.626, 1565046534.8845382)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1565046534.627, 1565046534.919526)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1565047154.27, 1565047154.3463578)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 58.277360916137695, , )\n", + "('city_escooter_0', 1353.6160850524902, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 69.35863184928894, , )\n", + "('wait_for_city_bus_rapid_transit_0', 427.7727470397949, , )\n", + "('city_bus_rapid_transit_0', 2071.86696434021, , )\n", + "('walk_back_from_bus_0', 619.4268317222595, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565116093.283, 1565116093.31989)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565116184.423, 1565116184.584146)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1565116184.423, 1565116184.600514)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1565117872.256, 1565117872.412663)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1565117872.257, 1565117872.4271522)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1565117985.601, 1565117985.767359)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 91.2642560005188, , )\n", + "('freeway_driving_weekday_0', 1687.8121490478516, , )\n", + "('walk_end_0', 113.34020686149597, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565131571.72, 1565131571.756772)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565131719.139, 1565131719.29528)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1565131719.139, 1565131719.31602)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1565132979.221, 1565132979.391594)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565132979.222, 1565132979.410962)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565133027.086, 1565133027.175887)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565133027.087, 1565133027.1911669)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565133539.461, 1565133539.5930529)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565133539.462, 1565133539.608464)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565136001.172, 1565136001.450815)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1565136001.172, 1565136001.470848)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1565136626.312, 1565136626.4069738)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 147.538507938385, , )\n", + "('city_escooter_0', 1260.0755739212036, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 47.76492500305176, , )\n", + "('wait_for_city_bus_rapid_transit_0', 512.4018859863281, , )\n", + "('city_bus_rapid_transit_0', 2461.842350959778, , )\n", + "('walk_back_from_bus_0', 624.9361257553101, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565194760.847, 1565194760.848346)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565194814.125, 1565194814.25775)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1565194814.126, 1565194814.273975)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1565196417.444, 1565196417.6778622)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1565196417.445, 1565196417.694921)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1565196562.296, 1565196562.411165)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 53.409404039382935, , )\n", + "('freeway_driving_weekday_0', 1603.403887271881, , )\n", + "('walk_end_0', 144.71624398231506, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1565210416.787, 1565210416.789362)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1565210468.356, 1565210468.528394)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1565210468.357, 1565210468.54451)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1565211705.234, 1565211705.4053168)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565211705.235, 1565211705.4192839)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1565211770.517, 1565211770.6105618)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565211770.517, 1565211770.626648)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1565211919.815, 1565211919.974773)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565211919.816, 1565211919.995462)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1565214089.557, 1565214089.656897)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1565214089.557, 1565214089.674429)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1565214708.119, 1565214708.719)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 51.73903203010559, , )\n", + "('city_escooter_0', 1236.860806941986, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 65.19127798080444, , )\n", + "('wait_for_city_bus_rapid_transit_0', 149.3481249809265, , )\n", + "('city_bus_rapid_transit_0', 2169.6614351272583, , )\n", + "('walk_back_from_bus_0', 619.0445711612701, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1583349616.677, 1583349616.678327)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1583349673.646, 1583349673.7534919)\n", + "('START_EVALUATION_SECTION', 'freeway_driving_weekday', 1583349673.647, 1583349673.7669039)\n", + "('STOP_EVALUATION_SECTION', 'freeway_driving_weekday', 1583351356.08, 1583351356.2288508)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1583351356.082, 1583351356.243826)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1583351508.422, 1583351508.5356178)\n", + "All ranges are complete, nothing to change\n", + "{'walk_end', 'walk_start', 'freeway_driving_weekday'}\n", + "ios: Found 3 sections for evaluation freeway_driving_weekday_0\n", + "('walk_start_0', 57.075164794921875, , )\n", + "('freeway_driving_weekday_0', 1682.461946964264, , )\n", + "('walk_end_0', 152.29179191589355, , )\n", + "('START_EVALUATION_SECTION', 'walk_start', 1583364868.47, 1583364868.477988)\n", + "('STOP_EVALUATION_SECTION', 'walk_start', 1583365148.905, 1583365149.046914)\n", + "('START_EVALUATION_SECTION', 'city_escooter', 1583365148.906, 1583365149.064424)\n", + "('STOP_EVALUATION_SECTION', 'city_escooter', 1583366582.17, 1583366582.268704)\n", + "('START_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1583366582.17, 1583366582.283499)\n", + "('STOP_EVALUATION_SECTION', 'tt_city_escooter_city_bus_rapid_transit', 1583366661.123, 1583366661.195407)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1583366661.124, 1583366661.207617)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_rapid_transit', 1583367516.226, 1583367516.3339)\n", + "('START_EVALUATION_SECTION', 'city_bus_rapid_transit', 1583367516.227, 1583367516.352926)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_rapid_transit', 1583369987.483, 1583369987.6035771)\n", + "('START_EVALUATION_SECTION', 'walk_back_from_bus', 1583369987.483, 1583369987.6175718)\n", + "('STOP_EVALUATION_SECTION', 'walk_back_from_bus', 1583370583.426, 1583370583.5258222)\n", + "All ranges are complete, nothing to change\n", + "{'city_bus_rapid_transit', 'walk_start', 'city_escooter', 'walk_back_from_bus', 'wait_for_city_bus_rapid_transit', 'tt_city_escooter_city_bus_rapid_transit'}\n", + "ios: Found 6 sections for evaluation bus trip with e-scooter access_0\n", + "('walk_start_0', 280.5689260959625, , )\n", + "('city_escooter_0', 1433.2042798995972, , )\n", + "('tt_city_escooter_city_bus_rapid_transit_0', 78.91190791130066, , )\n", + "('wait_for_city_bus_rapid_transit_0', 855.1262829303741, , )\n", + "('city_bus_rapid_transit_0', 2471.2506511211395, , )\n", + "('walk_back_from_bus_0', 595.9082503318787, , )\n", + "-------------------- About to copy trip and section ranges --------------------\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_0\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_1\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_2\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_3\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_4\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_5\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "Before copying found 1/2 phones with ground truth for experiment of size 7\n", + "Uncopied ground truth of length 2 on found on phone ios\n", + "Copying 2 ranges to android, fixed:ACCURACY_CONTROL_6\n", + "After copying found 2/2 phones with ground truth for experiment of size 7\n", + "dict_keys(['ucb-sdb-android-1', 'ucb-sdb-android-2', 'ucb-sdb-android-3', 'ucb-sdb-android-4'])\n", + "Found accuracy control, skipping copy\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "dict_keys(['ucb-sdb-ios-1', 'ucb-sdb-ios-2', 'ucb-sdb-ios-3', 'ucb-sdb-ios-4'])\n", + "Found accuracy control, skipping copy\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1881.902053117752, , )\n", + "('bus trip with e-scooter access_0', 5649.414059877396, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1968.982892036438, , )\n", + "('bus trip with e-scooter access_0', 4763.624609947205, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1514.325936794281, , )\n", + "('bus trip with e-scooter access_0', 4642.806736946106, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1698.8995361328125, , )\n", + "('bus trip with e-scooter access_0', 4600.534329891205, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1892.5557227134705, , )\n", + "('bus trip with e-scooter access_0', 5054.766063690186, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1801.9862070083618, , )\n", + "('bus trip with e-scooter access_0', 4292.051233053207, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 2, before = 0\n", + "('freeway_driving_weekday_0', 1891.8894340991974, , )\n", + "('bus trip with e-scooter access_0', 5715.099812030792, , )\n", + "-------------------- About to fill in battery information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill in location information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing data for ios phones\n", + "-------------------- About to fill in motion activity information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "Processing data for ios phones\n", + "-------------------- About to fill in transition information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "Processing data for ios phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "-------------------- About to select trip specific ranges --------------------\n", + "Filling label ucb-sdb-android-1 for OS android\n", + "Filling label ucb-sdb-android-2 for OS android\n", + "Filling label ucb-sdb-android-3 for OS android\n", + "Filling label ucb-sdb-android-4 for OS android\n", + "Filling label ucb-sdb-ios-1 for OS ios\n", + "Filling label ucb-sdb-ios-2 for OS ios\n", + "Filling label ucb-sdb-ios-3 for OS ios\n", + "Filling label ucb-sdb-ios-4 for OS ios\n", + "-------------------- Done populating information from server --------------------\n" + ] + } + ], "source": [ "pv_sj = eipv.PhoneView(sd_sj)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------- About to read transitions from server --------------------\n", + "Reading data for android phones\n", + "Loading transitions for phone ucb-sdb-android-1\n", + "Loading transitions for phone ucb-sdb-android-2\n", + "Loading transitions for phone ucb-sdb-android-3\n", + "Loading transitions for phone ucb-sdb-android-4\n", + "Reading data for ios phones\n", + "Loading transitions for phone ucb-sdb-ios-1\n", + "Loading transitions for phone ucb-sdb-ios-2\n", + "Loading transitions for phone ucb-sdb-ios-3\n", + "Loading transitions for phone ucb-sdb-ios-4\n", + "-------------------- About to fill calibration ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 102 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 90 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 90 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 90 total -> 0 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1156 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 92 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 90 total -> 0 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 90 total -> 0 calibration transitions \n", + "Processing data for android phones\n", + "---------- ucb-sdb-android-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-1\n", + "---------- ucb-sdb-android-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-2\n", + "---------- ucb-sdb-android-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-3\n", + "---------- ucb-sdb-android-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "---------- ucb-sdb-ios-1\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-1\n", + "---------- ucb-sdb-ios-2\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-2\n", + "---------- ucb-sdb-ios-3\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-3\n", + "---------- ucb-sdb-ios-4\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "Found 0 ranges of duration [] for phone ucb-sdb-ios-4\n", + "-------------------- About to fill evaluation ranges --------------------\n", + "Processing data for android phones\n", + "Processing transitions for phone ucb-sdb-android-1\n", + "Filtered 102 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-2\n", + "Filtered 90 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-3\n", + "Filtered 90 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-android-4\n", + "Filtered 90 total -> 24 calibration transitions \n", + "Processing data for ios phones\n", + "Processing transitions for phone ucb-sdb-ios-1\n", + "Filtered 1156 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-2\n", + "Filtered 92 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-3\n", + "Filtered 90 total -> 24 calibration transitions \n", + "Processing transitions for phone ucb-sdb-ios-4\n", + "Filtered 90 total -> 24 calibration transitions \n", + "Processing data for android phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563979674.374, 1563979674.375)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564026016.505, 1564026016.571)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564067115.274, 1564067115.279)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564111993.024, 1564111993.08)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564153794.975, 1564153794.979)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564198662.813, 1564198662.867)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568128283.482, 1568128283.484)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568171423.252, 1568171423.307)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568214664.755, 1568214664.759)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568259367.163, 1568259367.23)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568732827.097, 1568732827.102)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568775432.276, 1568775432.33)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574179702.033, 1574179702.038)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574222116.282, 1574222116.342)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574266175.2, 1574266175.204)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574308930.047, 1574308930.098)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575389661.907, 1575389661.911)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575432800.647, 1575432800.71)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575907983.674, 1575907983.68)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575951082.011, 1575951082.073)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1576080703.085, 1576080703.089)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1576123735.18, 1576123735.249)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1581005619.143, 1581005619.145)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1581048109.519, 1581048109.57)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 12 ranges for phone ucb-sdb-android-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1563979684.203, 1563979684.205)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564026016.505, 1564026016.571)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564067129.188, 1564067129.194)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564111993.024, 1564111993.08)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564153809.878, 1564153809.884)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1564198662.813, 1564198662.867)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568128292.809, 1568128292.816)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568171423.252, 1568171423.307)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568214683.657, 1568214683.663)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568259367.163, 1568259367.23)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568732838.858, 1568732838.865)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1568775451.914, 1568775451.963)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1574179715.967, 1574179715.973)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1574222160.031, 1574222160.107)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1574266189.537, 1574266189.544)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1574308980.198, 1574308980.276)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1575389672.061, 1575389672.067)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1575432838.838, 1575432838.904)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1575908004.682, 1575908004.688)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1575951121.68, 1575951121.764)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1576080718.009, 1576080718.014)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1576123773.414, 1576123773.479)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1581005630.298, 1581005630.304)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1581048155.038, 1581048155.096)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'MAMFDC v/s MAHFDC:MAMFDC', 'MAMFDC v/s HAMFDC:MAMFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 12 ranges for phone ucb-sdb-android-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1563979700.65, 1563979700.651)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564026069.763, 1564026069.823)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564067142.569, 1564067142.572)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564112040.859, 1564112040.915)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564153836.577, 1564153836.582)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1564198700.545, 1564198700.606)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568128304.269, 1568128304.271)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568171480.369, 1568171480.428)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568214696.728, 1568214696.732)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568259402.325, 1568259402.365)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568732848.137, 1568732848.143)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1568775473.285, 1568775473.326)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1574179731.577, 1574179731.582)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1574222201.895, 1574222201.96)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1574266203.641, 1574266203.645)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1574309018.246, 1574309018.303)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1575389683.887, 1575389683.893)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1575432884.019, 1575432884.07)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1575908019.015, 1575908019.022)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1575951162.496, 1575951162.555)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1576080729.571, 1576080729.576)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1576123800.484, 1576123800.55)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1581005657.006, 1581005657.01)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1581048193.116, 1581048193.167)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'MAMFDC v/s HAMFDC:HAMFDC', 'HAHFDC v/s HAMFDC:HAMFDC', 'MAMFDC v/s MAHFDC:MAHFDC'}\n", + "Found 12 ranges for phone ucb-sdb-android-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563979710.36, 1563979710.362)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564026103.147, 1564026103.196)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564067151.704, 1564067151.709)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564112067.788, 1564112067.839)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564153847.546, 1564153847.551)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564198714.522, 1564198714.587)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568128311.563, 1568128311.564)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568171494.557, 1568171494.623)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568214707.906, 1568214707.909)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568259422.394, 1568259422.461)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568732860.063, 1568732860.068)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568775489.246, 1568775489.32)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574179740.397, 1574179740.404)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574222257.906, 1574222257.964)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574266220.844, 1574266220.847)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574309058.265, 1574309058.326)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575389700.874, 1575389700.879)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575432906.927, 1575432906.988)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575908031.697, 1575908031.703)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575951191.655, 1575951191.725)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1576080739.918, 1576080739.922)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1576123862.988, 1576123863.143)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1581005670.948, 1581005670.953)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1581048244.324, 1581048244.482)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 12 ranges for phone ucb-sdb-android-4\n", + "Processing data for ios phones\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1563979588.94, 1563979589.122448)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564026134.307, 1564026134.814043)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564067052.957, 1564067053.13516)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564111856.514, 1564111857.01444)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564153724.618, 1564153724.7851748)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1564198472.771, 1564198473.246904)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568128100.199, 1568128110.2934499)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568171299.767, 1568171300.1921492)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568214607.997, 1568214608.131744)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568259227.259, 1568259227.709927)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568732759.108, 1568732759.263176)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1568775346.49, 1568775346.953655)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574179616.171, 1574179616.317733)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574222015.448, 1574222015.899678)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574266122.972, 1574266123.1190748)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1574308834.229, 1574308834.6361)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575389590.964, 1575389591.148025)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575432723.501, 1575432723.9385571)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575907915.923, 1575907916.0966)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1575950995.047, 1575950995.533109)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1576080644.914, 1576080645.071576)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1576123648.228, 1576123648.681663)\n", + "('START_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1581005531.626, 1581005531.773211)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:ACCURACY_CONTROL', 1581047994.663, 1581047995.107096)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:ACCURACY_CONTROL'}\n", + "Found 12 ranges for phone ucb-sdb-ios-1\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1563979628.541, 1563979628.6823301)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564026158.454, 1564026158.946105)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564067067.124, 1564067067.1988769)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564111964.102, 1564111964.549928)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564153741.12, 1564153741.210318)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:HAHFDC', 1564198491.071, 1564198491.704329)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568128234.199, 1568128234.2934499)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568171405.862, 1568171406.342128)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568214623.685, 1568214623.776147)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568259319.961, 1568259320.4247599)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568732781.171, 1568732781.243727)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAHFDC', 1568775364.893, 1568775365.402838)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1574179649.114, 1574179649.306484)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1574222045.293, 1574222045.691361)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1574266135.669, 1574266135.737793)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1574308862.073, 1574308862.4586558)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1575389605.59, 1575389605.676571)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAMFDC', 1575432753.443, 1575432753.887481)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1575907932.674, 1575907932.765305)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1575951019.853, 1575951020.2980871)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1576080658.603, 1576080658.703484)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1576123669.97, 1576123670.400296)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1581005550.981, 1581005551.087857)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:MAMFDC', 1581048034.106, 1581048034.540369)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:HAHFDC', 'MAMFDC v/s MAHFDC:MAMFDC', 'MAMFDC v/s HAMFDC:MAMFDC', 'HAHFDC v/s HAMFDC:HAHFDC'}\n", + "Found 12 ranges for phone ucb-sdb-ios-2\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1563979652.346, 1563979652.472508)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564026184.423, 1564026184.899987)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564067081.832, 1564067081.9459162)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564111930.941, 1564111931.4124122)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564153753.964, 1564153754.09529)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s MAHFDC:MAHFDC', 1564198601.517, 1564198601.973415)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568128260.259, 1568128260.3507972)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568171371.648, 1568171372.046767)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568214638.318, 1568214638.402174)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568259290.627, 1568259291.060399)\n", + "('START_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568732800.428, 1568732800.530198)\n", + "('STOP_EVALUATION_PERIOD', 'HAHFDC v/s HAMFDC:HAMFDC', 1568775397.507, 1568775397.909452)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1574179671.601, 1574179671.75875)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1574222077.909, 1574222078.319065)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1574266150.188, 1574266150.26058)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1574308889.453, 1574308889.8706431)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1575389620.726, 1575389620.8166099)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s MAHFDC:MAHFDC', 1575432771.251, 1575432771.673568)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1575907949.333, 1575907949.43006)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1575951040.641, 1575951041.011366)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1576080673.822, 1576080673.921502)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1576123692.161, 1576123692.549412)\n", + "('START_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1581005581.107, 1581005581.1834831)\n", + "('STOP_EVALUATION_PERIOD', 'MAMFDC v/s HAMFDC:HAMFDC', 1581048066.524, 1581048066.942445)\n", + "All ranges are complete, nothing to change\n", + "{'HAHFDC v/s MAHFDC:MAHFDC', 'MAMFDC v/s HAMFDC:HAMFDC', 'MAMFDC v/s MAHFDC:MAHFDC', 'HAHFDC v/s HAMFDC:HAMFDC'}\n", + "Found 12 ranges for phone ucb-sdb-ios-3\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1563979640.882, 1563979641.0170379)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564026206.707, 1564026207.1437001)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564067100.311, 1564067100.3999)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564111947.765, 1564111948.22327)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564153782.297, 1564153782.391041)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1564198563.679, 1564198564.1259341)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568128272.673, 1568128272.775363)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568171393.165, 1568171393.5412989)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568214652.708, 1568214652.77615)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568259349.726, 1568259350.099924)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568732813.894, 1568732813.98403)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1568775415.193, 1568775415.572669)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574179686.618, 1574179686.766109)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574222098.169, 1574222098.53771)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574266165.057, 1574266165.155801)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1574308913.816, 1574308914.195499)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575389637.901, 1575389637.998954)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575432787.798, 1575432788.184202)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575908051.372, 1575908051.454391)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1575951054.898, 1575951055.2406511)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1576080686.668, 1576080686.7746549)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1576123708.992, 1576123709.36397)\n", + "('START_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1581005599.699, 1581005599.791271)\n", + "('STOP_EVALUATION_PERIOD', 'fixed:POWER_CONTROL', 1581048093.802, 1581048094.196096)\n", + "All ranges are complete, nothing to change\n", + "{'fixed:POWER_CONTROL'}\n", + "Found 12 ranges for phone ucb-sdb-ios-4\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill evaluation trips --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Lengths (accuracy, power, eval) = (2, 2, 2)\n", + "keys (accuracy, power, eval) = (dict_keys(['android', 'ios']), dict_keys(['android', 'ios']), dict_keys(['android', 'ios']))\n", + "eval_phone_keys (android, ios) = (dict_keys(['ucb-sdb-android-2', 'ucb-sdb-android-3']), dict_keys(['ucb-sdb-ios-2', 'ucb-sdb-ios-3']))\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_6\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_7\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_8\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_9\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_10\n", + "\n", + "\n", + "All ranges are complete, nothing to change\n", + "set()\n", + "android: Found 0 trips for evaluation fixed:ACCURACY_CONTROL_11\n", + "\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1563979902.072, 1563979902.185629)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1563989197.685, 1563989197.702858)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1564002736.67, 1564002736.706653)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1564003534.79, 1564003534.7931042)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564011427.592, 1564011427.662981)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564023559.653, 1564023559.661789)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1564067188.159, 1564067188.267119)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1564075724.227, 1564075724.244487)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1564088895.166, 1564088895.215784)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1564089714.683, 1564089714.693573)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564097591.052, 1564097591.145783)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564109968.34, 1564109968.351553)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_1\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1564153874.742, 1564153874.820516)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1564162105.393, 1564162105.407298)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1564175793.475, 1564175793.511475)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1564176504.662, 1564176504.678987)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564182927.382, 1564182927.436353)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1564196388.126, 1564196388.141316)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_2\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568128359.304, 1568128359.439087)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568137039.787, 1568137039.789012)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1568147985.131, 1568147985.196231)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1568148713.608, 1568148713.609973)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568156969.985, 1568156970.1178)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568168558.862, 1568168558.863709)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_3\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568214737.442, 1568214737.541266)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568223465.749, 1568223465.7502651)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1568234793.686, 1568234793.7623649)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1568235522.084, 1568235522.086465)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568244359.403, 1568244359.496105)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568257066.808, 1568257066.810545)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_4\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568732881.609, 1568732881.759346)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1568741997.39, 1568741997.3921041)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1568753159.382, 1568753159.444274)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1568753916.403, 1568753916.4048119)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568761879.665, 1568761879.759616)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1568772840.639, 1568772840.649343)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_5\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1574179769.014, 1574179769.176817)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1574188370.449, 1574188370.450871)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1574199058.861, 1574199058.939198)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1574199814.33, 1574199814.331953)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1574208747.917, 1574208747.999223)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1574219738.492, 1574219738.499878)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_6\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1574266253.688, 1574266253.826874)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1574274678.15, 1574274678.152474)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1574286383.335, 1574286383.419753)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1574287165.241, 1574287165.2431211)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1574295435.535, 1574295435.6182032)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1574306492.009, 1574306492.010795)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_7\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1575389709.861, 1575389709.999146)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1575398091.289, 1575398091.291555)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1575411220.916, 1575411220.984645)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1575412027.488, 1575412027.489758)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1575418479.856, 1575418479.999867)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1575430485.348, 1575430485.349746)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_8\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1575908071.661, 1575908071.75604)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1575916404.082, 1575916404.083811)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1575928741.584, 1575928741.664712)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1575929509.917, 1575929509.919419)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1575936809.332, 1575936809.483522)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1575948199.122, 1575948199.123903)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_9\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1576080764.621, 1576080764.752437)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1576090424.993, 1576090424.995113)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1576102138.468, 1576102138.5671968)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1576102858.764, 1576102858.765902)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1576109913.556, 1576109913.636605)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1576120833.148, 1576120833.1499991)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_10\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "('START_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1581005686.316, 1581005686.468857)\n", + "('STOP_EVALUATION_TRIP', 'mtv_to_berkeley_sf_bart', 1581013808.721, 1581013808.723332)\n", + "('START_EVALUATION_TRIP', 'walk_urban_university', 1581023219.699, 1581023219.787174)\n", + "('STOP_EVALUATION_TRIP', 'walk_urban_university', 1581024049.283, 1581024049.2851791)\n", + "('START_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1581034644.694, 1581034644.789623)\n", + "('STOP_EVALUATION_TRIP', 'berkeley_to_mtv_SF_express_bus', 1581045370.668, 1581045370.669478)\n", + "All ranges are complete, nothing to change\n", + "{'mtv_to_berkeley_sf_bart', 'berkeley_to_mtv_SF_express_bus', 'walk_urban_university'}\n", + "ios: Found 3 trips for evaluation fixed:ACCURACY_CONTROL_11\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "-------------------- About to fill in evaluation sections --------------------\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1563979902.205, 1563979902.260114)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1563980934.67, 1563980934.763476)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1563980934.671, 1563980934.780724)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1563982148.697, 1563982148.848342)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1563982148.698, 1563982148.860445)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1563984650.62, 1563984650.761559)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1563984650.62, 1563984650.780916)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1563984825.011, 1563984825.011)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1563984825.022, 1563984825.022)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1563985155.01, 1563985155.011)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1563985155.02, 1563985155.021)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1563988430.771, 1563988430.908957)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1563988430.772, 1563988430.924944)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1563988713.787, 1563988713.883302)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1563988713.787, 1563988713.901051)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1563988716.577, 1563988716.643996)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1563988716.577, 1563988716.660172)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1563989114.807, 1563989114.900414)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1563989114.808, 1563989114.9193978)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1563989197.551, 1563989197.630923)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 1032.503361940384, , )\n", + "('wait_for_commuter_rail_aboveground_0', 1214.067617893219, , )\n", + "('commuter_rail_aboveground_0', 2501.901113986969, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 174.23008394241333, , )\n", + "('wait_for_subway_underground_0', 329.9889998435974, , )\n", + "('subway_underground_0', 3275.8879570961, , )\n", + "('walk_to_bus_0', 282.9583580493927, , )\n", + "('wait_for_city_bus_short_0', 2.7429449558258057, , )\n", + "('city_bus_short_0', 398.24024200439453, , )\n", + "('walk_end_0', 82.71152520179749, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1564002736.732, 1564002736.768461)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1564003534.681, 1564003534.739585)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 797.9711239337921, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1564011427.695, 1564011427.746717)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1564011714.476, 1564011714.618997)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564011714.477, 1564011714.6363091)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564012924.649, 1564012924.78658)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564012924.65, 1564012924.802222)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564013242.791, 1564013242.9099941)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1564013242.792, 1564013242.927007)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1564014033.252, 1564014033.389567)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1564014033.253, 1564014033.40662)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1564016387.875, 1564016387.877)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564016387.9, 1564016387.9)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564017012.56, 1564017012.630163)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564017012.561, 1564017012.6489391)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564017183.846, 1564017184.001481)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564017183.846, 1564017184.037243)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564017903.821, 1564017903.952633)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564017903.821, 1564017903.9669871)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564018116.39, 1564018116.5001988)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564018116.391, 1564018116.5166879)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564018366.458, 1564018366.613925)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564018366.459, 1564018366.62823)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564022441.126, 1564022441.259026)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564022441.126, 1564022441.275117)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564023559.496, 1564023559.601121)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 286.8722801208496, , )\n", + "('ebike_bikeshare_urban_long_0', 1210.1502709388733, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 318.1077721118927, , )\n", + "('wait_for_express_bus_0', 790.4625599384308, , )\n", + "('express_bus_0', 2354.4703800678253, , )\n", + "('walk_downtown_urban_canyon_0', 624.730162858963, , )\n", + "('wait_for_light_rail_below_above_ground_0', 171.35254192352295, , )\n", + "('light_rail_below_above_ground_0', 719.9153900146484, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 212.53321170806885, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 250.09723711013794, , )\n", + "('commuter_rail_with_tunnels_0', 4074.630795955658, , )\n", + "('inner_suburb_downtown_walk_0', 1118.3260040283203, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1564067188.288, 1564067188.346294)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1564068117.901, 1564068117.980966)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1564068117.901, 1564068117.998847)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1564068619.027, 1564068619.157057)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1564068619.027, 1564068619.181421)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1564070904.816, 1564070904.986106)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1564070904.817, 1564070905.00417)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1564071268.059, 1564071268.245504)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1564071268.06, 1564071268.2597919)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1564071559.91, 1564071560.0368419)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1564071559.911, 1564071560.053673)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1564074824.84, 1564074824.926834)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1564074824.841, 1564074824.940014)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1564075038.86, 1564075038.926701)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1564075038.861, 1564075038.945013)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1564075127.846, 1564075127.9485512)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1564075127.846, 1564075127.9729261)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1564075586.891, 1564075586.984802)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564075586.891, 1564075586.998524)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564075724.035, 1564075724.189588)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 929.634672164917, , )\n", + "('wait_for_commuter_rail_aboveground_0', 501.1582100391388, , )\n", + "('commuter_rail_aboveground_0', 2285.8046848773956, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 363.2413339614868, , )\n", + "('wait_for_subway_underground_0', 291.77705001831055, , )\n", + "('subway_underground_0', 3264.8731610774994, , )\n", + "('walk_to_bus_0', 213.98668718338013, , )\n", + "('wait_for_city_bus_short_0', 89.00353813171387, , )\n", + "('city_bus_short_0', 459.0118758678436, , )\n", + "('walk_end_0', 137.191064119339, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1564088895.233, 1564088895.27287)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1564089714.588, 1564089714.6430612)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 819.3701910972595, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1564097591.162, 1564097591.216469)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1564097792.238, 1564097792.373999)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564097792.238, 1564097792.3862739)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564098981.758, 1564098981.889492)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564098981.758, 1564098981.9045339)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564099143.408, 1564099143.5225492)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1564099143.408, 1564099143.5381908)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1564100498.72, 1564100498.945334)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1564100498.721, 1564100498.961628)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1564102888.507, 1564102888.591662)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564102888.507, 1564102888.610159)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564103494.874, 1564103494.967897)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564103494.875, 1564103494.982819)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564103548.185, 1564103548.300274)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564103548.185, 1564103548.319656)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564104305.542, 1564104305.70403)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564104305.543, 1564104305.72385)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564104469.606, 1564104469.733056)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564104469.606, 1564104469.7508678)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564104765.531, 1564104765.724967)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564104765.531, 1564104765.738415)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564108862.132, 1564108862.258852)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564108862.132, 1564108862.2746139)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564109968.217, 1564109968.298394)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 201.1575300693512, , )\n", + "('ebike_bikeshare_urban_long_0', 1189.5032181739807, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 161.61801528930664, , )\n", + "('wait_for_express_bus_0', 1355.4071431159973, , )\n", + "('express_bus_0', 2389.630033969879, , )\n", + "('walk_downtown_urban_canyon_0', 606.3577380180359, , )\n", + "('wait_for_light_rail_below_above_ground_0', 53.31745481491089, , )\n", + "('light_rail_below_above_ground_0', 757.3843741416931, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 164.00920605659485, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 295.9740991592407, , )\n", + "('commuter_rail_with_tunnels_0', 4096.520437002182, , )\n", + "('inner_suburb_downtown_walk_0', 1106.0237801074982, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1564153874.845, 1564153874.896019)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1564154664.943, 1564154665.101372)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1564154664.955, 1564154665.11735)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1564155115.902, 1564155116.049901)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1564155115.903, 1564155116.065814)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1564157521.032, 1564157521.181978)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1564157521.032, 1564157521.202848)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1564157611.54, 1564157611.6071901)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1564157611.54, 1564157611.623952)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1564157983.901, 1564157983.901)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1564157983.911, 1564157983.911)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1564161220.853, 1564161220.982573)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1564161220.853, 1564161220.998692)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1564161441.545, 1564161441.614192)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1564161441.545, 1564161441.631149)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1564161576.901, 1564161576.901)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1564161576.911, 1564161576.911)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1564162000.41, 1564162000.502118)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1564162000.412, 1564162000.519351)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1564162105.227, 1564162105.351388)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 790.2053530216217, , )\n", + "('wait_for_commuter_rail_aboveground_0', 450.932550907135, , )\n", + "('commuter_rail_aboveground_0', 2405.11616396904, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 90.40434217453003, , )\n", + "('wait_for_subway_underground_0', 372.2770481109619, , )\n", + "('subway_underground_0', 3237.0715730190277, , )\n", + "('walk_to_bus_0', 220.61549997329712, , )\n", + "('wait_for_city_bus_short_0', 135.26985096931458, , )\n", + "('city_bus_short_0', 423.5911180973053, , )\n", + "('walk_end_0', 104.8320369720459, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1564175793.529, 1564175793.5701408)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1564176504.541, 1564176504.6247559)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 711.054615020752, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1564182927.461, 1564182927.507062)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1564184312.165, 1564184312.3002892)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564184312.165, 1564184312.3130012)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1564185597.921, 1564185598.028778)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564185597.922, 1564185598.042931)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1564185827.422, 1564185827.539897)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1564185827.423, 1564185827.554669)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1564186723.26, 1564186723.407819)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1564186723.261, 1564186723.421236)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1564188690.51, 1564188690.5885491)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564188690.511, 1564188690.60222)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1564189244.467, 1564189244.5364761)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564189244.468, 1564189244.553443)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1564189817.21, 1564189817.409505)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564189817.21, 1564189817.438754)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1564190921.062, 1564190921.251579)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564190921.062, 1564190921.268532)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1564191065.457, 1564191065.557415)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564191065.458, 1564191065.574724)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1564191182.011, 1564191182.011)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564191182.015, 1564191182.015)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1564195277.566, 1564195277.682907)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564195277.566, 1564195277.6962361)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1564196387.976, 1564196388.057633)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 1384.7932271957397, , )\n", + "('ebike_bikeshare_urban_long_0', 1285.7157769203186, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 229.49696588516235, , )\n", + "('wait_for_express_bus_0', 895.8531501293182, , )\n", + "('express_bus_0', 1967.1673130989075, , )\n", + "('walk_downtown_urban_canyon_0', 553.9342560768127, , )\n", + "('wait_for_light_rail_below_above_ground_0', 572.8560619354248, , )\n", + "('light_rail_below_above_ground_0', 1103.8128249645233, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 144.28888297080994, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 116.43627595901489, , )\n", + "('commuter_rail_with_tunnels_0', 4095.667906999588, , )\n", + "('inner_suburb_downtown_walk_0', 1110.3613967895508, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1568128359.456, 1568128359.457977)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1568129225.711, 1568129225.8029618)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568129225.711, 1568129225.8229551)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568129418.135, 1568129418.256069)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568129418.136, 1568129418.269621)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568131633.282, 1568131633.381013)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568131633.282, 1568131633.395437)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568131775.669, 1568131775.7588081)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1568131775.669, 1568131775.778534)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1568132379.203, 1568132379.3260388)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1568132379.204, 1568132379.3405972)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1568135629.832, 1568135629.9102259)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1568135629.832, 1568135629.924252)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1568135932.941, 1568135933.0114589)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568135932.941, 1568135933.030817)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568136623.306, 1568136623.392667)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1568136623.307, 1568136623.415704)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1568136925.128, 1568136925.187604)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1568136925.128, 1568136925.2043839)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1568137039.661, 1568137039.769568)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 866.3449847698212, , )\n", + "('wait_for_commuter_rail_aboveground_0', 192.43311381340027, , )\n", + "('commuter_rail_aboveground_0', 2215.111392021179, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 142.36337113380432, , )\n", + "('wait_for_subway_underground_0', 603.547504901886, , )\n", + "('subway_underground_0', 3250.569628715515, , )\n", + "('walk_to_bus_0', 303.08720684051514, , )\n", + "('wait_for_city_bus_short_0', 690.3618500232697, , )\n", + "('city_bus_short_0', 301.7718999385834, , )\n", + "('walk_end_0', 114.56518411636353, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1568147985.21, 1568147985.211609)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1568148713.504, 1568148713.5903769)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 728.3787679672241, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1568156970.135, 1568156970.136897)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1568157454.673, 1568157454.818012)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568157454.674, 1568157454.838443)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568158783.275, 1568158783.377142)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568158783.276, 1568158783.3913279)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568159002.384, 1568159002.444278)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1568159002.385, 1568159002.462307)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1568159518.455, 1568159518.573839)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1568159518.455, 1568159518.586053)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1568161878.959, 1568161879.042319)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568161878.96, 1568161879.054672)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568162654.553, 1568162654.625458)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568162654.553, 1568162654.6394858)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568162861.649, 1568162861.758681)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568162861.649, 1568162861.774787)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568163677.061, 1568163677.226685)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568163677.061, 1568163677.2464828)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568163911.9928885, 1568163911.9928885)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568163911.9929984, 1568163911.9929984)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568164574.777, 1568164574.921455)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568164574.778, 1568164574.933717)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568167455.137, 1568167455.228725)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568167455.138, 1568167455.247277)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568168558.757, 1568168558.845121)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 484.6811149120331, , )\n", + "('ebike_bikeshare_urban_long_0', 1328.5386989116669, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 219.0529501438141, , )\n", + "('wait_for_express_bus_0', 516.1115319728851, , )\n", + "('express_bus_0', 2360.4562661647797, , )\n", + "('walk_downtown_urban_canyon_0', 775.5707859992981, , )\n", + "('wait_for_light_rail_below_above_ground_0', 207.11919522285461, , )\n", + "('light_rail_below_above_ground_0', 815.451898097992, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 234.74640560150146, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 662.9284565448761, , )\n", + "('commuter_rail_with_tunnels_0', 2880.295007944107, , )\n", + "('inner_suburb_downtown_walk_0', 1103.5978438854218, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1568214737.56, 1568214737.5622501)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1568215615.227, 1568215615.354403)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568215615.228, 1568215615.371259)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568215742.249, 1568215742.3900108)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568215742.25, 1568215742.407765)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568218034.714, 1568218034.838385)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568218034.714, 1568218034.8511539)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568218133.074, 1568218133.193851)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1568218133.074, 1568218133.211705)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1568218761.408, 1568218761.535503)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1568218761.409, 1568218761.551367)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1568222023.636, 1568222023.753432)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1568222023.637, 1568222023.771352)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1568222336.319, 1568222336.389893)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568222336.319, 1568222336.40583)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568223049.114, 1568223049.214051)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1568223049.114, 1568223049.2427502)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1568223317.873, 1568223317.940135)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1568223317.873, 1568223317.956558)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1568223465.635, 1568223465.7310638)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 877.7921528816223, , )\n", + "('wait_for_commuter_rail_aboveground_0', 127.01875185966492, , )\n", + "('commuter_rail_aboveground_0', 2292.4306201934814, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 98.34269714355469, , )\n", + "('wait_for_subway_underground_0', 628.3237979412079, , )\n", + "('subway_underground_0', 3262.2020649909973, , )\n", + "('walk_to_bus_0', 312.61854100227356, , )\n", + "('wait_for_city_bus_short_0', 712.8082211017609, , )\n", + "('city_bus_short_0', 268.69738483428955, , )\n", + "('walk_end_0', 147.77450585365295, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1568234793.774, 1568234793.776258)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1568235521.95, 1568235522.0351238)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 728.2588658332825, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1568244359.507, 1568244359.509249)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1568244750.373, 1568244750.497673)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568244750.374, 1568244750.5154362)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568245790.187, 1568245790.282)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568245790.188, 1568245790.296854)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568246014.58, 1568246014.639128)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1568246014.581, 1568246014.6523628)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1568247348.92, 1568247349.042203)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1568247348.92, 1568247349.096503)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1568249736.154, 1568249736.225675)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568249736.154, 1568249736.2411718)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568250412.649, 1568250412.718523)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568250412.649, 1568250412.732284)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568250424.187, 1568250424.2916179)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568250424.187, 1568250424.3074589)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568251288.378, 1568251288.494444)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568251288.378, 1568251288.511601)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568251587.095, 1568251587.228471)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568251587.096, 1568251587.2422771)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568251929.316, 1568251929.451809)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568251929.316, 1568251929.466166)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568256068.336, 1568256068.436887)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568256068.337, 1568256068.454493)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568257066.697, 1568257066.793347)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 390.9884240627289, , )\n", + "('ebike_bikeshare_urban_long_0', 1039.7665638923645, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 224.34227395057678, , )\n", + "('wait_for_express_bus_0', 1334.3898401260376, , )\n", + "('express_bus_0', 2387.1291720867157, , )\n", + "('walk_downtown_urban_canyon_0', 676.4773511886597, , )\n", + "('wait_for_light_rail_below_above_ground_0', 11.559333801269531, , )\n", + "('light_rail_below_above_ground_0', 864.1869850158691, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 298.7168700695038, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 342.2095317840576, , )\n", + "('commuter_rail_with_tunnels_0', 4138.970721006393, , )\n", + "('inner_suburb_downtown_walk_0', 998.3388538360596, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1568732881.774, 1568732881.775639)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1568733751.579, 1568733751.6681008)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568733751.579, 1568733751.683353)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1568734351.868, 1568734351.994272)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568734351.869, 1568734352.008291)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1568736841.872, 1568736841.984133)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568736841.873, 1568736842.000698)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1568736950.594, 1568736950.6617851)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1568736950.595, 1568736950.676742)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1568737147.771, 1568737147.891639)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1568737147.771, 1568737147.9041429)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1568740438.089, 1568740438.208461)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1568740438.089, 1568740438.228492)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1568740747.975, 1568740748.045597)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568740747.975, 1568740748.061996)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1568741647.399, 1568741647.519343)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1568741647.4, 1568741647.538996)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1568741880.365, 1568741880.434023)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1568741880.365, 1568741880.4528399)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1568741997.261, 1568741997.375945)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 869.8924617767334, , )\n", + "('wait_for_commuter_rail_aboveground_0', 600.310919046402, , )\n", + "('commuter_rail_aboveground_0', 2489.975841999054, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 108.66108703613281, , )\n", + "('wait_for_subway_underground_0', 197.21489691734314, , )\n", + "('subway_underground_0', 3290.304318189621, , )\n", + "('walk_to_bus_0', 309.81710505485535, , )\n", + "('wait_for_city_bus_short_0', 899.4573469161987, , )\n", + "('city_bus_short_0', 232.89502692222595, , )\n", + "('walk_end_0', 116.92310523986816, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1568753159.467, 1568753159.4697561)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1568753916.293, 1568753916.3857899)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 756.916033744812, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1568761879.775, 1568761879.7765179)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1568762200.869, 1568762200.9979339)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568762200.869, 1568762201.01174)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1568763357.923, 1568763358.020776)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568763357.924, 1568763358.037296)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1568763549.817, 1568763549.93485)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1568763549.818, 1568763549.952519)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1568764321.216, 1568764321.337923)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1568764321.217, 1568764321.3516688)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1568766321.931, 1568766322.011527)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568766321.932, 1568766322.0274282)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1568766965.558, 1568766965.636026)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568766965.559, 1568766965.6507568)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1568767350.838, 1568767350.952024)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568767350.839, 1568767350.9666572)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1568768042.62, 1568768042.750239)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568768042.621, 1568768042.767525)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1568768174.539, 1568768174.633939)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568768174.539, 1568768174.6494079)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1568768306.318, 1568768306.438633)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568768306.318, 1568768306.452539)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1568771859.691, 1568771859.7892752)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568771859.692, 1568771859.8035831)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1568772840.519, 1568772840.6211061)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 321.2214159965515, , )\n", + "('ebike_bikeshare_urban_long_0', 1157.009036064148, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 191.89755392074585, , )\n", + "('wait_for_express_bus_0', 771.3854041099548, , )\n", + "('express_bus_0', 2000.6598582267761, , )\n", + "('walk_downtown_urban_canyon_0', 643.6085977554321, , )\n", + "('wait_for_light_rail_below_above_ground_0', 385.3012671470642, , )\n", + "('light_rail_below_above_ground_0', 691.7835817337036, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 131.8664140701294, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 131.78922510147095, , )\n", + "('commuter_rail_with_tunnels_0', 3553.33673620224, , )\n", + "('inner_suburb_downtown_walk_0', 980.8175230026245, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1574179769.196, 1574179769.1979809)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1574180632.585, 1574180632.711004)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1574180632.586, 1574180632.727952)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1574181011.897, 1574181010.897)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1574181011.897, 1574181010.897)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1574183444.202, 1574183444.2987452)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1574183444.203, 1574183444.316755)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1574183542.497, 1574183542.5988889)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1574183542.498, 1574183542.615675)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1574183948.406, 1574183948.537239)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1574183948.407, 1574183948.5511642)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1574187229.882, 1574187229.969036)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1574187229.883, 1574187229.982356)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1574187518.688, 1574187518.747113)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1574187518.688, 1574187518.763582)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1574187964.946, 1574187965.0748801)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1574187964.946, 1574187965.110849)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1574188271.755, 1574188271.8153539)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1574188271.755, 1574188271.829221)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1574188370.328, 1574188370.431066)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 863.5130231380463, , )\n", + "('wait_for_commuter_rail_aboveground_0', 378.1690480709076, , )\n", + "('commuter_rail_aboveground_0', 2433.401745080948, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 98.28213381767273, , )\n", + "('wait_for_subway_underground_0', 405.92156410217285, , )\n", + "('subway_underground_0', 3281.417871952057, , )\n", + "('walk_to_bus_0', 288.7647569179535, , )\n", + "('wait_for_city_bus_short_0', 446.31129813194275, , )\n", + "('city_bus_short_0', 306.70450496673584, , )\n", + "('walk_end_0', 98.60184502601624, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1574199058.957, 1574199058.9590092)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1574199814.218, 1574199814.310667)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 755.3516578674316, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1574208748.015, 1574208748.01702)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1574209144.479, 1574209144.602025)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1574209144.48, 1574209144.6219401)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1574210399.536, 1574210399.648272)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1574210399.537, 1574210399.6661391)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1574210610.042, 1574210610.200918)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1574210610.043, 1574210610.219314)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1574211157.897, 1574211156.897)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1574211157.897, 1574211156.897)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1574213197.666, 1574213197.721724)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1574213197.666, 1574213197.734812)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1574213852.44, 1574213852.495171)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1574213852.44, 1574213852.5104342)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1574214132.94, 1574214133.0568728)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1574214132.941, 1574214133.0755801)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1574214958.203, 1574214958.3241138)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1574214958.203, 1574214958.341655)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1574215095.354, 1574215095.4499168)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1574215095.354, 1574215095.467871)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1574215114.618, 1574215114.74494)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1574215114.619, 1574215114.7563372)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1574218632.062, 1574218632.189211)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1574218632.062, 1574218632.2073488)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1574219738.37, 1574219738.473501)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 396.58500504493713, , )\n", + "('ebike_bikeshare_urban_long_0', 1255.0263319015503, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 210.53477883338928, , )\n", + "('wait_for_express_bus_0', 546.6776859760284, , )\n", + "('express_bus_0', 2040.8247239589691, , )\n", + "('walk_downtown_urban_canyon_0', 654.7603590488434, , )\n", + "('wait_for_light_rail_below_above_ground_0', 280.54643869400024, , )\n", + "('light_rail_below_above_ground_0', 825.2485337257385, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 137.10826182365417, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 19.277069091796875, , )\n", + "('commuter_rail_with_tunnels_0', 3517.432873725891, , )\n", + "('inner_suburb_downtown_walk_0', 1106.2661521434784, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1574266253.841, 1574266253.843056)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1574267240.011, 1574267240.12881)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1574267240.012, 1574267240.14868)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1574267333.88, 1574267334.008919)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1574267333.88, 1574267334.037313)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1574269695.476, 1574269695.597497)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1574269695.476, 1574269695.616243)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1574269821.385, 1574269821.493391)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1574269821.386, 1574269821.509687)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1574270356.463, 1574270356.5916681)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1574270356.464, 1574270356.608511)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1574273636.589, 1574273636.69327)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1574273636.59, 1574273636.70922)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1574273926.171, 1574273926.233121)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1574273926.171, 1574273926.252119)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1574274358.795, 1574274358.916769)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1574274358.796, 1574274358.946694)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1574274601.279, 1574274601.3438458)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1574274601.28, 1574274601.3594089)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1574274677.982, 1574274678.1278)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 986.2857539653778, , )\n", + "('wait_for_commuter_rail_aboveground_0', 93.86023902893066, , )\n", + "('commuter_rail_aboveground_0', 2361.5601840019226, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 125.8771481513977, , )\n", + "('wait_for_subway_underground_0', 535.0819811820984, , )\n", + "('subway_underground_0', 3280.0847589969635, , )\n", + "('walk_to_bus_0', 289.5239009857178, , )\n", + "('wait_for_city_bus_short_0', 432.6646499633789, , )\n", + "('city_bus_short_0', 242.39715194702148, , )\n", + "('walk_end_0', 76.76839113235474, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1574286383.437, 1574286383.452855)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1574287165.083, 1574287165.221789)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 781.7689337730408, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1574295435.631, 1574295435.632617)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1574295842.111, 1574295842.243928)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1574295842.112, 1574295842.259553)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1574296928.095, 1574296928.1902351)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1574296928.096, 1574296928.2130718)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1574297124.261, 1574297124.381939)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1574297124.261, 1574297124.396679)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1574298896.642, 1574298896.767448)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1574298896.643, 1574298896.7788792)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1574300864.614, 1574300864.683578)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1574300864.614, 1574300864.699325)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1574301511.959, 1574301512.022079)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1574301511.96, 1574301512.037335)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1574301547.263, 1574301547.338562)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1574301547.263, 1574301547.3517919)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1574302321.817, 1574302321.948523)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1574302321.818, 1574302321.9674768)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1574302488.405, 1574302488.503263)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1574302488.406, 1574302488.5191932)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1574302584.286, 1574302584.4142652)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1574302584.286, 1574302584.431006)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1574305391.374, 1574305391.476595)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1574305391.375, 1574305391.492787)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1574306491.893, 1574306491.9954991)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 406.6113109588623, , )\n", + "('ebike_bikeshare_urban_long_0', 1085.930682182312, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 196.16886711120605, , )\n", + "('wait_for_express_bus_0', 1772.3707690238953, , )\n", + "('express_bus_0', 1967.9046988487244, , )\n", + "('walk_downtown_urban_canyon_0', 647.32275390625, , )\n", + "('wait_for_light_rail_below_above_ground_0', 35.30122709274292, , )\n", + "('light_rail_below_above_ground_0', 774.5967311859131, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 166.535786151886, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 95.8950719833374, , )\n", + "('commuter_rail_with_tunnels_0', 2807.0455889701843, , )\n", + "('inner_suburb_downtown_walk_0', 1100.5027122497559, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1575389710.012, 1575389710.013753)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1575390557.725, 1575390557.797813)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1575390557.725, 1575390557.813025)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1575390671.701, 1575390671.824874)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1575390671.701, 1575390671.838859)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1575393104.65, 1575393104.7474031)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1575393104.65, 1575393104.760397)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1575393371.493, 1575393371.5547519)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1575393371.494, 1575393371.570674)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1575393554.993, 1575393555.1622062)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1575393554.994, 1575393555.177682)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1575396891.459, 1575396891.5672112)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1575396891.46, 1575396891.585198)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1575397197.189, 1575397197.254668)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1575397197.19, 1575397197.2696428)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1575397704.796, 1575397704.8927789)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1575397704.796, 1575397704.907356)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1575397944.868, 1575397944.952499)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1575397944.869, 1575397944.9693341)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1575398091.136, 1575398091.275875)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 847.7840600013733, , )\n", + "('wait_for_commuter_rail_aboveground_0', 114.01184892654419, , )\n", + "('commuter_rail_aboveground_0', 2432.908544063568, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 266.7943549156189, , )\n", + "('wait_for_subway_underground_0', 183.5915322303772, , )\n", + "('subway_underground_0', 3336.3895292282104, , )\n", + "('walk_to_bus_0', 305.6694700717926, , )\n", + "('wait_for_city_bus_short_0', 507.6231360435486, , )\n", + "('city_bus_short_0', 240.04514288902283, , )\n", + "('walk_end_0', 146.30654096603394, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1575411220.999, 1575411221.001165)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1575412027.391, 1575412027.4755569)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 806.4743919372559, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1575418480.017, 1575418480.018688)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1575418852.431, 1575418852.553446)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1575418852.432, 1575418852.571622)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1575420112.41, 1575420112.4956799)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1575420112.41, 1575420112.510627)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1575420311.948, 1575420312.076577)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1575420311.949, 1575420312.09137)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1575422229.431, 1575422229.559617)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1575422229.432, 1575422229.5720282)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1575424441.593, 1575424441.647733)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1575424441.593, 1575424441.662973)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1575425032.055, 1575425032.112617)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1575425032.055, 1575425032.129914)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1575425071.292, 1575425071.4522982)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1575425071.292, 1575425071.495168)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1575425739.839, 1575425739.959332)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1575425739.839, 1575425739.972456)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1575425947.989, 1575425948.0993838)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1575425947.99, 1575425948.148083)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1575426214.9955425, 1575426214.995425)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1575426214.9955425, 1575426214.995425)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1575429358.258, 1575429358.3570461)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1575429358.258, 1575429358.371612)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1575430485.229, 1575430485.327901)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 372.5347580909729, , )\n", + "('ebike_bikeshare_urban_long_0', 1259.9240579605103, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 199.5659499168396, , )\n", + "('wait_for_express_bus_0', 1917.468246936798, , )\n", + "('express_bus_0', 2212.0757048130035, , )\n", + "('walk_downtown_urban_canyon_0', 590.4496440887451, , )\n", + "('wait_for_light_rail_below_above_ground_0', 39.32238411903381, , )\n", + "('light_rail_below_above_ground_0', 668.464164018631, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 208.12692785263062, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 266.84734201431274, , )\n", + "('commuter_rail_with_tunnels_0', 3143.3616211414337, , )\n", + "('inner_suburb_downtown_walk_0', 1126.9562888145447, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1575908071.776, 1575908071.7778401)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1575908934.32, 1575908934.4287481)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1575908934.32, 1575908934.446835)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1575908956.399, 1575908956.518385)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1575908956.4, 1575908956.5326672)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1575911221.124, 1575911221.2277498)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1575911221.125, 1575911221.239619)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1575911360.05, 1575911360.119776)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1575911360.05, 1575911360.135001)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1575911949.343, 1575911949.4715881)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1575911949.343, 1575911949.48616)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1575915233.977, 1575915234.102242)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1575915233.978, 1575915234.115241)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1575915523.518, 1575915523.582602)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1575915523.519, 1575915523.600668)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1575915983.617, 1575915983.734451)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1575915983.618, 1575915983.752368)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1575916286.563, 1575916286.629283)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1575916286.563, 1575916286.647674)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1575916403.953, 1575916404.062547)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 862.6509079933167, , )\n", + "('wait_for_commuter_rail_aboveground_0', 22.071549892425537, , )\n", + "('commuter_rail_aboveground_0', 2264.6950826644897, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 138.88015699386597, , )\n", + "('wait_for_subway_underground_0', 589.336587190628, , )\n", + "('subway_underground_0', 3284.6160819530487, , )\n", + "('walk_to_bus_0', 289.46736097335815, , )\n", + "('wait_for_city_bus_short_0', 460.1337831020355, , )\n", + "('city_bus_short_0', 302.87691497802734, , )\n", + "('walk_end_0', 117.41487288475037, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1575928741.679, 1575928741.680685)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1575929509.8, 1575929509.899955)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 768.219269990921, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1575936809.498, 1575936809.499685)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1575937206.07, 1575937206.154803)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1575937206.071, 1575937206.170308)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1575938572.203, 1575938572.299881)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1575938572.203, 1575938572.318942)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1575938737.334, 1575938737.4409451)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1575938737.335, 1575938737.458897)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1575939105.047, 1575939105.258172)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1575939105.048, 1575939105.271008)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1575941041.908, 1575941041.986855)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1575941041.909, 1575941042.004503)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1575941722.578, 1575941722.639512)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1575941722.578, 1575941722.656255)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1575942593.503, 1575942593.611716)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1575942593.504, 1575942593.632485)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1575943650.248, 1575943650.352837)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1575943650.249, 1575943650.369656)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1575943846.604, 1575943846.700728)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1575943846.604, 1575943846.719356)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1575944185.549, 1575944185.678565)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1575944185.549, 1575944185.695963)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1575947052.029, 1575947052.138833)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1575947052.03, 1575947052.1525822)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1575948198.981, 1575948199.0729141)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 396.6551179885864, , )\n", + "('ebike_bikeshare_urban_long_0', 1366.1295728683472, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 165.1220030784607, , )\n", + "('wait_for_express_bus_0', 367.79927492141724, , )\n", + "('express_bus_0', 1936.7158470153809, , )\n", + "('walk_downtown_urban_canyon_0', 680.6350090503693, , )\n", + "('wait_for_light_rail_below_above_ground_0', 870.955461025238, , )\n", + "('light_rail_below_above_ground_0', 1056.7203521728516, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 196.3310718536377, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 338.9592089653015, , )\n", + "('commuter_rail_with_tunnels_0', 2866.4428701400757, , )\n", + "('inner_suburb_downtown_walk_0', 1146.920331954956, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1576080764.768, 1576080764.769524)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1576081719.516, 1576081719.6002588)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1576081719.516, 1576081719.613346)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1576081750.869, 1576081750.985812)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1576081750.87, 1576081750.999586)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1576084072.959, 1576084073.0620441)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1576084072.959, 1576084073.075906)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1576084193, 1576084193.066503)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1576084193.001, 1576084193.116282)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1576084758.995234, 1576084758.995234)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1576084758.995234, 1576084758.995234)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1576089116.165, 1576089116.3358278)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1576089116.166, 1576089116.348295)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1576089408.113, 1576089408.169499)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1576089408.113, 1576089408.1854072)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1576089934.74, 1576089934.855829)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1576089934.74, 1576089934.88463)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1576090303.958, 1576090304.031591)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1576090303.959, 1576090304.0487561)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1576090424.839, 1576090424.974391)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 954.8307347297668, , )\n", + "('wait_for_commuter_rail_aboveground_0', 31.37246584892273, , )\n", + "('commuter_rail_aboveground_0', 2322.06245803833, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 119.99059700965881, , )\n", + "('wait_for_subway_underground_0', 565.8789520263672, , )\n", + "('subway_underground_0', 4357.34059381485, , )\n", + "('walk_to_bus_0', 291.82120394706726, , )\n", + "('wait_for_city_bus_short_0', 526.6704218387604, , )\n", + "('city_bus_short_0', 369.1469609737396, , )\n", + "('walk_end_0', 120.92563486099243, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1576102138.581, 1576102138.5839372)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1576102858.665, 1576102858.7509608)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 720.1670236587524, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1576109913.651, 1576109913.6531029)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1576110266.9917374, 1576110266.9917374)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1576110266.9917374, 1576110266.9917374)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1576111473.9968104, 1576111473.9968104)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1576111473.9968104, 1576111473.9968104)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1576111656.844, 1576111656.97548)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1576111656.845, 1576111656.995975)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1576111830.094, 1576111830.211318)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1576111830.095, 1576111830.22807)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1576114356.13, 1576114356.1858)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1576114356.13, 1576114356.2003798)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1576114963.071, 1576114963.129798)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1576114963.072, 1576114963.149637)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1576115065.212, 1576115065.3405042)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1576115065.213, 1576115065.358482)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1576115966.628, 1576115966.7472801)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1576115966.628, 1576115966.764265)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1576116238.601, 1576116238.695193)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1576116238.601, 1576116238.713285)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1576116962.09, 1576116962.214097)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1576116962.09, 1576116962.230132)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1576119736.022, 1576119736.12637)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1576119736.022, 1576119736.1400042)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1576120833.027, 1576120833.133178)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 353.3386344909668, , )\n", + "('ebike_bikeshare_urban_long_0', 1207.0050730705261, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 182.9786696434021, , )\n", + "('wait_for_express_bus_0', 173.21534299850464, , )\n", + "('express_bus_0', 2525.9577300548553, , )\n", + "('walk_downtown_urban_canyon_0', 606.9294180870056, , )\n", + "('wait_for_light_rail_below_above_ground_0', 102.19086718559265, , )\n", + "('light_rail_below_above_ground_0', 901.3887982368469, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 271.93092799186707, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 723.5008120536804, , )\n", + "('commuter_rail_with_tunnels_0', 2773.896237850189, , )\n", + "('inner_suburb_downtown_walk_0', 1096.9931738376617, , )\n", + "('START_EVALUATION_SECTION', 'walk_to_caltrain', 1581005686.483, 1581005686.484885)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_caltrain', 1581006568.464, 1581006568.5455751)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1581006568.465, 1581006568.560254)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_aboveground', 1581006766.372, 1581006766.480669)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_aboveground', 1581006766.372, 1581006766.493425)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_aboveground', 1581008982.357, 1581008982.4554648)\n", + "('START_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1581008982.358, 1581008982.4730148)\n", + "('STOP_EVALUATION_SECTION', 'tt_commuter_rail_aboveground_subway_underground', 1581009144.263, 1581009144.364608)\n", + "('START_EVALUATION_SECTION', 'wait_for_subway_underground', 1581009144.264, 1581009144.380671)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_subway_underground', 1581009563.431, 1581009563.547101)\n", + "('START_EVALUATION_SECTION', 'subway_underground', 1581009563.431, 1581009563.561791)\n", + "('STOP_EVALUATION_SECTION', 'subway_underground', 1581012837.901, 1581012837.9862099)\n", + "('START_EVALUATION_SECTION', 'walk_to_bus', 1581012837.902, 1581012838)\n", + "('STOP_EVALUATION_SECTION', 'walk_to_bus', 1581013101.07, 1581013101.1649241)\n", + "('START_EVALUATION_SECTION', 'wait_for_city_bus_short', 1581013101.071, 1581013101.179121)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_city_bus_short', 1581013469.143, 1581013469.229927)\n", + "('START_EVALUATION_SECTION', 'city_bus_short', 1581013469.143, 1581013469.2499142)\n", + "('STOP_EVALUATION_SECTION', 'city_bus_short', 1581013738.823, 1581013738.8944879)\n", + "('START_EVALUATION_SECTION', 'walk_end', 1581013738.823, 1581013738.91119)\n", + "('STOP_EVALUATION_SECTION', 'walk_end', 1581013808.594, 1581013808.704881)\n", + "All ranges are complete, nothing to change\n", + "{'commuter_rail_aboveground', 'tt_commuter_rail_aboveground_subway_underground', 'walk_to_caltrain', 'subway_underground', 'walk_end', 'wait_for_subway_underground', 'wait_for_commuter_rail_aboveground', 'wait_for_city_bus_short', 'city_bus_short', 'walk_to_bus'}\n", + "ios: Found 10 sections for evaluation mtv_to_berkeley_sf_bart_0\n", + "('walk_to_caltrain_0', 882.060690164566, , )\n", + "('wait_for_commuter_rail_aboveground_0', 197.92041492462158, , )\n", + "('commuter_rail_aboveground_0', 2215.9620399475098, , )\n", + "('tt_commuter_rail_aboveground_subway_underground_0', 161.89159321784973, , )\n", + "('wait_for_subway_underground_0', 419.1664299964905, , )\n", + "('subway_underground_0', 3274.424418926239, , )\n", + "('walk_to_bus_0', 263.1649241447449, , )\n", + "('wait_for_city_bus_short_0', 368.0508060455322, , )\n", + "('city_bus_short_0', 269.6445736885071, , )\n", + "('walk_end_0', 69.7936909198761, , )\n", + "('START_EVALUATION_SECTION', 'walk_urban_university', 1581023219.802, 1581023219.804801)\n", + "('STOP_EVALUATION_SECTION', 'walk_urban_university', 1581024049.178, 1581024049.2686338)\n", + "All ranges are complete, nothing to change\n", + "{'walk_urban_university'}\n", + "ios: Found 1 sections for evaluation walk_urban_university_0\n", + "('walk_urban_university_0', 829.4638328552246, , )\n", + "('START_EVALUATION_SECTION', 'walk to the bikeshare location', 1581034644.804, 1581034644.806316)\n", + "('STOP_EVALUATION_SECTION', 'walk to the bikeshare location', 1581035032.951, 1581035033.109107)\n", + "('START_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1581035032.952, 1581035033.124055)\n", + "('STOP_EVALUATION_SECTION', 'ebike_bikeshare_urban_long', 1581036348.885, 1581036348.9817)\n", + "('START_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1581036348.885, 1581036348.996716)\n", + "('STOP_EVALUATION_SECTION', 'tt_ebike_bikeshare_urban_long_express_bus', 1581036538.116, 1581036538.23107)\n", + "('START_EVALUATION_SECTION', 'wait_for_express_bus', 1581036538.116, 1581036538.245713)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_express_bus', 1581036665.686, 1581036665.801511)\n", + "('START_EVALUATION_SECTION', 'express_bus', 1581036665.686, 1581036665.813245)\n", + "('STOP_EVALUATION_SECTION', 'express_bus', 1581038884.793, 1581038884.870723)\n", + "('START_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1581038884.794, 1581038884.884715)\n", + "('STOP_EVALUATION_SECTION', 'walk_downtown_urban_canyon', 1581039494.471, 1581039494.5409498)\n", + "('START_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1581039494.472, 1581039494.5540261)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_light_rail_below_above_ground', 1581039513.571, 1581039513.67571)\n", + "('START_EVALUATION_SECTION', 'light_rail_below_above_ground', 1581039513.571, 1581039513.6940122)\n", + "('STOP_EVALUATION_SECTION', 'light_rail_below_above_ground', 1581040199.51, 1581040199.636063)\n", + "('START_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1581040199.511, 1581040199.650487)\n", + "('STOP_EVALUATION_SECTION', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 1581040394.255, 1581040394.362896)\n", + "('START_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1581040394.256, 1581040394.380787)\n", + "('STOP_EVALUATION_SECTION', 'wait_for_commuter_rail_with_tunnels', 1581040721.378, 1581040721.506589)\n", + "('START_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1581040721.378, 1581040721.520253)\n", + "('STOP_EVALUATION_SECTION', 'commuter_rail_with_tunnels', 1581044197.24, 1581044197.3355699)\n", + "('START_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1581044197.24, 1581044197.3491979)\n", + "('STOP_EVALUATION_SECTION', 'inner_suburb_downtown_walk', 1581045370.564, 1581045370.655577)\n", + "All ranges are complete, nothing to change\n", + "{'wait_for_express_bus', 'walk_downtown_urban_canyon', 'wait_for_light_rail_below_above_ground', 'tt_ebike_bikeshare_urban_long_express_bus', 'ebike_bikeshare_urban_long', 'light_rail_below_above_ground', 'tt_light_rail_below_above_ground_commuter_rail_with_tunnels', 'inner_suburb_downtown_walk', 'walk to the bikeshare location', 'commuter_rail_with_tunnels', 'express_bus', 'wait_for_commuter_rail_with_tunnels'}\n", + "ios: Found 12 sections for evaluation berkeley_to_mtv_SF_express_bus_0\n", + "('walk to the bikeshare location_0', 388.3027911186218, , )\n", + "('ebike_bikeshare_urban_long_0', 1315.85764503479, , )\n", + "('tt_ebike_bikeshare_urban_long_express_bus_0', 189.23435401916504, , )\n", + "('wait_for_express_bus_0', 127.55579805374146, , )\n", + "('express_bus_0', 2219.05747795105, , )\n", + "('walk_downtown_urban_canyon_0', 609.6562347412109, , )\n", + "('wait_for_light_rail_below_above_ground_0', 19.121683835983276, , )\n", + "('light_rail_below_above_ground_0', 685.9420509338379, , )\n", + "('tt_light_rail_below_above_ground_commuter_rail_with_tunnels_0', 194.71240901947021, , )\n", + "('wait_for_commuter_rail_with_tunnels_0', 327.1258020401001, , )\n", + "('commuter_rail_with_tunnels_0', 3475.815316915512, , )\n", + "('inner_suburb_downtown_walk_0', 1173.3063790798187, , )\n", + "-------------------- About to copy trip and section ranges --------------------\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_0\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_1\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_2\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_3\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_4\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_5\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_6\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_7\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_8\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_9\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_10\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "Before copying found 1/2 phones with ground truth for experiment of size 12\n", + "Uncopied ground truth of length 3 on found on phone ios\n", + "Copying 3 ranges to android, fixed:ACCURACY_CONTROL_11\n", + "After copying found 2/2 phones with ground truth for experiment of size 12\n", + "dict_keys(['ucb-sdb-android-1', 'ucb-sdb-android-2', 'ucb-sdb-android-3', 'ucb-sdb-android-4'])\n", + "Found accuracy control, skipping copy\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "android: Copying ucb-sdb-android-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "android: Copying ucb-sdb-android-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "android: Copying ucb-sdb-android-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "dict_keys(['ucb-sdb-ios-1', 'ucb-sdb-ios-2', 'ucb-sdb-ios-3', 'ucb-sdb-ios-4'])\n", + "Found accuracy control, skipping copy\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "ios: Copying ucb-sdb-ios-2 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "ios: Copying ucb-sdb-ios-3 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9295.5172290802, , )\n", + "('walk_urban_university_0', 798.0864510536194, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12131.998807907104, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8535.977368116379, , )\n", + "('walk_urban_university_0', 819.4777889251709, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12377.205770015717, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8230.586781978607, , )\n", + "('walk_urban_university_0', 711.1675119400024, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 13460.704962968826, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8680.349925041199, , )\n", + "('walk_urban_university_0', 728.4137420654297, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11588.745908975601, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8728.208999156952, , )\n", + "('walk_urban_university_0', 728.3241000175476, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12707.314440011978, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9115.632758140564, , )\n", + "('walk_urban_university_0', 756.9605379104614, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10960.889727115631, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8601.274054050446, , )\n", + "('walk_urban_university_0', 755.3927550315857, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10990.500654935837, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8424.325599908829, , )\n", + "('walk_urban_university_0', 781.8233680725098, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11056.392591953278, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8381.292408943176, , )\n", + "('walk_urban_university_0', 806.5051131248474, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 12005.349879026413, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8332.32777094841, , )\n", + "('walk_urban_university_0', 768.2547070980072, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 11389.640381097794, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 9660.24267578125, , )\n", + "('walk_urban_university_0', 720.1987051963806, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10919.513394117355, , )\n", + "ios: Copying ucb-sdb-ios-4 accuracy trips to 3, before = 0\n", + "('mtv_to_berkeley_sf_bart_0', 8122.254474878311, , )\n", + "('walk_urban_university_0', 829.4980051517487, , )\n", + "('berkeley_to_mtv_SF_express_bus_0', 10725.879854917526, , )\n", + "-------------------- About to fill in battery information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing data for ios phones\n", + "-------------------- About to fill in location information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "-------------------- About to fill in motion activity information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "motion activity has not been processed, copying write_ts -> ts\n", + "Processing data for ios phones\n", + "-------------------- About to fill in transition information --------------------\n", + "Processing data for android phones\n", + "Processing data for ios phones\n", + "Processing data for android phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "Processing data for ios phones\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "transition has not been processed, creating ts -> fmt_time\n", + "-------------------- About to select trip specific ranges --------------------\n", + "Filling label ucb-sdb-android-1 for OS android\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling label ucb-sdb-android-2 for OS android\n", + "Filling label ucb-sdb-android-3 for OS android\n", + "Filling label ucb-sdb-android-4 for OS android\n", + "Filling label ucb-sdb-ios-1 for OS ios\n", + "Filling label ucb-sdb-ios-2 for OS ios\n", + "Filling label ucb-sdb-ios-3 for OS ios\n", + "Filling label ucb-sdb-ios-4 for OS ios\n", + "-------------------- Done populating information from server --------------------\n" + ] + } + ], "source": [ "pv_ucb = eipv.PhoneView(sd_ucb)" ] @@ -119,7 +3704,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -134,6 +3719,7 @@ " for (tr_idx, tr) in enumerate(r[\"evaluation_trip_ranges\"]):\n", " for (sr_idx, sr) in enumerate(tr[\"evaluation_section_ranges\"]):\n", " # This is a Shapely LineString\n", + " # print(f\"Retrieving ground truth for range {arrow.get(sr['start_ts'])} -> {arrow.get(sr['end_ts'])}\")\n", " section_gt_leg = pv.spec_details.get_ground_truth_for_leg(tr[\"trip_id_base\"], sr[\"trip_id_base\"], sr[\"start_ts\"], sr[\"end_ts\"])\n", " section_gt_shapes = gpd.GeoSeries(eisd.SpecDetails.get_shapes_for_leg(section_gt_leg))\n", " if len(section_gt_shapes) == 1:\n", @@ -147,6 +3733,9 @@ " \n", " print(\"Processing travel leg %s, %s, %s, %s, %s\" %\n", " (phone_os, phone_label, r[\"eval_role_base\"], tr[\"trip_id_base\"], sr[\"trip_id_base\"]))\n", + " # print(f\"Ground truth for trip range {arrow.get(tr['start_ts'])} and {arrow.get(tr['end_ts'])} is \"\n", + " # + f\"START: {section_gt_leg['start_loc']['properties']['valid_start_fmt_date']} -> {section_gt_leg['start_loc']['properties']['valid_end_fmt_date']} \"\n", + " # + f\"END: {section_gt_leg['end_loc']['properties']['valid_start_fmt_date']} -> {section_gt_leg['end_loc']['properties']['valid_end_fmt_date']} \")\n", " sec_name = tr[\"trip_id_base\"] + \"/\" + sr[\"trip_id_base\"] + \"_\" + str(r_idx)\n", " if sec_name not in ref_tree:\n", " ref_tree[sec_name] = {\n", @@ -170,30 +3759,8389 @@ " e[\"temporal_control\"][phone_os] = sr\n", " return ref_tree\n", "\n", - "def fill_ref_tree_entry(pv, e):\n", - " print(\"Considering entry %s %s %s\" % (e[\"trip_id\"], e[\"section_id\"], e[\"run\"]))\n", + "def fill_ref_tree_entry(pv, e, include_ends=False):\n", + " print(\"Considering entry %s %s %s and include_ends=%s\" % (e[\"trip_id\"], e[\"section_id\"], e[\"run\"], include_ends))\n", " curr_tz = pv.spec_details.eval_tz\n", " assert \"android\" in e[\"temporal_control\"] and \"ios\" in e[\"temporal_control\"]\n", - " (e[\"reference_algo\"], e[\"reference_df\"]) = emr.final_ref_ensemble(e, 25, tz=curr_tz)\n", + " (e[\"reference_algo\"], e[\"reference_df\"]) = emr.final_ref_ensemble(e, 25, tz=curr_tz, include_ends=include_ends)\n", "\n", - "def get_reference_trajectory_tree(pv, ref_tree_root):\n", + "def get_reference_trajectory_tree(pv, ref_tree_root, include_ends=False):\n", " curr_ref_tree = get_reference_trajectory_input_tree(pv)\n", " ref_tree_root[pv.spec_details.CURR_SPEC_ID] = curr_ref_tree\n", - " [fill_ref_tree_entry(pv, e) for e in curr_ref_tree.values()]" + " [fill_ref_tree_entry(pv, e, include_ends) for e in curr_ref_tree.values()]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "import arrow" + ] + }, + { + "cell_type": "code", + "execution_count": 13, "metadata": { "scrolled": true }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 0 and include_ends=False\n", + "After filtering, 425 of 666 (0.6381381381381381) for android and 621 of 621 (1.0) for ios\n", + "After merging, found 540 / 622 of android 666 (0.8108108108108109), ios 621 (0.8695652173913043)\n", + "Validated tf, stats are {'coverage_density': 0.7262890170020887, 'coverage_time': 0.833887389891287, 'coverage_max_gap': 0.052454206783484184}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=180, len(filtered_loc_df_b)=533\n", + "After filtering, retained 162 of 666 (0.24324324324324326)\n", + "Validated ct, stats are {'coverage_density': 0.2178867051006266, 'coverage_time': 0.7276339966632036, 'coverage_max_gap': 0.12104816950034811}\n", + "for tf = 0.052454206783484184 v/s ct = 0.12104816950034811, density 0.7262890170020887 v/s 0.2178867051006266, returning tf len = 540 not cf len = 162\n", + "Considering entry suburb_bicycling suburb_bicycling 0 and include_ends=False\n", + "After filtering, 932 of 954 (0.9769392033542977) for android and 919 of 921 (0.997828447339848) for ios\n", + "After merging, found 884 / 932 of android 954 (0.9266247379454927), ios 921 (0.9598262757871878)\n", + "Validated tf, stats are {'coverage_density': 0.759177679123645, 'coverage_time': 0.7952472068648136, 'coverage_max_gap': 0.015458369031929424}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=937, len(filtered_loc_df_b)=792\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 921 of 954 (0.9654088050314465)\n", + "Validated ct, stats are {'coverage_density': 0.7909532154670555, 'coverage_time': 0.7900944171875038, 'coverage_max_gap': 0.0008587982795516346}\n", + "max_gap for tf = 0.015458369031929424 > ct = 0.0008587982795516346 and density 0.759177679123645 < 0.7909532154670555, returning ct len = 921 not tf len = 884\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 1 and include_ends=False\n", + "After filtering, 562 of 563 (0.9982238010657194) for android and 559 of 559 (1.0) for ios\n", + "After merging, found 527 / 562 of android 563 (0.9360568383658969), ios 559 (0.9427549194991055)\n", + "Validated tf, stats are {'coverage_density': 0.8411093870417983, 'coverage_time': 0.8905864098089629, 'coverage_max_gap': 0.043092890797207885}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=565, len(filtered_loc_df_b)=507\n", + "After filtering, retained 559 of 563 (0.9928952042628775)\n", + "Validated ct, stats are {'coverage_density': 0.8921824428014521, 'coverage_time': 0.8905864098089629, 'coverage_max_gap': 0.001596032992489181}\n", + "max_gap for tf = 0.043092890797207885 > ct = 0.001596032992489181 and density 0.8411093870417983 < 0.8921824428014521, returning ct len = 559 not tf len = 527\n", + "Considering entry suburb_bicycling suburb_bicycling 1 and include_ends=False\n", + "After filtering, 935 of 963 (0.9709241952232607) for android and 940 of 1111 (0.8460846084608461) for ios\n", + "After merging, found 843 / 944 of android 963 (0.8753894080996885), ios 1111 (0.7587758775877588)\n", + "Validated tf, stats are {'coverage_density': 0.6871392584176815, 'coverage_time': 0.7629446570331554, 'coverage_max_gap': 0.07743562224161299}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=951, len(filtered_loc_df_b)=855\n", + "After filtering, retained 931 of 1111 (0.8379837983798379)\n", + "Validated ct, stats are {'coverage_density': 0.7588690979678073, 'coverage_time': 0.7580539861547376, 'coverage_max_gap': 0.0008151118130696104}\n", + "max_gap for tf = 0.07743562224161299 > ct = 0.0008151118130696104 and density 0.6871392584176815 < 0.7588690979678073, returning ct len = 931 not tf len = 843\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 2 and include_ends=False\n", + "After filtering, 500 of 500 (1.0) for android and 499 of 500 (0.998) for ios\n", + "After merging, found 491 / 500 of android 500 (0.982), ios 500 (0.982)\n", + "Validated tf, stats are {'coverage_density': 0.7758792582093216, 'coverage_time': 0.7869406732958089, 'coverage_max_gap': 0.014221819396912208}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=501, len(filtered_loc_df_b)=467\n", + "After filtering, retained 476 of 500 (0.952)\n", + "Validated ct, stats are {'coverage_density': 0.7521762258811346, 'coverage_time': 0.7885208754510213, 'coverage_max_gap': 0.023703032328187015}\n", + "for tf = 0.014221819396912208 v/s ct = 0.023703032328187015, density 0.7758792582093216 v/s 0.7521762258811346, returning tf len = 491 not cf len = 476\n", + "Considering entry suburb_bicycling suburb_bicycling 2 and include_ends=False\n", + "After filtering, 933 of 963 (0.9688473520249221) for android and 935 of 937 (0.9978655282817502) for ios\n", + "After merging, found 888 / 935 of android 963 (0.9221183800623053), ios 937 (0.9477054429028815)\n", + "Validated tf, stats are {'coverage_density': 0.7651044898889234, 'coverage_time': 0.8047382810318181, 'coverage_max_gap': 0.02929454127953085}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=965, len(filtered_loc_df_b)=833\n", + "After filtering, retained 935 of 963 (0.9709241952232607)\n", + "Validated ct, stats are {'coverage_density': 0.8055998851870985, 'coverage_time': 0.8047382810318181, 'coverage_max_gap': 0.0008616041552803192}\n", + "max_gap for tf = 0.02929454127953085 > ct = 0.0008616041552803192 and density 0.7651044898889234 < 0.8055998851870985, returning ct len = 935 not tf len = 888\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 3 and include_ends=False\n", + "After filtering, 645 of 645 (1.0) for android and 645 of 645 (1.0) for ios\n", + "After merging, found 542 / 645 of android 645 (0.8403100775193798), ios 645 (0.8403100775193798)\n", + "Validated tf, stats are {'coverage_density': 0.6966724465188937, 'coverage_time': 0.8277805453102722, 'coverage_max_gap': 0.08612002567668982}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=647, len(filtered_loc_df_b)=491\n", + "After filtering, retained 642 of 645 (0.9953488372093023)\n", + "Validated ct, stats are {'coverage_density': 0.8252097982751472, 'coverage_time': 0.8277805453102722, 'coverage_max_gap': 0.003856120552687604}\n", + "max_gap for tf = 0.08612002567668982 > ct = 0.003856120552687604 and density 0.6966724465188937 < 0.8252097982751472, returning ct len = 642 not tf len = 542\n", + "Considering entry suburb_bicycling suburb_bicycling 3 and include_ends=False\n", + "After filtering, 955 of 983 (0.9715157680569685) for android and 958 of 1004 (0.954183266932271) for ios\n", + "After merging, found 923 / 966 of android 983 (0.9389623601220752), ios 1004 (0.9193227091633466)\n", + "Validated tf, stats are {'coverage_density': 0.7596026177121596, 'coverage_time': 0.7908755315507967, 'coverage_max_gap': 0.014813485502512323}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=983, len(filtered_loc_df_b)=797\n", + "After filtering, retained 947 of 1004 (0.9432270916334662)\n", + "Validated ct, stats are {'coverage_density': 0.7793539317155094, 'coverage_time': 0.7785309602987032, 'coverage_max_gap': 0.0008229714168062402}\n", + "max_gap for tf = 0.014813485502512323 > ct = 0.0008229714168062402 and density 0.7596026177121596 < 0.7793539317155094, returning ct len = 947 not tf len = 923\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 4 and include_ends=False\n", + "After filtering, 594 of 594 (1.0) for android and 591 of 593 (0.9966273187183811) for ios\n", + "After merging, found 584 / 594 of android 594 (0.9831649831649831), ios 593 (0.984822934232715)\n", + "Validated tf, stats are {'coverage_density': 0.8379451429062446, 'coverage_time': 0.850858681067471, 'coverage_max_gap': 0.012913538161226371}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=596, len(filtered_loc_df_b)=510\n", + "After filtering, retained 590 of 594 (0.9932659932659933)\n", + "Validated ct, stats are {'coverage_density': 0.8465541683470622, 'coverage_time': 0.8494238434940014, 'coverage_max_gap': 0.005739350293878388}\n", + "max_gap for tf = 0.012913538161226371 > ct = 0.005739350293878388 and density 0.8379451429062446 < 0.8465541683470622, returning ct len = 590 not tf len = 584\n", + "Considering entry suburb_bicycling suburb_bicycling 4 and include_ends=False\n", + "After filtering, 927 of 1020 (0.9088235294117647) for android and 922 of 922 (1.0) for ios\n", + "After merging, found 867 / 927 of android 1020 (0.85), ios 922 (0.940347071583514)\n", + "Validated tf, stats are {'coverage_density': 0.7344534029088627, 'coverage_time': 0.7835863871865029, 'coverage_max_gap': 0.03219057590604012}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=925, len(filtered_loc_df_b)=740\n", + "After filtering, retained 922 of 1020 (0.903921568627451)\n", + "Validated ct, stats are {'coverage_density': 0.7810450259307629, 'coverage_time': 0.7801979055121829, 'coverage_max_gap': 0.0008471204185800032}\n", + "max_gap for tf = 0.03219057590604012 > ct = 0.0008471204185800032 and density 0.7344534029088627 < 0.7810450259307629, returning ct len = 922 not tf len = 867\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 5 and include_ends=False\n", + "After filtering, 646 of 646 (1.0) for android and 642 of 642 (1.0) for ios\n", + "After merging, found 617 / 646 of android 646 (0.955108359133127), ios 642 (0.9610591900311527)\n", + "Validated tf, stats are {'coverage_density': 0.7874455921971107, 'coverage_time': 0.8231805623454399, 'coverage_max_gap': 0.017867485074164587}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=647, len(filtered_loc_df_b)=547\n", + "After filtering, retained 642 of 646 (0.9938080495356038)\n", + "Validated ct, stats are {'coverage_density': 0.8193518155438332, 'coverage_time': 0.8180755666099643, 'coverage_max_gap': 0.001276248933868899}\n", + "max_gap for tf = 0.017867485074164587 > ct = 0.001276248933868899 and density 0.7874455921971107 < 0.8193518155438332, returning ct len = 642 not tf len = 617\n", + "Considering entry suburb_bicycling suburb_bicycling 5 and include_ends=False\n", + "After filtering, 949 of 955 (0.993717277486911) for android and 945 of 945 (1.0) for ios\n", + "After merging, found 948 / 951 of android 955 (0.9926701570680628), ios 945 (1.0031746031746032)\n", + "Validated tf, stats are {'coverage_density': 0.7947027535372209, 'coverage_time': 0.7938644594934052, 'coverage_max_gap': 0.0008382940438156338}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=946, len(filtered_loc_df_b)=778\n", + "After filtering, retained 943 of 955 (0.987434554973822)\n", + "Validated ct, stats are {'coverage_density': 0.7905112833181427, 'coverage_time': 0.789672989274327, 'coverage_max_gap': 0.0008382940438156338}\n", + "for tf = 0.0008382940438156338 v/s ct = 0.0008382940438156338, density 0.7947027535372209 v/s 0.7905112833181427, returning tf len = 948 not cf len = 943\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 0 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1568 of 1569 (0.9993626513702996) for android and 1565 of 1569 (0.9974506054811982) for ios\n", + "After merging, found 1373 / 1570 of android 1569 (0.8750796685787126), ios 1569 (0.8750796685787126)\n", + "Validated tf, stats are {'coverage_density': 0.8285470588836228, 'coverage_time': 0.9468247162333606, 'coverage_max_gap': 0.03801781843384431}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1561, len(filtered_loc_df_b)=1352\n", + "After filtering, retained 1532 of 1569 (0.9764181007010835)\n", + "Validated ct, stats are {'coverage_density': 0.9244967911214204, 'coverage_time': 0.945617801362445, 'coverage_max_gap': 0.007844946660952}\n", + "max_gap for tf = 0.03801781843384431 > ct = 0.007844946660952 and density 0.8285470588836228 < 0.9244967911214204, returning ct len = 1532 not tf len = 1373\n", + "Considering entry bus trip with e-scooter access city_escooter 0 and include_ends=False\n", + "After filtering, 1181 of 1181 (1.0) for android and 1183 of 1183 (1.0) for ios\n", + "After merging, found 1075 / 1185 of android 1181 (0.9102455546147333), ios 1183 (0.9087066779374472)\n", + "Validated tf, stats are {'coverage_density': 0.8909124298194443, 'coverage_time': 0.979589294927054, 'coverage_max_gap': 0.06049916965285528}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1182, len(filtered_loc_df_b)=1001\n", + "After filtering, retained 1125 of 1183 (0.9509721048182587)\n", + "Validated ct, stats are {'coverage_density': 0.9323502172529068, 'coverage_time': 0.976274271932377, 'coverage_max_gap': 0.013260091978708007}\n", + "max_gap for tf = 0.06049916965285528 > ct = 0.013260091978708007 and density 0.8909124298194443 < 0.9323502172529068, returning ct len = 1125 not tf len = 1075\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 0 and include_ends=False\n", + "After filtering, 2281 of 2321 (0.98276604911676) for android and 2266 of 2320 (0.9767241379310345) for ios\n", + "After merging, found 1704 / 2321 of android 2321 (0.7341663076260233), ios 2320 (0.7344827586206897)\n", + "Validated tf, stats are {'coverage_density': 0.7221916310899147, 'coverage_time': 0.9832656010144378, 'coverage_max_gap': 0.04704417315198388}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2286, len(filtered_loc_df_b)=1762\n", + "After filtering, retained 2020 of 2321 (0.8703145196036192)\n", + "Validated ct, stats are {'coverage_density': 0.8561191870901571, 'coverage_time': 0.9828417796346902, 'coverage_max_gap': 0.019919604848137318}\n", + "max_gap for tf = 0.04704417315198388 > ct = 0.019919604848137318 and density 0.7221916310899147 < 0.8561191870901571, returning ct len = 2020 not tf len = 1704\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 0 and include_ends=False\n", + "After filtering, 509 of 509 (1.0) for android and 505 of 505 (1.0) for ios\n", + "After merging, found 468 / 510 of android 509 (0.9194499017681729), ios 505 (0.9267326732673268)\n", + "Validated tf, stats are {'coverage_density': 0.7170702615883301, 'coverage_time': 0.7798905195479915, 'coverage_max_gap': 0.029111826859355282}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=510, len(filtered_loc_df_b)=373\n", + "After filtering, retained 498 of 509 (0.9783889980353635)\n", + "Validated ct, stats are {'coverage_density': 0.7630363039978385, 'coverage_time': 0.7706973110660899, 'coverage_max_gap': 0.00766100706825139}\n", + "max_gap for tf = 0.029111826859355282 > ct = 0.00766100706825139 and density 0.7170702615883301 < 0.7630363039978385, returning ct len = 498 not tf len = 468\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 1 and include_ends=False\n", + "After filtering, 1701 of 1701 (1.0) for android and 1700 of 1702 (0.9988249118683902) for ios\n", + "After merging, found 1620 / 1704 of android 1701 (0.9523809523809523), ios 1702 (0.9518213866039953)\n", + "Validated tf, stats are {'coverage_density': 0.9455878238444494, 'coverage_time': 0.9905324302864387, 'coverage_max_gap': 0.008755442813374531}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1698, len(filtered_loc_df_b)=1409\n", + "After filtering, retained 1683 of 1702 (0.9888366627497063)\n", + "Validated ct, stats are {'coverage_density': 0.9823606836606225, 'coverage_time': 0.9911161264739969, 'coverage_max_gap': 0.007588050438257927}\n", + "max_gap for tf = 0.008755442813374531 > ct = 0.007588050438257927 and density 0.9455878238444494 < 0.9823606836606225, returning ct len = 1683 not tf len = 1620\n", + "Considering entry bus trip with e-scooter access city_escooter 1 and include_ends=False\n", + "After filtering, 1138 of 1138 (1.0) for android and 1134 of 1134 (1.0) for ios\n", + "After merging, found 944 / 1142 of android 1138 (0.8295254833040422), ios 1134 (0.8324514991181657)\n", + "Validated tf, stats are {'coverage_density': 0.795948297292603, 'coverage_time': 0.9553065898649566, 'coverage_max_gap': 0.04637410630412411}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1137, len(filtered_loc_df_b)=971\n", + "After filtering, retained 1130 of 1138 (0.9929701230228472)\n", + "Validated ct, stats are {'coverage_density': 0.952777093157459, 'coverage_time': 0.9519339275882931, 'coverage_max_gap': 0.0008431655691658929}\n", + "max_gap for tf = 0.04637410630412411 > ct = 0.0008431655691658929 and density 0.795948297292603 < 0.952777093157459, returning ct len = 1130 not tf len = 944\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 1 and include_ends=False\n", + "After filtering, 2468 of 2522 (0.9785884218873909) for android and 2062 of 2525 (0.8166336633663366) for ios\n", + "After merging, found 1742 / 2502 of android 2522 (0.6907216494845361), ios 2525 (0.6899009900990098)\n", + "Validated tf, stats are {'coverage_density': 0.6858302564474018, 'coverage_time': 0.9937058365518037, 'coverage_max_gap': 0.029921411877154153}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2511, len(filtered_loc_df_b)=1867\n", + "After filtering, retained 1790 of 2525 (0.7089108910891089)\n", + "Validated ct, stats are {'coverage_density': 0.7047279902645518, 'coverage_time': 0.9921310254003746, 'coverage_max_gap': 0.07244131296574163}\n", + "for tf = 0.029921411877154153 v/s ct = 0.07244131296574163, density 0.6858302564474018 v/s 0.7047279902645518, returning tf len = 1742 not cf len = 1790\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 1 and include_ends=False\n", + "After filtering, 442 of 487 (0.9075975359342916) for android and 475 of 480 (0.9895833333333334) for ios\n", + "After merging, found 476 / 476 of android 487 (0.9774127310061602), ios 480 (0.9916666666666667)\n", + "Validated tf, stats are {'coverage_density': 0.7790479391572768, 'coverage_time': 0.7774112838229127, 'coverage_max_gap': 0.0016366553343640268}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=487, len(filtered_loc_df_b)=392\n", + "After filtering, retained 468 of 487 (0.9609856262833676)\n", + "Validated ct, stats are {'coverage_density': 0.7659546964823646, 'coverage_time': 0.7839579051603689, 'coverage_max_gap': 0.02127651934673235}\n", + "for tf = 0.0016366553343640268 v/s ct = 0.02127651934673235, density 0.7790479391572768 v/s 0.7659546964823646, returning tf len = 476 not cf len = 468\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 2 and include_ends=False\n", + "After filtering, 1245 of 1376 (0.904796511627907) for android and 1368 of 1373 (0.9963583394027676) for ios\n", + "After merging, found 1205 / 1376 of android 1376 (0.8757267441860465), ios 1373 (0.8776402039329935)\n", + "Validated tf, stats are {'coverage_density': 0.8431402486635492, 'coverage_time': 0.9599903910094518, 'coverage_max_gap': 0.04897910158211489}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1337, len(filtered_loc_df_b)=1203\n", + "After filtering, retained 1070 of 1376 (0.7776162790697675)\n", + "Validated ct, stats are {'coverage_density': 0.7486805527551847, 'coverage_time': 0.9599903910094518, 'coverage_max_gap': 0.030786863851615075}\n", + "for tf = 0.04897910158211489 v/s ct = 0.030786863851615075, density 0.8431402486635492 v/s 0.7486805527551847, returning tf len = 1205 not cf len = 1070\n", + "Considering entry bus trip with e-scooter access city_escooter 2 and include_ends=False\n", + "After filtering, 1145 of 1145 (1.0) for android and 1141 of 1141 (1.0) for ios\n", + "After merging, found 972 / 1150 of android 1145 (0.8489082969432314), ios 1141 (0.8518843120070114)\n", + "Validated tf, stats are {'coverage_density': 0.7840957615703963, 'coverage_time': 0.9196184857924401, 'coverage_max_gap': 0.0379140954668813}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1144, len(filtered_loc_df_b)=920\n", + "After filtering, retained 1093 of 1145 (0.9545851528384279)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Validated ct, stats are {'coverage_density': 0.8817043903255588, 'coverage_time': 0.9155850713810697, 'coverage_max_gap': 0.016940340527755476}\n", + "max_gap for tf = 0.0379140954668813 > ct = 0.016940340527755476 and density 0.7840957615703963 < 0.8817043903255588, returning ct len = 1093 not tf len = 972\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 2 and include_ends=False\n", + "After filtering, 2211 of 2211 (1.0) for android and 1994 of 2211 (0.9018543645409317) for ios\n", + "After merging, found 1565 / 2212 of android 2211 (0.707824513794663), ios 2211 (0.707824513794663)\n", + "Validated tf, stats are {'coverage_density': 0.6992908152715449, 'coverage_time': 0.9879437652174989, 'coverage_max_gap': 0.03664015773307776}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2191, len(filtered_loc_df_b)=1650\n", + "After filtering, retained 1663 of 2211 (0.7521483491632746)\n", + "Validated ct, stats are {'coverage_density': 0.7430802720744916, 'coverage_time': 0.9870501028337654, 'coverage_max_gap': 0.05049192468094861}\n", + "for tf = 0.03664015773307776 v/s ct = 0.05049192468094861, density 0.6992908152715449 v/s 0.7430802720744916, returning tf len = 1565 not cf len = 1663\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 2 and include_ends=False\n", + "After filtering, 453 of 482 (0.9398340248962656) for android and 449 of 449 (1.0) for ios\n", + "After merging, found 437 / 468 of android 482 (0.9066390041493776), ios 449 (0.9732739420935412)\n", + "Validated tf, stats are {'coverage_density': 0.7382144179687445, 'coverage_time': 0.7669321413222197, 'coverage_max_gap': 0.027028445509153117}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=466, len(filtered_loc_df_b)=391\n", + "After filtering, retained 447 of 482 (0.9273858921161826)\n", + "Validated ct, stats are {'coverage_density': 0.7551071964119652, 'coverage_time': 0.7534179185676432, 'coverage_max_gap': 0.0016892778443220698}\n", + "max_gap for tf = 0.027028445509153117 > ct = 0.0016892778443220698 and density 0.7382144179687445 < 0.7551071964119652, returning ct len = 447 not tf len = 437\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 3 and include_ends=False\n", + "After filtering, 1580 of 1602 (0.9862671660424469) for android and 1574 of 1574 (1.0) for ios\n", + "After merging, found 1304 / 1585 of android 1602 (0.8139825218476904), ios 1574 (0.8284625158831004)\n", + "Validated tf, stats are {'coverage_density': 0.8055035122864425, 'coverage_time': 0.9722872149837887, 'coverage_max_gap': 0.03520989279166198}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1565, len(filtered_loc_df_b)=1326\n", + "After filtering, retained 1527 of 1602 (0.9531835205992509)\n", + "Validated ct, stats are {'coverage_density': 0.9432544963661025, 'coverage_time': 0.9716694975663911, 'coverage_max_gap': 0.006177174173975786}\n", + "max_gap for tf = 0.03520989279166198 > ct = 0.006177174173975786 and density 0.8055035122864425 < 0.9432544963661025, returning ct len = 1527 not tf len = 1304\n", + "Considering entry bus trip with e-scooter access city_escooter 3 and include_ends=False\n", + "After filtering, 1254 of 1254 (1.0) for android and 1262 of 1262 (1.0) for ios\n", + "After merging, found 1010 / 1262 of android 1254 (0.8054226475279107), ios 1262 (0.8003169572107766)\n", + "Validated tf, stats are {'coverage_density': 0.7461495258168673, 'coverage_time': 0.9315787644109601, 'coverage_max_gap': 0.05983971444669926}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1254, len(filtered_loc_df_b)=912\n", + "After filtering, retained 1190 of 1262 (0.9429477020602218)\n", + "Validated ct, stats are {'coverage_density': 0.8791266690317546, 'coverage_time': 0.9256686691569652, 'coverage_max_gap': 0.028811714363225573}\n", + "max_gap for tf = 0.05983971444669926 > ct = 0.028811714363225573 and density 0.7461495258168673 < 0.8791266690317546, returning ct len = 1190 not tf len = 1010\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 3 and include_ends=False\n", + "After filtering, 2047 of 2047 (1.0) for android and 1812 of 2046 (0.8856304985337243) for ios\n", + "After merging, found 1392 / 2048 of android 2047 (0.680019540791402), ios 2046 (0.6803519061583577)\n", + "Validated tf, stats are {'coverage_density': 0.6718578093855969, 'coverage_time': 0.9879977987157448, 'coverage_max_gap': 0.04295642603111934}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2047, len(filtered_loc_df_b)=1192\n", + "After filtering, retained 1419 of 2047 (0.693209574987787)\n", + "Validated ct, stats are {'coverage_density': 0.6848895341366106, 'coverage_time': 0.9865498292989655, 'coverage_max_gap': 0.043439082503379106}\n", + "for tf = 0.04295642603111934 v/s ct = 0.043439082503379106, density 0.6718578093855969 v/s 0.6848895341366106, returning tf len = 1392 not cf len = 1419\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 3 and include_ends=False\n", + "After filtering, 512 of 512 (1.0) for android and 496 of 496 (1.0) for ios\n", + "After merging, found 496 / 520 of android 512 (0.96875), ios 496 (1.0)\n", + "Validated tf, stats are {'coverage_density': 0.8007402563123032, 'coverage_time': 0.8378713569074302, 'coverage_max_gap': 0.038745496273175965}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=513, len(filtered_loc_df_b)=407\n", + "After filtering, retained 488 of 512 (0.953125)\n", + "Validated ct, stats are {'coverage_density': 0.7878250908879112, 'coverage_time': 0.7862106952098622, 'coverage_max_gap': 0.0016143956780489985}\n", + "for tf = 0.038745496273175965 v/s ct = 0.0016143956780489985, density 0.8007402563123032 v/s 0.7878250908879112, returning tf len = 496 not cf len = 488\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 4 and include_ends=False\n", + "After filtering, 1605 of 1612 (0.9956575682382134) for android and 1610 of 1611 (0.9993792675356921) for ios\n", + "After merging, found 1409 / 1613 of android 1612 (0.8740694789081885), ios 1611 (0.8746120422098076)\n", + "Validated tf, stats are {'coverage_density': 0.8348085424049481, 'coverage_time': 0.9550825907429215, 'coverage_max_gap': 0.03199408182389439}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1608, len(filtered_loc_df_b)=1349\n", + "After filtering, retained 1559 of 1612 (0.96712158808933)\n", + "Validated ct, stats are {'coverage_density': 0.9236809919157659, 'coverage_time': 0.9533051417527051, 'coverage_max_gap': 0.008294761954342991}\n", + "max_gap for tf = 0.03199408182389439 > ct = 0.008294761954342991 and density 0.8348085424049481 < 0.9236809919157659, returning ct len = 1559 not tf len = 1409\n", + "Considering entry bus trip with e-scooter access city_escooter 4 and include_ends=False\n", + "After filtering, 1158 of 1158 (1.0) for android and 1152 of 1152 (1.0) for ios\n", + "After merging, found 984 / 1159 of android 1158 (0.8497409326424871), ios 1152 (0.8541666666666666)\n", + "Validated tf, stats are {'coverage_density': 0.7809055427825733, 'coverage_time': 0.918992498518516, 'coverage_max_gap': 0.0603138427352394}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1155, len(filtered_loc_df_b)=914\n", + "After filtering, retained 1151 of 1158 (0.9939550949913645)\n", + "Validated ct, stats are {'coverage_density': 0.913437276161323, 'coverage_time': 0.9126436729674382, 'coverage_max_gap': 0.000793603193884729}\n", + "max_gap for tf = 0.0603138427352394 > ct = 0.000793603193884729 and density 0.7809055427825733 < 0.913437276161323, returning ct len = 1151 not tf len = 984\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 4 and include_ends=False\n", + "After filtering, 2425 of 2433 (0.9967118783394986) for android and 2320 of 2449 (0.9473254389546754) for ios\n", + "After merging, found 1568 / 2442 of android 2433 (0.644471845458282), ios 2449 (0.6402613311555737)\n", + "Validated tf, stats are {'coverage_density': 0.636921368823108, 'coverage_time': 0.9899090407027514, 'coverage_max_gap': 0.0690539749361788}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2415, len(filtered_loc_df_b)=1576\n", + "After filtering, retained 1777 of 2449 (0.7256022866476113)\n", + "Validated ct, stats are {'coverage_density': 0.7218171380093513, 'coverage_time': 0.9878780414399226, 'coverage_max_gap': 0.020309992628287882}\n", + "max_gap for tf = 0.0690539749361788 > ct = 0.020309992628287882 and density 0.636921368823108 < 0.7218171380093513, returning ct len = 1777 not tf len = 1568\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 4 and include_ends=False\n", + "After filtering, 433 of 519 (0.8342967244701349) for android and 446 of 527 (0.8462998102466793) for ios\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After merging, found 418 / 460 of android 519 (0.8053949903660886), ios 527 (0.793168880455408)\n", + "Validated tf, stats are {'coverage_density': 0.6688683575378156, 'coverage_time': 0.7904807861810548, 'coverage_max_gap': 0.060806214321619596}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=493, len(filtered_loc_df_b)=419\n", + "After filtering, retained 515 of 527 (0.9772296015180265)\n", + "Validated ct, stats are {'coverage_density': 0.8240842204114235, 'coverage_time': 0.822484056876644, 'coverage_max_gap': 0.001600163534779463}\n", + "max_gap for tf = 0.060806214321619596 > ct = 0.001600163534779463 and density 0.6688683575378156 < 0.8240842204114235, returning ct len = 515 not tf len = 418\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 5 and include_ends=False\n", + "After filtering, 1420 of 1577 (0.9004438807863031) for android and 1478 of 1576 (0.9378172588832487) for ios\n", + "After merging, found 1348 / 1562 of android 1577 (0.8547875713379836), ios 1576 (0.8553299492385786)\n", + "Validated tf, stats are {'coverage_density': 0.8407114456318057, 'coverage_time': 0.9710591400954908, 'coverage_max_gap': 0.05051752751941859}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1537, len(filtered_loc_df_b)=1256\n", + "After filtering, retained 1020 of 1577 (0.6467977171845276)\n", + "Validated ct, stats are {'coverage_density': 0.636146642837123, 'coverage_time': 0.9673171010199783, 'coverage_max_gap': 0.09167995735005596}\n", + "for tf = 0.05051752751941859 v/s ct = 0.09167995735005596, density 0.8407114456318057 v/s 0.636146642837123, returning tf len = 1348 not cf len = 1020\n", + "Considering entry bus trip with e-scooter access city_escooter 5 and include_ends=False\n", + "After filtering, 1190 of 1190 (1.0) for android and 1149 of 1185 (0.9696202531645569) for ios\n", + "After merging, found 1002 / 1195 of android 1190 (0.8420168067226891), ios 1185 (0.8455696202531645)\n", + "Validated tf, stats are {'coverage_density': 0.810115410219315, 'coverage_time': 0.9572621214567554, 'coverage_max_gap': 0.05659488893747709}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1189, len(filtered_loc_df_b)=938\n", + "After filtering, retained 1128 of 1190 (0.9478991596638655)\n", + "Validated ct, stats are {'coverage_density': 0.9119862103067737, 'coverage_time': 0.9532196293897928, 'coverage_max_gap': 0.042041917496411556}\n", + "max_gap for tf = 0.05659488893747709 > ct = 0.042041917496411556 and density 0.810115410219315 < 0.9119862103067737, returning ct len = 1128 not tf len = 1002\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 5 and include_ends=False\n", + "After filtering, 2148 of 2152 (0.9981412639405205) for android and 1969 of 2151 (0.9153881915388191) for ios\n", + "After merging, found 1810 / 2153 of android 2152 (0.8410780669144982), ios 2151 (0.8414690841469085)\n", + "Validated tf, stats are {'coverage_density': 0.8342315398595067, 'coverage_time': 0.9918598197666622, 'coverage_max_gap': 0.05208185856581451}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2152, len(filtered_loc_df_b)=1556\n", + "After filtering, retained 1802 of 2152 (0.837360594795539)\n", + "Validated ct, stats are {'coverage_density': 0.8305443286336084, 'coverage_time': 0.9904771155569503, 'coverage_max_gap': 0.07005701329206908}\n", + "for tf = 0.05208185856581451 v/s ct = 0.07005701329206908, density 0.8342315398595067 v/s 0.8305443286336084, returning tf len = 1810 not cf len = 1802\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 5 and include_ends=False\n", + "After filtering, 475 of 475 (1.0) for android and 471 of 488 (0.9651639344262295) for ios\n", + "After merging, found 469 / 488 of android 475 (0.9873684210526316), ios 488 (0.9610655737704918)\n", + "Validated tf, stats are {'coverage_density': 0.7576191147597007, 'coverage_time': 0.7866961809978128, 'coverage_max_gap': 0.0323078513756802}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=476, len(filtered_loc_df_b)=395\n", + "After filtering, retained 475 of 488 (0.9733606557377049)\n", + "Validated ct, stats are {'coverage_density': 0.7673114701724048, 'coverage_time': 0.7656960776036207, 'coverage_max_gap': 0.00161539256878401}\n", + "max_gap for tf = 0.0323078513756802 > ct = 0.00161539256878401 and density 0.7576191147597007 < 0.7673114701724048, returning ct len = 475 not tf len = 469\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 6 and include_ends=False\n", + "After filtering, 1637 of 1670 (0.9802395209580839) for android and 1609 of 1609 (1.0) for ios\n", + "After merging, found 1449 / 1637 of android 1670 (0.8676646706586826), ios 1609 (0.9005593536357986)\n", + "Validated tf, stats are {'coverage_density': 0.8612379035463423, 'coverage_time': 0.9652521431050793, 'coverage_max_gap': 0.03566202499156697}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1683, len(filtered_loc_df_b)=1407\n", + "After filtering, retained 1605 of 1670 (0.9610778443113772)\n", + "Validated ct, stats are {'coverage_density': 0.9539591685244164, 'coverage_time': 0.9557422697739948, 'coverage_max_gap': 0.0017831012495783485}\n", + "max_gap for tf = 0.03566202499156697 > ct = 0.0017831012495783485 and density 0.8612379035463423 < 0.9539591685244164, returning ct len = 1605 not tf len = 1449\n", + "Considering entry bus trip with e-scooter access city_escooter 6 and include_ends=False\n", + "After filtering, 1368 of 1368 (1.0) for android and 1376 of 1376 (1.0) for ios\n", + "After merging, found 1072 / 1376 of android 1368 (0.783625730994152), ios 1376 (0.7790697674418605)\n", + "Validated tf, stats are {'coverage_density': 0.7479743223171917, 'coverage_time': 0.9579932318484182, 'coverage_max_gap': 0.08303073167513603}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1838, len(filtered_loc_df_b)=1015\n", + "After filtering, retained 1322 of 1376 (0.9607558139534884)\n", + "Validated ct, stats are {'coverage_density': 0.9224086325590741, 'coverage_time': 0.953806808402613, 'coverage_max_gap': 0.025118540674831068}\n", + "max_gap for tf = 0.08303073167513603 > ct = 0.025118540674831068 and density 0.7479743223171917 < 0.9224086325590741, returning ct len = 1322 not tf len = 1072\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 6 and include_ends=False\n", + "After filtering, 2451 of 2451 (1.0) for android and 2312 of 2450 (0.9436734693877551) for ios\n", + "After merging, found 1650 / 2451 of android 2451 (0.6731946144430845), ios 2450 (0.673469387755102)\n", + "Validated tf, stats are {'coverage_density': 0.6676781245364325, 'coverage_time': 0.9914008515843997, 'coverage_max_gap': 0.03682346020170627}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2513, len(filtered_loc_df_b)=1454\n", + "After filtering, retained 2029 of 2451 (0.8278253773969808)\n", + "Validated ct, stats are {'coverage_density': 0.8210417664754069, 'coverage_time': 0.9909961981755897, 'coverage_max_gap': 0.03884672724575607}\n", + "for tf = 0.03682346020170627 v/s ct = 0.03884672724575607, density 0.6676781245364325 v/s 0.8210417664754069, returning tf len = 1650 not cf len = 2029\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 6 and include_ends=False\n", + "After filtering, 490 of 554 (0.8844765342960289) for android and 428 of 478 (0.895397489539749) for ios\n", + "After merging, found 454 / 490 of android 554 (0.8194945848375451), ios 478 (0.9497907949790795)\n", + "Validated tf, stats are {'coverage_density': 0.7618622493431735, 'coverage_time': 0.7769652454755271, 'coverage_max_gap': 0.018459217495098917}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=754, len(filtered_loc_df_b)=418\n", + "After filtering, retained 454 of 554 (0.8194945848375451)\n", + "Validated ct, stats are {'coverage_density': 0.7618622493431735, 'coverage_time': 0.7954244629706261, 'coverage_max_gap': 0.033562213627452576}\n", + "for tf = 0.018459217495098917 v/s ct = 0.033562213627452576, density 0.7618622493431735 v/s 0.7618622493431735, returning tf len = 454 not cf len = 454\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 0 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 911 of 911 (1.0) for android and 951 of 988 (0.9625506072874493) for ios\n", + "After merging, found 886 / 951 of android 911 (0.9725576289791438), ios 988 (0.8967611336032388)\n", + "Validated tf, stats are {'coverage_density': 0.8581085860436715, 'coverage_time': 0.8929753006007507, 'coverage_max_gap': 0.011622238185693067}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=911, len(filtered_loc_df_b)=827\n", + "After filtering, retained 911 of 988 (0.9220647773279352)\n", + "Validated ct, stats are {'coverage_density': 0.8823215822638654, 'coverage_time': 0.8813530624150576, 'coverage_max_gap': 0.0009685198488077556}\n", + "max_gap for tf = 0.011622238185693067 > ct = 0.0009685198488077556 and density 0.8581085860436715 < 0.8823215822638654, returning ct len = 911 not tf len = 886\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 0 and include_ends=False\n", + "After filtering, 1455 of 2496 (0.5829326923076923) for android and 1134 of 2461 (0.460788297440065) for ios\n", + "After merging, found 953 / 1814 of android 2496 (0.3818108974358974), ios 2461 (0.38724095895977245)\n", + "Validated tf, stats are {'coverage_density': 0.3809103384111462, 'coverage_time': 0.954873870371698, 'coverage_max_gap': 0.09392857243087026}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1084, len(filtered_loc_df_b)=502\n", + "After filtering, retained 357 of 2496 (0.14302884615384615)\n", + "Validated ct, stats are {'coverage_density': 0.14269149088434332, 'coverage_time': 0.9828525940745104, 'coverage_max_gap': 0.2693951396527938}\n", + "for tf = 0.09392857243087026 v/s ct = 0.2693951396527938, density 0.3809103384111462 v/s 0.14269149088434332, returning tf len = 953 not cf len = 357\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 0 and include_ends=False\n", + "After filtering, 754 of 1775 (0.4247887323943662) for android and 686 of 3239 (0.21179376350725532) for ios\n", + "After merging, found 827 / 1161 of android 1775 (0.4659154929577465), ios 3239 (0.25532571781414015)\n", + "Validated tf, stats are {'coverage_density': 0.25245063653919697, 'coverage_time': 0.9569924371830502, 'coverage_max_gap': 0.17918805761609266}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=749, len(filtered_loc_df_b)=404\n", + "After filtering, retained 60 of 3239 (0.018524235875270145)\n", + "Validated ct, stats are {'coverage_density': 0.01831564473077608, 'coverage_time': 0.06807314624938443, 'coverage_max_gap': 0.021368252185905427}\n", + "for tf = 0.17918805761609266 v/s ct = 0.021368252185905427, density 0.25245063653919697 v/s 0.01831564473077608, returning tf len = 827 not cf len = 60\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 0 and include_ends=False\n", + "After filtering, 50 of 50 (1.0) for android and 34 of 34 (1.0) for ios\n", + "After merging, found 41 / 50 of android 50 (0.82), ios 34 (1.2058823529411764)\n", + "Validated tf, stats are {'coverage_density': 0.1448976460092517, 'coverage_time': 0.1625680906445263, 'coverage_max_gap': 0.024738622489384438}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=48, len(filtered_loc_df_b)=35\n", + "After filtering, retained 34 of 50 (0.68)\n", + "Validated ct, stats are {'coverage_density': 0.12015902351986726, 'coverage_time': 0.11662493459281234, 'coverage_max_gap': 0.0035340889270549197}\n", + "for tf = 0.024738622489384438 v/s ct = 0.0035340889270549197, density 0.1448976460092517 v/s 0.12015902351986726, returning tf len = 41 not cf len = 34\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 0 and include_ends=False\n", + "After filtering, 285 of 343 (0.8309037900874635) for android and 288 of 290 (0.993103448275862) for ios\n", + "After merging, found 212 / 305 of android 343 (0.6180758017492711), ios 290 (0.7310344827586207)\n", + "Validated tf, stats are {'coverage_density': 0.532341982650916, 'coverage_time': 0.7307147026010216, 'coverage_max_gap': 0.057754083023448435}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=304, len(filtered_loc_df_b)=206\n", + "After filtering, retained 178 of 343 (0.5189504373177842)\n", + "Validated ct, stats are {'coverage_density': 0.4469663816597314, 'coverage_time': 0.7181594671611414, 'coverage_max_gap': 0.21595004956593764}\n", + "for tf = 0.057754083023448435 v/s ct = 0.21595004956593764, density 0.532341982650916 v/s 0.4469663816597314, returning tf len = 212 not cf len = 178\n", + "Considering entry walk_urban_university walk_urban_university 0 and include_ends=False\n", + "After filtering, 709 of 717 (0.9888423988842399) for android and 688 of 688 (1.0) for ios\n", + "After merging, found 621 / 717 of android 717 (0.8661087866108786), ios 688 (0.9026162790697675)\n", + "Validated tf, stats are {'coverage_density': 0.7782236491699474, 'coverage_time': 0.887250150744481, 'coverage_max_gap': 0.04135487990758174}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=710, len(filtered_loc_df_b)=583\n", + "After filtering, retained 671 of 717 (0.9358437935843794)\n", + "Validated ct, stats are {'coverage_density': 0.8408825581208288, 'coverage_time': 0.8609334089851108, 'coverage_max_gap': 0.012531781790176286}\n", + "max_gap for tf = 0.04135487990758174 > ct = 0.012531781790176286 and density 0.7782236491699474 < 0.8408825581208288, returning ct len = 671 not tf len = 621\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 0 and include_ends=False\n", + "After filtering, 229 of 229 (1.0) for android and 246 of 251 (0.9800796812749004) for ios\n", + "After merging, found 209 / 249 of android 229 (0.9126637554585153), ios 251 (0.8326693227091634)\n", + "Validated tf, stats are {'coverage_density': 0.7285472124108867, 'coverage_time': 0.7947787771755127, 'coverage_max_gap': 0.0627456929349089}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=231, len(filtered_loc_df_b)=189\n", + "After filtering, retained 226 of 251 (0.900398406374502)\n", + "Validated ct, stats are {'coverage_density': 0.7878070335160784, 'coverage_time': 0.7843211616863612, 'coverage_max_gap': 0.003485871829717161}\n", + "max_gap for tf = 0.0627456929349089 > ct = 0.003485871829717161 and density 0.7285472124108867 < 0.7878070335160784, returning ct len = 226 not tf len = 209\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 0 and include_ends=False\n", + "After filtering, 1146 of 1190 (0.9630252100840336) for android and 1144 of 1176 (0.9727891156462585) for ios\n", + "After merging, found 1104 / 1146 of android 1190 (0.9277310924369748), ios 1176 (0.9387755102040817)\n", + "Validated tf, stats are {'coverage_density': 0.9122833969565461, 'coverage_time': 0.9445107995664241, 'coverage_max_gap': 0.024790309699906143}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1139, len(filtered_loc_df_b)=879\n", + "After filtering, retained 1176 of 1190 (0.9882352941176471)\n", + "Validated ct, stats are {'coverage_density': 0.9717801402363209, 'coverage_time': 0.9709537965796573, 'coverage_max_gap': 0.0008263436566635382}\n", + "max_gap for tf = 0.024790309699906143 > ct = 0.0008263436566635382 and density 0.9122833969565461 < 0.9717801402363209, returning ct len = 1176 not tf len = 1104\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 0 and include_ends=False\n", + "After filtering, 1743 of 2227 (0.7826672653794342) for android and 2109 of 2229 (0.946164199192463) for ios\n", + "After merging, found 1813 / 2222 of android 2227 (0.814099685675797), ios 2229 (0.813369223867205)\n", + "Validated tf, stats are {'coverage_density': 0.7700245521660684, 'coverage_time': 0.9462849984699395, 'coverage_max_gap': 0.04162294876573343}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2174, len(filtered_loc_df_b)=1736\n", + "After filtering, retained 1192 of 2229 (0.534768954688201)\n", + "Validated ct, stats are {'coverage_density': 0.5062709686607576, 'coverage_time': 0.945435550535945, 'coverage_max_gap': 0.06625693885157566}\n", + "for tf = 0.04162294876573343 v/s ct = 0.06625693885157566, density 0.7700245521660684 v/s 0.5062709686607576, returning tf len = 1813 not cf len = 1192\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 0 and include_ends=False\n", + "After filtering, 345 of 524 (0.6583969465648855) for android and 255 of 538 (0.4739776951672863) for ios\n", + "After merging, found 288 / 372 of android 524 (0.549618320610687), ios 538 (0.5353159851301115)\n", + "Validated tf, stats are {'coverage_density': 0.4609990314570707, 'coverage_time': 0.5058183817376193, 'coverage_max_gap': 0.02080898405882611}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=389, len(filtered_loc_df_b)=334\n", + "After filtering, retained 334 of 538 (0.620817843866171)\n", + "Validated ct, stats are {'coverage_density': 0.5346308212036862, 'coverage_time': 0.6450785058236094, 'coverage_max_gap': 0.09604146488688974}\n", + "for tf = 0.02080898405882611 v/s ct = 0.09604146488688974, density 0.4609990314570707 v/s 0.5346308212036862, returning tf len = 288 not cf len = 334\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 0 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 314 of 709 (0.44287729196050774) for android and 563 of 717 (0.7852161785216178) for ios\n", + "After merging, found 356 / 604 of android 709 (0.5021156558533145), ios 717 (0.496513249651325)\n", + "Validated tf, stats are {'coverage_density': 0.49450255535272875, 'coverage_time': 0.8612123155019433, 'coverage_max_gap': 0.08195407518486235}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=625, len(filtered_loc_df_b)=196\n", + "After filtering, retained 99 of 717 (0.13807531380753138)\n", + "Validated ct, stats are {'coverage_density': 0.13751616005595546, 'coverage_time': 0.9834489022183482, 'coverage_max_gap': 0.3111476752781215}\n", + "for tf = 0.08195407518486235 v/s ct = 0.3111476752781215, density 0.49450255535272875 v/s 0.13751616005595546, returning tf len = 356 not cf len = 99\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 0 and include_ends=False\n", + "After filtering, 3182 of 4053 (0.7850974586725882) for android and 2636 of 4053 (0.6503824327658525) for ios\n", + "After merging, found 2786 / 3948 of android 4053 (0.687392055267703), ios 4053 (0.687392055267703)\n", + "Validated tf, stats are {'coverage_density': 0.6837429302221174, 'coverage_time': 0.9944459272290092, 'coverage_max_gap': 0.07043582949524324}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3227, len(filtered_loc_df_b)=1553\n", + "After filtering, retained 725 of 4053 (0.17887984209227734)\n", + "Validated ct, stats are {'coverage_density': 0.1779302313033148, 'coverage_time': 0.9944459272290092, 'coverage_max_gap': 0.08491566900820266}\n", + "for tf = 0.07043582949524324 v/s ct = 0.08491566900820266, density 0.6837429302221174 v/s 0.1779302313033148, returning tf len = 2786 not cf len = 725\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 0 and include_ends=False\n", + "After filtering, 1021 of 1021 (1.0) for android and 1017 of 1017 (1.0) for ios\n", + "After merging, found 956 / 1021 of android 1021 (0.9363369245837414), ios 1017 (0.9400196656833825)\n", + "Validated tf, stats are {'coverage_density': 0.8548491196273662, 'coverage_time': 0.9093949316537986, 'coverage_max_gap': 0.021460647354661914}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1014, len(filtered_loc_df_b)=817\n", + "After filtering, retained 1004 of 1021 (0.9833496571988247)\n", + "Validated ct, stats are {'coverage_density': 0.89777041433669, 'coverage_time': 0.908500738014021, 'coverage_max_gap': 0.012518710956886116}\n", + "max_gap for tf = 0.021460647354661914 > ct = 0.012518710956886116 and density 0.8548491196273662 < 0.89777041433669, returning ct len = 1004 not tf len = 956\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 1 and include_ends=False\n", + "After filtering, 827 of 827 (1.0) for android and 814 of 814 (1.0) for ios\n", + "After merging, found 789 / 827 of android 827 (0.9540507859733979), ios 814 (0.9692874692874693)\n", + "Validated tf, stats are {'coverage_density': 0.8487204959369583, 'coverage_time': 0.8885210768617586, 'coverage_max_gap': 0.011832605139805502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=826, len(filtered_loc_df_b)=760\n", + "After filtering, retained 814 of 827 (0.9842805320435308)\n", + "Validated ct, stats are {'coverage_density': 0.8756127803456072, 'coverage_time': 0.8745370889692612, 'coverage_max_gap': 0.0010756913763459548}\n", + "max_gap for tf = 0.011832605139805502 > ct = 0.0010756913763459548 and density 0.8487204959369583 < 0.8756127803456072, returning ct len = 814 not tf len = 789\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 1 and include_ends=False\n", + "After filtering, 1670 of 2262 (0.7382847038019452) for android and 858 of 2259 (0.3798140770252324) for ios\n", + "After merging, found 1240 / 1760 of android 2262 (0.5481874447391689), ios 2259 (0.5489154493138557)\n", + "Validated tf, stats are {'coverage_density': 0.5424785451721612, 'coverage_time': 0.9733990024258538, 'coverage_max_gap': 0.11199557061618812}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1468, len(filtered_loc_df_b)=789\n", + "After filtering, retained 282 of 2262 (0.1246684350132626)\n", + "Validated ct, stats are {'coverage_density': 0.12337012075689473, 'coverage_time': 0.9852110352642799, 'coverage_max_gap': 0.33686167724400334}\n", + "for tf = 0.11199557061618812 v/s ct = 0.33686167724400334, density 0.5424785451721612 v/s 0.12337012075689473, returning tf len = 1240 not cf len = 282\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 1 and include_ends=False\n", + "After filtering, 1431 of 3252 (0.44003690036900367) for android and 836 of 3235 (0.25842349304482226) for ios\n", + "After merging, found 871 / 1525 of android 3252 (0.2678351783517835), ios 3235 (0.26924265842349304)\n", + "Validated tf, stats are {'coverage_density': 0.26677912342314264, 'coverage_time': 0.9593021981185794, 'coverage_max_gap': 0.14885723763908992}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1245, len(filtered_loc_df_b)=665\n", + "After filtering, retained 415 of 3252 (0.12761377613776137)\n", + "Validated ct, stats are {'coverage_density': 0.12711060415683603, 'coverage_time': 0.9406184707605867, 'coverage_max_gap': 0.6787399971362618}\n", + "for tf = 0.14885723763908992 v/s ct = 0.6787399971362618, density 0.26677912342314264 v/s 0.12711060415683603, returning tf len = 871 not cf len = 415\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 1 and include_ends=False\n", + "After filtering, 67 of 208 (0.32211538461538464) for android and 22 of 22 (1.0) for ios\n", + "After merging, found 66 / 67 of android 208 (0.3173076923076923), ios 22 (3.0)\n", + "Validated tf, stats are {'coverage_density': 0.3084304022307705, 'coverage_time': 0.3037572143181831, 'coverage_max_gap': 0.004673187912587432}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=76, len(filtered_loc_df_b)=23\n", + "After filtering, retained 22 of 208 (0.10576923076923077)\n", + "Validated ct, stats are {'coverage_density': 0.1028101340769235, 'coverage_time': 0.09813694616433608, 'coverage_max_gap': 0.004673187912587432}\n", + "for tf = 0.004673187912587432 v/s ct = 0.004673187912587432, density 0.3084304022307705 v/s 0.1028101340769235, returning tf len = 66 not cf len = 22\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 1 and include_ends=False\n", + "After filtering, 433 of 434 (0.9976958525345622) for android and 435 of 435 (1.0) for ios\n", + "After merging, found 252 / 436 of android 434 (0.5806451612903226), ios 435 (0.5793103448275863)\n", + "Validated tf, stats are {'coverage_density': 0.5490054032339559, 'coverage_time': 0.9476878984395667, 'coverage_max_gap': 0.11982260784868085}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=435, len(filtered_loc_df_b)=182\n", + "After filtering, retained 253 of 435 (0.5816091954022988)\n", + "Validated ct, stats are {'coverage_density': 0.5511839961039319, 'coverage_time': 0.9411521198296386, 'coverage_max_gap': 0.19171617255788936}\n", + "for tf = 0.11982260784868085 v/s ct = 0.19171617255788936, density 0.5490054032339559 v/s 0.5511839961039319, returning tf len = 252 not cf len = 253\n", + "Considering entry walk_urban_university walk_urban_university 1 and include_ends=False\n", + "After filtering, 709 of 709 (1.0) for android and 760 of 807 (0.9417596034696406) for ios\n", + "After merging, found 688 / 769 of android 709 (0.9703808180535967), ios 807 (0.8525402726146221)\n", + "Validated tf, stats are {'coverage_density': 0.8396693063469454, 'coverage_time': 0.8640782978105194, 'coverage_max_gap': 0.006102247865893498}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=712, len(filtered_loc_df_b)=600\n", + "After filtering, retained 685 of 807 (0.8488228004956629)\n", + "Validated ct, stats are {'coverage_density': 0.8360079576274093, 'coverage_time': 0.8640782978105194, 'coverage_max_gap': 0.024408991463573993}\n", + "for tf = 0.006102247865893498 v/s ct = 0.024408991463573993, density 0.8396693063469454 v/s 0.8360079576274093, returning tf len = 688 not cf len = 685\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 1 and include_ends=False\n", + "After filtering, 170 of 170 (1.0) for android and 168 of 168 (1.0) for ios\n", + "After merging, found 170 / 170 of android 170 (1.0), ios 168 (1.0119047619047619)\n", + "Validated tf, stats are {'coverage_density': 0.8451088057274848, 'coverage_time': 0.8401375774584996, 'coverage_max_gap': 0.004971228268985205}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=171, len(filtered_loc_df_b)=148\n", + "After filtering, retained 168 of 170 (0.9882352941176471)\n", + "Validated ct, stats are {'coverage_density': 0.8351663491895144, 'coverage_time': 0.8301951209205292, 'coverage_max_gap': 0.004971228268985205}\n", + "for tf = 0.004971228268985205 v/s ct = 0.004971228268985205, density 0.8451088057274848 v/s 0.8351663491895144, returning tf len = 170 not cf len = 168\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 1 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1147 of 1165 (0.984549356223176) for android and 1146 of 1161 (0.9870801033591732) for ios\n", + "After merging, found 1111 / 1147 of android 1165 (0.9536480686695279), ios 1161 (0.9569336778639104)\n", + "Validated tf, stats are {'coverage_density': 0.9340033578938174, 'coverage_time': 0.962586718981477, 'coverage_max_gap': 0.01092893218057572}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1158, len(filtered_loc_df_b)=896\n", + "After filtering, retained 1161 of 1165 (0.9965665236051502)\n", + "Validated ct, stats are {'coverage_density': 0.9760377124344932, 'coverage_time': 0.9751970253436797, 'coverage_max_gap': 0.000840687090813517}\n", + "max_gap for tf = 0.01092893218057572 > ct = 0.000840687090813517 and density 0.9340033578938174 < 0.9760377124344932, returning ct len = 1161 not tf len = 1111\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 1 and include_ends=False\n", + "After filtering, 2146 of 2146 (1.0) for android and 2105 of 2155 (0.9767981438515081) for ios\n", + "After merging, found 1706 / 2159 of android 2146 (0.7949673811742777), ios 2155 (0.7916473317865429)\n", + "Validated tf, stats are {'coverage_density': 0.713918044110716, 'coverage_time': 0.8976284903971194, 'coverage_max_gap': 0.029293237448857045}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2129, len(filtered_loc_df_b)=1679\n", + "After filtering, retained 1803 of 2155 (0.8366589327146172)\n", + "Validated ct, stats are {'coverage_density': 0.7545101017184179, 'coverage_time': 0.8913513680866502, 'coverage_max_gap': 0.02301611513838768}\n", + "max_gap for tf = 0.029293237448857045 > ct = 0.02301611513838768 and density 0.713918044110716 < 0.7545101017184179, returning ct len = 1803 not tf len = 1706\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 1 and include_ends=False\n", + "After filtering, 325 of 393 (0.8269720101781171) for android and 333 of 504 (0.6607142857142857) for ios\n", + "After merging, found 320 / 345 of android 393 (0.8142493638676844), ios 504 (0.6349206349206349)\n", + "Validated tf, stats are {'coverage_density': 0.527741265487869, 'coverage_time': 0.5409347971250658, 'coverage_max_gap': 0.006596765818598363}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=393, len(filtered_loc_df_b)=344\n", + "After filtering, retained 305 of 504 (0.6051587301587301)\n", + "Validated ct, stats are {'coverage_density': 0.5030033936681252, 'coverage_time': 0.628341944221494, 'coverage_max_gap': 0.12863693346266808}\n", + "for tf = 0.006596765818598363 v/s ct = 0.12863693346266808, density 0.527741265487869 v/s 0.5030033936681252, returning tf len = 320 not cf len = 305\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 1 and include_ends=False\n", + "After filtering, 509 of 732 (0.6953551912568307) for android and 542 of 724 (0.7486187845303868) for ios\n", + "After merging, found 418 / 623 of android 732 (0.5710382513661202), ios 724 (0.5773480662983426)\n", + "Validated tf, stats are {'coverage_density': 0.5518994242173256, 'coverage_time': 0.8806624783563546, 'coverage_max_gap': 0.07789967949478999}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=312, len(filtered_loc_df_b)=330\n", + "After filtering, retained 120 of 732 (0.16393442622950818)\n", + "Validated ct, stats are {'coverage_density': 0.15844002609109828, 'coverage_time': 0.7525901239327168, 'coverage_max_gap': 0.11618935246680541}\n", + "for tf = 0.07789967949478999 v/s ct = 0.11618935246680541, density 0.5518994242173256 v/s 0.15844002609109828, returning tf len = 418 not cf len = 120\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 1 and include_ends=False\n", + "After filtering, 3613 of 4078 (0.8859735164296224) for android and 1375 of 4075 (0.3374233128834356) for ios\n", + "After merging, found 2321 / 3805 of android 4078 (0.5691515448749387), ios 4075 (0.5695705521472393)\n", + "Validated tf, stats are {'coverage_density': 0.5665784012781586, 'coverage_time': 0.9949907641575935, 'coverage_max_gap': 0.03002548184283219}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3081, len(filtered_loc_df_b)=1548\n", + "After filtering, retained 309 of 4078 (0.07577243746934773)\n", + "Validated ct, stats are {'coverage_density': 0.07542986901979794, 'coverage_time': 0.994502544940637, 'coverage_max_gap': 0.2443537180867888}\n", + "for tf = 0.03002548184283219 v/s ct = 0.2443537180867888, density 0.5665784012781586 v/s 0.07542986901979794, returning tf len = 2321 not cf len = 309\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 1 and include_ends=False\n", + "After filtering, 1013 of 1013 (1.0) for android and 1025 of 1025 (1.0) for ios\n", + "After merging, found 1008 / 1028 of android 1013 (0.9950641658440277), ios 1025 (0.9834146341463414)\n", + "Validated tf, stats are {'coverage_density': 0.9113728096352767, 'coverage_time': 0.9222224859404585, 'coverage_max_gap': 0.00723311753678791}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1010, len(filtered_loc_df_b)=858\n", + "After filtering, retained 1010 of 1025 (0.9853658536585366)\n", + "Validated ct, stats are {'coverage_density': 0.9131810890194736, 'coverage_time': 0.9122769493273751, 'coverage_max_gap': 0.0009041396920984887}\n", + "max_gap for tf = 0.00723311753678791 > ct = 0.0009041396920984887 and density 0.9113728096352767 < 0.9131810890194736, returning ct len = 1010 not tf len = 1008\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 2 and include_ends=False\n", + "After filtering, 704 of 704 (1.0) for android and 700 of 700 (1.0) for ios\n", + "After merging, found 699 / 704 of android 704 (0.9928977272727273), ios 700 (0.9985714285714286)\n", + "Validated tf, stats are {'coverage_density': 0.8845801883360234, 'coverage_time': 0.889642163662696, 'coverage_max_gap': 0.0037964814950043925}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=704, len(filtered_loc_df_b)=669\n", + "After filtering, retained 700 of 704 (0.9943181818181818)\n", + "Validated ct, stats are {'coverage_density': 0.8858456821676916, 'coverage_time': 0.8845801883360234, 'coverage_max_gap': 0.0012654938316681308}\n", + "max_gap for tf = 0.0037964814950043925 > ct = 0.0012654938316681308 and density 0.8845801883360234 < 0.8858456821676916, returning ct len = 700 not tf len = 699\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 2 and include_ends=False\n", + "After filtering, 1113 of 2301 (0.48370273794002605) for android and 1396 of 2368 (0.589527027027027) for ios\n", + "After merging, found 1206 / 1825 of android 2301 (0.5241199478487614), ios 2368 (0.5092905405405406)\n", + "Validated tf, stats are {'coverage_density': 0.5014310818192664, 'coverage_time': 0.97375754031569, 'coverage_max_gap': 0.04532005631699838}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=708, len(filtered_loc_df_b)=892\n", + "After filtering, retained 286 of 2368 (0.12077702702702703)\n", + "Validated ct, stats are {'coverage_density': 0.11891317529047281, 'coverage_time': 0.9138851723372701, 'coverage_max_gap': 0.16090698894200342}\n", + "for tf = 0.04532005631699838 v/s ct = 0.16090698894200342, density 0.5014310818192664 v/s 0.11891317529047281, returning tf len = 1206 not cf len = 286\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 2 and include_ends=False\n", + "After filtering, 1487 of 3214 (0.4626633478531425) for android and 473 of 3132 (0.15102171136653894) for ios\n", + "After merging, found 851 / 1550 of android 3214 (0.2647790914747978), ios 3132 (0.2717113665389527)\n", + "Validated tf, stats are {'coverage_density': 0.2628919320453338, 'coverage_time': 0.9381936517293522, 'coverage_max_gap': 0.12974689948183338}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1059, len(filtered_loc_df_b)=471\n", + "After filtering, retained 85 of 3214 (0.02644679527069073)\n", + "Validated ct, stats are {'coverage_density': 0.026258301085609132, 'coverage_time': 0.8584919849047974, 'coverage_max_gap': 0.41210086644944216}\n", + "for tf = 0.12974689948183338 v/s ct = 0.41210086644944216, density 0.2628919320453338 v/s 0.026258301085609132, returning tf len = 851 not cf len = 85\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 2 and include_ends=False\n", + "After filtering, 69 of 216 (0.3194444444444444) for android and 25 of 25 (1.0) for ios\n", + "After merging, found 68 / 69 of android 216 (0.3148148148148148), ios 25 (2.72)\n", + "Validated tf, stats are {'coverage_density': 0.30822856965276957, 'coverage_time': 0.30369579656964063, 'coverage_max_gap': 0.004532773083128965}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=72, len(filtered_loc_df_b)=20\n", + "After filtering, retained 10 of 216 (0.046296296296296294)\n", + "Validated ct, stats are {'coverage_density': 0.045327730831289645, 'coverage_time': 0.04079495774816068, 'coverage_max_gap': 0.004532773083128965}\n", + "for tf = 0.004532773083128965 v/s ct = 0.004532773083128965, density 0.30822856965276957 v/s 0.045327730831289645, returning tf len = 68 not cf len = 10\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 2 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 389 of 397 (0.9798488664987406) for android and 383 of 386 (0.9922279792746114) for ios\n", + "After merging, found 252 / 402 of android 397 (0.6347607052896725), ios 386 (0.6528497409326425)\n", + "Validated tf, stats are {'coverage_density': 0.5949133238013545, 'coverage_time': 0.9466676303346951, 'coverage_max_gap': 0.08734838484384967}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=397, len(filtered_loc_df_b)=186\n", + "After filtering, retained 311 of 397 (0.783375314861461)\n", + "Validated ct, stats are {'coverage_density': 0.7341985861199256, 'coverage_time': 0.887648451386148, 'coverage_max_gap': 0.0566584117906052}\n", + "max_gap for tf = 0.08734838484384967 > ct = 0.0566584117906052 and density 0.5949133238013545 < 0.7341985861199256, returning ct len = 311 not tf len = 252\n", + "Considering entry walk_urban_university walk_urban_university 2 and include_ends=False\n", + "After filtering, 659 of 689 (0.9564586357039188) for android and 617 of 617 (1.0) for ios\n", + "After merging, found 589 / 659 of android 689 (0.8548621190130624), ios 617 (0.9546191247974068)\n", + "Validated tf, stats are {'coverage_density': 0.8283470602083219, 'coverage_time': 0.8874142529566234, 'coverage_max_gap': 0.03093995810625311}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=637, len(filtered_loc_df_b)=563\n", + "After filtering, retained 617 of 689 (0.895500725689405)\n", + "Validated ct, stats are {'coverage_density': 0.8677251887071895, 'coverage_time': 0.8663188269750871, 'coverage_max_gap': 0.0014063617321024141}\n", + "max_gap for tf = 0.03093995810625311 > ct = 0.0014063617321024141 and density 0.8283470602083219 < 0.8677251887071895, returning ct len = 617 not tf len = 589\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 2 and include_ends=False\n", + "After filtering, 194 of 194 (1.0) for android and 205 of 205 (1.0) for ios\n", + "After merging, found 194 / 207 of android 194 (1.0), ios 205 (0.9463414634146341)\n", + "Validated tf, stats are {'coverage_density': 0.14009311729005028, 'coverage_time': 0.14009311729005028, 'coverage_max_gap': 0.001444258941134539}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=195, len(filtered_loc_df_b)=188\n", + "After filtering, retained 192 of 205 (0.9365853658536586)\n", + "Validated ct, stats are {'coverage_density': 0.13864885834891574, 'coverage_time': 0.13792672887834848, 'coverage_max_gap': 0.0007221294705672695}\n", + "for tf = 0.001444258941134539 v/s ct = 0.0007221294705672695, density 0.14009311729005028 v/s 0.13864885834891574, returning tf len = 194 not cf len = 192\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 2 and include_ends=False\n", + "After filtering, 1176 of 1285 (0.9151750972762646) for android and 1175 of 1280 (0.91796875) for ios\n", + "After merging, found 1104 / 1177 of android 1285 (0.8591439688715953), ios 1280 (0.8625)\n", + "Validated tf, stats are {'coverage_density': 0.8586656707631112, 'coverage_time': 0.9123322751858056, 'coverage_max_gap': 0.030333298151957733}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1205, len(filtered_loc_df_b)=869\n", + "After filtering, retained 1280 of 1285 (0.9961089494163424)\n", + "Validated ct, stats are {'coverage_density': 0.9955544008847665, 'coverage_time': 0.9947766240090754, 'coverage_max_gap': 0.000777776875691224}\n", + "max_gap for tf = 0.030333298151957733 > ct = 0.000777776875691224 and density 0.8586656707631112 < 0.9955544008847665, returning ct len = 1280 not tf len = 1104\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 2 and include_ends=False\n", + "After filtering, 1768 of 1841 (0.9603476371537208) for android and 1811 of 1842 (0.9831704668838219) for ios\n", + "After merging, found 1465 / 1842 of android 1841 (0.7957631721890277), ios 1842 (0.7953311617806732)\n", + "Validated tf, stats are {'coverage_density': 0.7447256724148004, 'coverage_time': 0.9358634559151178, 'coverage_max_gap': 0.043209339355124936}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1792, len(filtered_loc_df_b)=1562\n", + "After filtering, retained 1461 of 1842 (0.7931596091205212)\n", + "Validated ct, stats are {'coverage_density': 0.7426922917392651, 'coverage_time': 0.9328133849018148, 'coverage_max_gap': 0.01626704540428233}\n", + "for tf = 0.043209339355124936 v/s ct = 0.01626704540428233, density 0.7447256724148004 v/s 0.7426922917392651, returning tf len = 1465 not cf len = 1461\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 2 and include_ends=False\n", + "After filtering, 280 of 453 (0.6181015452538632) for android and 212 of 458 (0.462882096069869) for ios\n", + "After merging, found 254 / 300 of android 453 (0.5607064017660044), ios 458 (0.5545851528384279)\n", + "Validated tf, stats are {'coverage_density': 0.4585381698523776, 'coverage_time': 0.5451910523441655, 'coverage_max_gap': 0.04874224640163069}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=388, len(filtered_loc_df_b)=342\n", + "After filtering, retained 200 of 458 (0.4366812227074236)\n", + "Validated ct, stats are {'coverage_density': 0.36105367704911623, 'coverage_time': 0.7780706740408455, 'coverage_max_gap': 0.26537445263110043}\n", + "for tf = 0.04874224640163069 v/s ct = 0.26537445263110043, density 0.4585381698523776 v/s 0.36105367704911623, returning tf len = 254 not cf len = 200\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 2 and include_ends=False\n", + "After filtering, 903 of 1084 (0.8330258302583026) for android and 915 of 1073 (0.8527493010251631) for ios\n", + "After merging, found 282 / 925 of android 1084 (0.26014760147601473), ios 1073 (0.26281453867660765)\n", + "Validated tf, stats are {'coverage_density': 0.2554780970306841, 'coverage_time': 0.8398162976859722, 'coverage_max_gap': 0.34516721620103064}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=760, len(filtered_loc_df_b)=368\n", + "After filtering, retained 551 of 1084 (0.5083025830258303)\n", + "Validated ct, stats are {'coverage_density': 0.4991788349783934, 'coverage_time': 0.969367247598695, 'coverage_max_gap': 0.14857591458522054}\n", + "max_gap for tf = 0.34516721620103064 > ct = 0.14857591458522054 and density 0.2554780970306841 < 0.4991788349783934, returning ct len = 551 not tf len = 282\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 2 and include_ends=False\n", + "After filtering, 3913 of 4074 (0.9604810996563574) for android and 2384 of 4064 (0.5866141732283464) for ios\n", + "After merging, found 2826 / 3992 of android 4074 (0.6936671575846833), ios 4064 (0.6953740157480315)\n", + "Validated tf, stats are {'coverage_density': 0.6899973494360475, 'coverage_time': 0.992267950498265, 'coverage_max_gap': 0.05371529259587065}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3855, len(filtered_loc_df_b)=1323\n", + "After filtering, retained 1012 of 4074 (0.24840451644575356)\n", + "Validated ct, stats are {'coverage_density': 0.24709034594100499, 'coverage_time': 0.9895821858684715, 'coverage_max_gap': 0.0832587035235995}\n", + "for tf = 0.05371529259587065 v/s ct = 0.0832587035235995, density 0.6899973494360475 v/s 0.24709034594100499, returning tf len = 2826 not cf len = 1012\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 2 and include_ends=False\n", + "After filtering, 971 of 1010 (0.9613861386138614) for android and 1004 of 1004 (1.0) for ios\n", + "After merging, found 998 / 1016 of android 1010 (0.9881188118811881), ios 1004 (0.9940239043824701)\n", + "Validated tf, stats are {'coverage_density': 0.8988064632700421, 'coverage_time': 0.9024088939845513, 'coverage_max_gap': 0.003602430714509187}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=981, len(filtered_loc_df_b)=875\n", + "After filtering, retained 981 of 1010 (0.9712871287128713)\n", + "Validated ct, stats are {'coverage_density': 0.883496132733378, 'coverage_time': 0.8825955250547507, 'coverage_max_gap': 0.0009006076786272967}\n", + "for tf = 0.003602430714509187 v/s ct = 0.0009006076786272967, density 0.8988064632700421 v/s 0.883496132733378, returning tf len = 998 not cf len = 981\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 3 and include_ends=False\n", + "After filtering, 655 of 734 (0.8923705722070845) for android and 728 of 728 (1.0) for ios\n", + "After merging, found 698 / 735 of android 734 (0.9509536784741145), ios 728 (0.9587912087912088)\n", + "Validated tf, stats are {'coverage_density': 0.8056836621331066, 'coverage_time': 0.8472375472861036, 'coverage_max_gap': 0.01269702046341572}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1227, len(filtered_loc_df_b)=701\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 647 of 734 (0.8814713896457765)\n", + "Validated ct, stats are {'coverage_density': 0.746815658166361, 'coverage_time': 0.7456613835787778, 'coverage_max_gap': 0.0011542745875832473}\n", + "for tf = 0.01269702046341572 v/s ct = 0.0011542745875832473, density 0.8056836621331066 v/s 0.746815658166361, returning tf len = 698 not cf len = 647\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 3 and include_ends=False\n", + "After filtering, 1826 of 2183 (0.8364635822262941) for android and 1060 of 2173 (0.4878048780487805) for ios\n", + "After merging, found 1279 / 1929 of android 2183 (0.5858909757214842), ios 2173 (0.5885872066267832)\n", + "Validated tf, stats are {'coverage_density': 0.5773975993292942, 'coverage_time': 0.9787318180968803, 'coverage_max_gap': 0.06049357178274076}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1279, len(filtered_loc_df_b)=512\n", + "After filtering, retained 245 of 2183 (0.11223087494273935)\n", + "Validated ct, stats are {'coverage_density': 0.11060391855799616, 'coverage_time': 0.9769260398347089, 'coverage_max_gap': 0.1905096066590791}\n", + "for tf = 0.06049357178274076 v/s ct = 0.1905096066590791, density 0.5773975993292942 v/s 0.11060391855799616, returning tf len = 1279 not cf len = 245\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 3 and include_ends=False\n", + "After filtering, 1870 of 3234 (0.5782312925170068) for android and 502 of 3209 (0.1564350264880025) for ios\n", + "After merging, found 700 / 2026 of android 3234 (0.21645021645021645), ios 3209 (0.21813649111872857)\n", + "Validated tf, stats are {'coverage_density': 0.21534687145791423, 'coverage_time': 0.9453727657002434, 'coverage_max_gap': 0.32978835171840576}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1153, len(filtered_loc_df_b)=580\n", + "After filtering, retained 84 of 3234 (0.025974025974025976)\n", + "Validated ct, stats are {'coverage_density': 0.025841624574949706, 'coverage_time': 0.8752312132825228, 'coverage_max_gap': 0.4205416761185268}\n", + "for tf = 0.32978835171840576 v/s ct = 0.4205416761185268, density 0.21534687145791423 v/s 0.025841624574949706, returning tf len = 700 not cf len = 84\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 3 and include_ends=False\n", + "After filtering, 81 of 285 (0.28421052631578947) for android and 70 of 70 (1.0) for ios\n", + "After merging, found 72 / 81 of android 285 (0.25263157894736843), ios 70 (1.0285714285714285)\n", + "Validated tf, stats are {'coverage_density': 0.23755539123723718, 'coverage_time': 0.2606510542741908, 'coverage_max_gap': 0.023095663036953613}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=132, len(filtered_loc_df_b)=54\n", + "After filtering, retained 70 of 285 (0.24561403508771928)\n", + "Validated ct, stats are {'coverage_density': 0.23095663036953615, 'coverage_time': 0.22765724993568562, 'coverage_max_gap': 0.0032993804338505165}\n", + "for tf = 0.023095663036953613 v/s ct = 0.0032993804338505165, density 0.23755539123723718 v/s 0.23095663036953615, returning tf len = 72 not cf len = 70\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 3 and include_ends=False\n", + "After filtering, 263 of 263 (1.0) for android and 254 of 267 (0.951310861423221) for ios\n", + "After merging, found 186 / 267 of android 263 (0.7072243346007605), ios 267 (0.6966292134831461)\n", + "Validated tf, stats are {'coverage_density': 0.6163595750229055, 'coverage_time': 0.8814604675058756, 'coverage_max_gap': 0.05964770080866827}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=282, len(filtered_loc_df_b)=170\n", + "After filtering, retained 226 of 267 (0.846441947565543)\n", + "Validated ct, stats are {'coverage_density': 0.7489100212643905, 'coverage_time': 0.8682054228817271, 'coverage_max_gap': 0.05964770080866827}\n", + "for tf = 0.05964770080866827 v/s ct = 0.05964770080866827, density 0.6163595750229055 v/s 0.7489100212643905, returning tf len = 186 not cf len = 226\n", + "Considering entry walk_urban_university walk_urban_university 3 and include_ends=False\n", + "After filtering, 612 of 660 (0.9272727272727272) for android and 653 of 653 (1.0) for ios\n", + "After merging, found 573 / 656 of android 660 (0.8681818181818182), ios 653 (0.877488514548239)\n", + "Validated tf, stats are {'coverage_density': 0.7866786144784825, 'coverage_time': 0.8992574039850019, 'coverage_max_gap': 0.026085329275900817}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=964, len(filtered_loc_df_b)=551\n", + "After filtering, retained 602 of 660 (0.9121212121212121)\n", + "Validated ct, stats are {'coverage_density': 0.8264930644259101, 'coverage_time': 0.8951386677835439, 'coverage_max_gap': 0.046679010283190936}\n", + "for tf = 0.026085329275900817 v/s ct = 0.046679010283190936, density 0.7866786144784825 v/s 0.8264930644259101, returning tf len = 573 not cf len = 602\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 3 and include_ends=False\n", + "After filtering, 410 of 410 (1.0) for android and 440 of 451 (0.975609756097561) for ios\n", + "After merging, found 362 / 440 of android 410 (0.8829268292682927), ios 451 (0.802660753880266)\n", + "Validated tf, stats are {'coverage_density': 0.7468828243198644, 'coverage_time': 0.8562330720794026, 'coverage_max_gap': 0.10109739887202585}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=613, len(filtered_loc_df_b)=332\n", + "After filtering, retained 410 of 451 (0.9090909090909091)\n", + "Validated ct, stats are {'coverage_density': 0.8459170109700122, 'coverage_time': 0.843853798748134, 'coverage_max_gap': 0.0020632122218780784}\n", + "max_gap for tf = 0.10109739887202585 > ct = 0.0020632122218780784 and density 0.7468828243198644 < 0.8459170109700122, returning ct len = 410 not tf len = 362\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 3 and include_ends=False\n", + "After filtering, 1303 of 1316 (0.9901215805471124) for android and 1293 of 1308 (0.9885321100917431) for ios\n", + "After merging, found 1191 / 1303 of android 1316 (0.9050151975683891), ios 1308 (0.9105504587155964)\n", + "Validated tf, stats are {'coverage_density': 0.8964736977369662, 'coverage_time': 0.9740024893968382, 'coverage_max_gap': 0.05344217677525155}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1338, len(filtered_loc_df_b)=1068\n", + "After filtering, retained 1308 of 1316 (0.993920972644377)\n", + "Validated ct, stats are {'coverage_density': 0.9845403834088596, 'coverage_time': 0.9837876766937153, 'coverage_max_gap': 0.0007527067151443881}\n", + "max_gap for tf = 0.05344217677525155 > ct = 0.0007527067151443881 and density 0.8964736977369662 < 0.9845403834088596, returning ct len = 1308 not tf len = 1191\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 3 and include_ends=False\n", + "After filtering, 2236 of 2236 (1.0) for android and 1910 of 2225 (0.8584269662921349) for ios\n", + "After merging, found 1854 / 2236 of android 2236 (0.8291592128801432), ios 2225 (0.8332584269662922)\n", + "Validated tf, stats are {'coverage_density': 0.7854413685081065, 'coverage_time': 0.9421907246828636, 'coverage_max_gap': 0.05846327338409855}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2222, len(filtered_loc_df_b)=1421\n", + "After filtering, retained 1068 of 2236 (0.4776386404293381)\n", + "Validated ct, stats are {'coverage_density': 0.45245489836389313, 'coverage_time': 0.9248212014310662, 'coverage_max_gap': 0.15251288708895272}\n", + "for tf = 0.05846327338409855 v/s ct = 0.15251288708895272, density 0.7854413685081065 v/s 0.45245489836389313, returning tf len = 1854 not cf len = 1068\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 3 and include_ends=False\n", + "After filtering, 267 of 436 (0.6123853211009175) for android and 294 of 650 (0.4523076923076923) for ios\n", + "After merging, found 186 / 294 of android 436 (0.42660550458715596), ios 650 (0.28615384615384615)\n", + "Validated tf, stats are {'coverage_density': 0.23982337055197994, 'coverage_time': 0.37262878542753874, 'coverage_max_gap': 0.08509861535715417}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=678, len(filtered_loc_df_b)=423\n", + "After filtering, retained 336 of 650 (0.5169230769230769)\n", + "Validated ct, stats are {'coverage_density': 0.43322931454551217, 'coverage_time': 0.5608772375812434, 'coverage_max_gap': 0.03739181583874956}\n", + "max_gap for tf = 0.08509861535715417 > ct = 0.03739181583874956 and density 0.23982337055197994 < 0.43322931454551217, returning ct len = 336 not tf len = 186\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 3 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 625 of 734 (0.8514986376021798) for android and 683 of 791 (0.8634639696586599) for ios\n", + "After merging, found 487 / 692 of android 734 (0.6634877384196185), ios 791 (0.6156763590391909)\n", + "Validated tf, stats are {'coverage_density': 0.5972148708414408, 'coverage_time': 0.8682302434409447, 'coverage_max_gap': 0.07971040370573645}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=648, len(filtered_loc_df_b)=377\n", + "After filtering, retained 453 of 791 (0.572692793931732)\n", + "Validated ct, stats are {'coverage_density': 0.5555201981338248, 'coverage_time': 0.8351197680554849, 'coverage_max_gap': 0.13244190154183902}\n", + "for tf = 0.07971040370573645 v/s ct = 0.13244190154183902, density 0.5972148708414408 v/s 0.5555201981338248, returning tf len = 487 not cf len = 453\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 3 and include_ends=False\n", + "After filtering, 1403 of 2848 (0.492626404494382) for android and 1860 of 2848 (0.6530898876404494) for ios\n", + "After merging, found 1818 / 2307 of android 2848 (0.6383426966292135), ios 2848 (0.6383426966292135)\n", + "Validated tf, stats are {'coverage_density': 0.6311853455933493, 'coverage_time': 0.98844041743909, 'coverage_max_gap': 0.047217385588941424}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1261, len(filtered_loc_df_b)=1819\n", + "After filtering, retained 341 of 2848 (0.11973314606741572)\n", + "Validated ct, stats are {'coverage_density': 0.11839065063109577, 'coverage_time': 0.9634429780096504, 'coverage_max_gap': 0.1597058630214195}\n", + "for tf = 0.047217385588941424 v/s ct = 0.1597058630214195, density 0.6311853455933493 v/s 0.11839065063109577, returning tf len = 1818 not cf len = 341\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 3 and include_ends=False\n", + "After filtering, 1013 of 1013 (1.0) for android and 1011 of 1011 (1.0) for ios\n", + "After merging, found 979 / 1013 of android 1013 (0.9664363277393879), ios 1011 (0.9683481701285855)\n", + "Validated tf, stats are {'coverage_density': 0.8870985073269518, 'coverage_time': 0.9170007042031412, 'coverage_max_gap': 0.017216416383260557}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1576, len(filtered_loc_df_b)=841\n", + "After filtering, retained 1011 of 1013 (0.998025666337611)\n", + "Validated ct, stats are {'coverage_density': 0.9160945770250748, 'coverage_time': 0.9151884498470085, 'coverage_max_gap': 0.000906127178066345}\n", + "max_gap for tf = 0.017216416383260557 > ct = 0.000906127178066345 and density 0.8870985073269518 < 0.9160945770250748, returning ct len = 1011 not tf len = 979\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 4 and include_ends=False\n", + "After filtering, 680 of 794 (0.8564231738035264) for android and 760 of 760 (1.0) for ios\n", + "After merging, found 706 / 760 of android 794 (0.889168765743073), ios 760 (0.9289473684210526)\n", + "Validated tf, stats are {'coverage_density': 0.8042906258415938, 'coverage_time': 0.864669383872195, 'coverage_max_gap': 0.027341324391215654}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1284, len(filtered_loc_df_b)=722\n", + "After filtering, retained 701 of 794 (0.8828715365239295)\n", + "Validated ct, stats are {'coverage_density': 0.7985945165934238, 'coverage_time': 0.8498594998269532, 'coverage_max_gap': 0.025062880691947682}\n", + "for tf = 0.027341324391215654 v/s ct = 0.025062880691947682, density 0.8042906258415938 v/s 0.7985945165934238, returning tf len = 706 not cf len = 701\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 4 and include_ends=False\n", + "After filtering, 1983 of 2264 (0.8758833922261484) for android and 1164 of 2258 (0.5155004428697962) for ios\n", + "After merging, found 1491 / 2123 of android 2264 (0.6585689045936396), ios 2258 (0.6603188662533215)\n", + "Validated tf, stats are {'coverage_density': 0.6504013630188552, 'coverage_time': 0.9740752807653278, 'coverage_max_gap': 0.05714458655631793}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1464, len(filtered_loc_df_b)=740\n", + "After filtering, retained 351 of 2264 (0.15503533568904593)\n", + "Validated ct, stats are {'coverage_density': 0.1531125945134931, 'coverage_time': 0.9732028443293534, 'coverage_max_gap': 0.14831419411563432}\n", + "for tf = 0.05714458655631793 v/s ct = 0.14831419411563432, density 0.6504013630188552 v/s 0.1531125945134931, returning tf len = 1491 not cf len = 351\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 4 and include_ends=False\n", + "After filtering, 348 of 3242 (0.10734114743985194) for android and 325 of 3163 (0.10275055327220993) for ios\n", + "After merging, found 419 / 650 of android 3242 (0.12924120913016657), ios 3163 (0.13246917483401835)\n", + "Validated tf, stats are {'coverage_density': 0.12844084813034298, 'coverage_time': 0.9407755678091233, 'coverage_max_gap': 0.35129644858561593}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=475, len(filtered_loc_df_b)=357\n", + "After filtering, retained 0 of 3242 (0.0)\n", + "Found exception 'GeoDataFrame' object has no attribute 'ts' while computing ct_ref_df, skipping\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 4 and include_ends=False\n", + "After filtering, 89 of 89 (1.0) for android and 83 of 83 (1.0) for ios\n", + "After merging, found 88 / 89 of android 89 (0.9887640449438202), ios 83 (1.0602409638554218)\n", + "Validated tf, stats are {'coverage_density': 0.2814932208367002, 'coverage_time': 0.2814932208367002, 'coverage_max_gap': 0.006397573200834095}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=133, len(filtered_loc_df_b)=55\n", + "After filtering, retained 83 of 89 (0.9325842696629213)\n", + "Validated ct, stats are {'coverage_density': 0.26549928783461496, 'coverage_time': 0.2623005012341979, 'coverage_max_gap': 0.0031987866004170476}\n", + "for tf = 0.006397573200834095 v/s ct = 0.0031987866004170476, density 0.2814932208367002 v/s 0.26549928783461496, returning tf len = 88 not cf len = 83\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 4 and include_ends=False\n", + "After filtering, 226 of 229 (0.9868995633187773) for android and 229 of 229 (1.0) for ios\n", + "After merging, found 163 / 232 of android 229 (0.7117903930131004), ios 229 (0.7117903930131004)\n", + "Validated tf, stats are {'coverage_density': 0.6066303924041724, 'coverage_time': 0.8597031941433364, 'coverage_max_gap': 0.17863962475705691}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=235, len(filtered_loc_df_b)=182\n", + "After filtering, retained 218 of 229 (0.9519650655021834)\n", + "Validated ct, stats are {'coverage_density': 0.8113216291049669, 'coverage_time': 0.8187649468031775, 'coverage_max_gap': 0.01488663539642141}\n", + "max_gap for tf = 0.17863962475705691 > ct = 0.01488663539642141 and density 0.6066303924041724 < 0.8113216291049669, returning ct len = 218 not tf len = 163\n", + "Considering entry walk_urban_university walk_urban_university 4 and include_ends=False\n", + "After filtering, 617 of 647 (0.9536321483771252) for android and 616 of 616 (1.0) for ios\n", + "After merging, found 575 / 656 of android 647 (0.8887171561051005), ios 616 (0.9334415584415584)\n", + "Validated tf, stats are {'coverage_density': 0.7895544111805328, 'coverage_time': 0.8870472167349986, 'coverage_max_gap': 0.05217924804323521}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1023, len(filtered_loc_df_b)=523\n", + "After filtering, retained 546 of 647 (0.8438948995363215)\n", + "Validated ct, stats are {'coverage_density': 0.7497334060949059, 'coverage_time': 0.8321216924789615, 'coverage_max_gap': 0.03844786697922595}\n", + "for tf = 0.05217924804323521 v/s ct = 0.03844786697922595, density 0.7895544111805328 v/s 0.7497334060949059, returning tf len = 575 not cf len = 546\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 4 and include_ends=False\n", + "After filtering, 355 of 363 (0.977961432506887) for android and 371 of 371 (1.0) for ios\n", + "After merging, found 303 / 371 of android 363 (0.8347107438016529), ios 371 (0.816711590296496)\n", + "Validated tf, stats are {'coverage_density': 0.7749590048000697, 'coverage_time': 0.9105128901281347, 'coverage_max_gap': 0.14066912628384104}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=545, len(filtered_loc_df_b)=300\n", + "After filtering, retained 352 of 371 (0.9487870619946092)\n", + "Validated ct, stats are {'coverage_density': 0.9002824082165827, 'coverage_time': 0.9233009925175748, 'coverage_max_gap': 0.025576204778880188}\n", + "max_gap for tf = 0.14066912628384104 > ct = 0.025576204778880188 and density 0.7749590048000697 < 0.9002824082165827, returning ct len = 352 not tf len = 303\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 4 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1015 of 1029 (0.9863945578231292) for android and 1012 of 1023 (0.989247311827957) for ios\n", + "After merging, found 972 / 1015 of android 1029 (0.9446064139941691), ios 1023 (0.9501466275659824)\n", + "Validated tf, stats are {'coverage_density': 0.9348252134222508, 'coverage_time': 0.973295386814113, 'coverage_max_gap': 0.019235086695931086}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1048, len(filtered_loc_df_b)=831\n", + "After filtering, retained 1021 of 1029 (0.9922254616132167)\n", + "Validated ct, stats are {'coverage_density': 0.981951175827282, 'coverage_time': 0.9829129301620785, 'coverage_max_gap': 0.002885263004389663}\n", + "max_gap for tf = 0.019235086695931086 > ct = 0.002885263004389663 and density 0.9348252134222508 < 0.981951175827282, returning ct len = 1021 not tf len = 972\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 4 and include_ends=False\n", + "After filtering, 2065 of 2280 (0.9057017543859649) for android and 2037 of 2256 (0.9029255319148937) for ios\n", + "After merging, found 1805 / 2247 of android 2280 (0.7916666666666666), ios 2256 (0.8000886524822695)\n", + "Validated tf, stats are {'coverage_density': 0.7561383862701297, 'coverage_time': 0.9429736883623612, 'coverage_max_gap': 0.036026538071596205}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2099, len(filtered_loc_df_b)=1793\n", + "After filtering, retained 1402 of 2280 (0.6149122807017544)\n", + "Validated ct, stats are {'coverage_density': 0.5873163532136964, 'coverage_time': 0.9249604193265631, 'coverage_max_gap': 0.07414764231014569}\n", + "for tf = 0.036026538071596205 v/s ct = 0.07414764231014569, density 0.7561383862701297 v/s 0.5873163532136964, returning tf len = 1805 not cf len = 1402\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 4 and include_ends=False\n", + "After filtering, 316 of 551 (0.573502722323049) for android and 301 of 564 (0.5336879432624113) for ios\n", + "After merging, found 262 / 342 of android 551 (0.47549909255898365), ios 564 (0.4645390070921986)\n", + "Validated tf, stats are {'coverage_density': 0.3873004758246992, 'coverage_time': 0.41390890546151055, 'coverage_max_gap': 0.014782460909339662}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=703, len(filtered_loc_df_b)=375\n", + "After filtering, retained 418 of 564 (0.7411347517730497)\n", + "Validated ct, stats are {'coverage_density': 0.6179068660103979, 'coverage_time': 0.8130353500136814, 'coverage_max_gap': 0.07982528891043418}\n", + "for tf = 0.014782460909339662 v/s ct = 0.07982528891043418, density 0.3873004758246992 v/s 0.6179068660103979, returning tf len = 262 not cf len = 418\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 4 and include_ends=False\n", + "After filtering, 763 of 766 (0.9960835509138382) for android and 757 of 823 (0.9198055893074119) for ios\n", + "After merging, found 524 / 766 of android 766 (0.6840731070496083), ios 823 (0.6366950182260024)\n", + "Validated tf, stats are {'coverage_density': 0.6063502564672132, 'coverage_time': 0.8852250881630117, 'coverage_max_gap': 0.05207206400958892}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=800, len(filtered_loc_df_b)=475\n", + "After filtering, retained 710 of 823 (0.8626974483596598)\n", + "Validated ct, stats are {'coverage_density': 0.821581454373514, 'coverage_time': 0.8713392044271213, 'coverage_max_gap': 0.037029023295707675}\n", + "max_gap for tf = 0.05207206400958892 > ct = 0.037029023295707675 and density 0.6063502564672132 < 0.821581454373514, returning ct len = 710 not tf len = 524\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 4 and include_ends=False\n", + "After filtering, 4080 of 4113 (0.9919766593727206) for android and 4069 of 4112 (0.9895428015564203) for ios\n", + "After merging, found 3215 / 4113 of android 4113 (0.7816678823243375), ios 4112 (0.7818579766536965)\n", + "Validated tf, stats are {'coverage_density': 0.7767631657027694, 'coverage_time': 0.9934837130232621, 'coverage_max_gap': 0.05339491745577357}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=4058, len(filtered_loc_df_b)=2790\n", + "After filtering, retained 3928 of 4113 (0.9550206661804036)\n", + "Validated ct, stats are {'coverage_density': 0.9490282161370072, 'coverage_time': 0.9932421070619237, 'coverage_max_gap': 0.0074897848014886005}\n", + "max_gap for tf = 0.05339491745577357 > ct = 0.0074897848014886005 and density 0.7767631657027694 < 0.9490282161370072, returning ct len = 3928 not tf len = 3215\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 4 and include_ends=False\n", + "After filtering, 898 of 898 (1.0) for android and 910 of 910 (1.0) for ios\n", + "After merging, found 882 / 910 of android 898 (0.9821826280623608), ios 910 (0.9692307692307692)\n", + "Validated tf, stats are {'coverage_density': 0.8834675687628162, 'coverage_time': 0.9105124943371881, 'coverage_max_gap': 0.01702828647275269}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1352, len(filtered_loc_df_b)=802\n", + "After filtering, retained 898 of 910 (0.9868131868131869)\n", + "Validated ct, stats are {'coverage_density': 0.8994941913254069, 'coverage_time': 0.898492527415245, 'coverage_max_gap': 0.0010016639101619231}\n", + "max_gap for tf = 0.01702828647275269 > ct = 0.0010016639101619231 and density 0.8834675687628162 < 0.8994941913254069, returning ct len = 898 not tf len = 882\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 5 and include_ends=False\n", + "After filtering, 722 of 816 (0.8848039215686274) for android and 763 of 763 (1.0) for ios\n", + "After merging, found 724 / 788 of android 816 (0.8872549019607843), ios 763 (0.9488859764089121)\n", + "Validated tf, stats are {'coverage_density': 0.8322867846460564, 'coverage_time': 0.889765153751447, 'coverage_max_gap': 0.03678615622745001}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1238, len(filtered_loc_df_b)=713\n", + "After filtering, retained 679 of 816 (0.8321078431372549)\n", + "Validated ct, stats are {'coverage_density': 0.7805562524512049, 'coverage_time': 0.8023980327112533, 'coverage_max_gap': 0.013794808585293753}\n", + "for tf = 0.03678615622745001 v/s ct = 0.013794808585293753, density 0.8322867846460564 v/s 0.7805562524512049, returning tf len = 724 not cf len = 679\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 5 and include_ends=False\n", + "After filtering, 1504 of 2307 (0.6519289120069354) for android and 1215 of 2444 (0.4971358428805237) for ios\n", + "After merging, found 1298 / 1850 of android 2307 (0.5626354573038578), ios 2444 (0.5310965630114566)\n", + "Validated tf, stats are {'coverage_density': 0.5212901981241364, 'coverage_time': 0.9277198441192257, 'coverage_max_gap': 0.04417713543424884}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1158, len(filtered_loc_df_b)=588\n", + "After filtering, retained 236 of 2444 (0.09656301145662848)\n", + "Validated ct, stats are {'coverage_density': 0.09478003602257024, 'coverage_time': 0.9237037408979303, 'coverage_max_gap': 0.12851530308145118}\n", + "for tf = 0.04417713543424884 v/s ct = 0.12851530308145118, density 0.5212901981241364 v/s 0.09478003602257024, returning tf len = 1298 not cf len = 236\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 5 and include_ends=False\n", + "After filtering, 932 of 3276 (0.2844932844932845) for android and 844 of 3194 (0.26424546023794615) for ios\n", + "After merging, found 763 / 1418 of android 3276 (0.2329059829059829), ios 3194 (0.23888541014402004)\n", + "Validated tf, stats are {'coverage_density': 0.23189344395348058, 'coverage_time': 0.9913976594708436, 'coverage_max_gap': 0.10910844872778444}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=748, len(filtered_loc_df_b)=509\n", + "After filtering, retained 78 of 3276 (0.023809523809523808)\n", + "Validated ct, stats are {'coverage_density': 0.02370601392971361, 'coverage_time': 0.2644132322929595, 'coverage_max_gap': 0.17505979517326975}\n", + "for tf = 0.10910844872778444 v/s ct = 0.17505979517326975, density 0.23189344395348058 v/s 0.02370601392971361, returning tf len = 763 not cf len = 78\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 5 and include_ends=False\n", + "After filtering, 158 of 288 (0.5486111111111112) for android and 85 of 85 (1.0) for ios\n", + "After merging, found 88 / 158 of android 288 (0.3055555555555556), ios 85 (1.035294117647059)\n", + "Validated tf, stats are {'coverage_density': 0.2840385458524602, 'coverage_time': 0.4938397444934819, 'coverage_max_gap': 0.20980119864102173}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=126, len(filtered_loc_df_b)=42\n", + "After filtering, retained 85 of 288 (0.2951388888888889)\n", + "Validated ct, stats are {'coverage_density': 0.27435541360748994, 'coverage_time': 0.27112770285916654, 'coverage_max_gap': 0.003227710748323411}\n", + "for tf = 0.20980119864102173 v/s ct = 0.003227710748323411, density 0.2840385458524602 v/s 0.27435541360748994, returning tf len = 88 not cf len = 85\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 5 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 173 of 215 (0.8046511627906977) for android and 198 of 201 (0.9850746268656716) for ios\n", + "After merging, found 151 / 209 of android 215 (0.7023255813953488), ios 201 (0.7512437810945274)\n", + "Validated tf, stats are {'coverage_density': 0.6483607743604832, 'coverage_time': 0.8845186723063546, 'coverage_max_gap': 0.08587559925304414}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=220, len(filtered_loc_df_b)=108\n", + "After filtering, retained 102 of 215 (0.4744186046511628)\n", + "Validated ct, stats are {'coverage_density': 0.4379655561905251, 'coverage_time': 0.8587559925304413, 'coverage_max_gap': 0.11163827902895737}\n", + "for tf = 0.08587559925304414 v/s ct = 0.11163827902895737, density 0.6483607743604832 v/s 0.4379655561905251, returning tf len = 151 not cf len = 102\n", + "Considering entry walk_urban_university walk_urban_university 5 and include_ends=False\n", + "After filtering, 674 of 711 (0.9479606188466948) for android and 680 of 732 (0.9289617486338798) for ios\n", + "After merging, found 643 / 694 of android 711 (0.9043600562587905), ios 732 (0.8784153005464481)\n", + "Validated tf, stats are {'coverage_density': 0.8494997745242402, 'coverage_time': 0.88913428966534, 'coverage_max_gap': 0.01585380605643994}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1020, len(filtered_loc_df_b)=546\n", + "After filtering, retained 681 of 732 (0.930327868852459)\n", + "Validated ct, stats are {'coverage_density': 0.8997034937029667, 'coverage_time': 0.9208419017782199, 'coverage_max_gap': 0.011890354542329956}\n", + "max_gap for tf = 0.01585380605643994 > ct = 0.011890354542329956 and density 0.8494997745242402 < 0.8997034937029667, returning ct len = 681 not tf len = 643\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 5 and include_ends=False\n", + "After filtering, 281 of 281 (1.0) for android and 302 of 309 (0.9773462783171522) for ios\n", + "After merging, found 274 / 302 of android 281 (0.9750889679715302), ios 309 (0.8867313915857605)\n", + "Validated tf, stats are {'coverage_density': 0.8529941851789282, 'coverage_time': 0.8778991248921816, 'coverage_max_gap': 0.031131174641566724}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=463, len(filtered_loc_df_b)=265\n", + "After filtering, retained 281 of 309 (0.9093851132686084)\n", + "Validated ct, stats are {'coverage_density': 0.8747860074280249, 'coverage_time': 0.8716728899638683, 'coverage_max_gap': 0.003113117464156672}\n", + "max_gap for tf = 0.031131174641566724 > ct = 0.003113117464156672 and density 0.8529941851789282 < 0.8747860074280249, returning ct len = 281 not tf len = 274\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 5 and include_ends=False\n", + "After filtering, 1135 of 1147 (0.9895379250217959) for android and 1084 of 1142 (0.9492119089316988) for ios\n", + "After merging, found 1027 / 1135 of android 1147 (0.8953792502179599), ios 1142 (0.8992994746059545)\n", + "Validated tf, stats are {'coverage_density': 0.8876335171016418, 'coverage_time': 0.936034176262004, 'coverage_max_gap': 0.02160743712516168}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1163, len(filtered_loc_df_b)=847\n", + "After filtering, retained 1093 of 1147 (0.952920662598082)\n", + "Validated ct, stats are {'coverage_density': 0.9446771511120686, 'coverage_time': 0.9861634303923791, 'coverage_max_gap': 0.042350576765316894}\n", + "for tf = 0.02160743712516168 v/s ct = 0.042350576765316894, density 0.8876335171016418 v/s 0.9446771511120686, returning tf len = 1027 not cf len = 1093\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 5 and include_ends=False\n", + "After filtering, 1713 of 1831 (0.9355543418896778) for android and 1818 of 1837 (0.9896570495372891) for ios\n", + "After merging, found 1432 / 1860 of android 1831 (0.7820862916439104), ios 1837 (0.7795318454001089)\n", + "Validated tf, stats are {'coverage_density': 0.7157638486680137, 'coverage_time': 0.9291934320348028, 'coverage_max_gap': 0.04948367389534453}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1480, len(filtered_loc_df_b)=1407\n", + "After filtering, retained 1003 of 1837 (0.5459989112683723)\n", + "Validated ct, stats are {'coverage_density': 0.5013345951215208, 'coverage_time': 0.8697130563424189, 'coverage_max_gap': 0.04398548790697291}\n", + "for tf = 0.04948367389534453 v/s ct = 0.04398548790697291, density 0.7157638486680137 v/s 0.5013345951215208, returning tf len = 1432 not cf len = 1003\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 5 and include_ends=False\n", + "After filtering, 249 of 419 (0.594272076372315) for android and 263 of 538 (0.4888475836431227) for ios\n", + "After merging, found 247 / 283 of android 419 (0.5894988066825776), ios 538 (0.4591078066914498)\n", + "Validated tf, stats are {'coverage_density': 0.3837736177879008, 'coverage_time': 0.424170840712943, 'coverage_max_gap': 0.04039722292504219}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=569, len(filtered_loc_df_b)=351\n", + "After filtering, retained 365 of 538 (0.6784386617100372)\n", + "Validated ct, stats are {'coverage_density': 0.5671148602938615, 'coverage_time': 0.6494630454872168, 'coverage_max_gap': 0.046612180298125604}\n", + "for tf = 0.04039722292504219 v/s ct = 0.046612180298125604, density 0.3837736177879008 v/s 0.5671148602938615, returning tf len = 247 not cf len = 365\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 5 and include_ends=False\n", + "After filtering, 528 of 661 (0.7987897125567323) for android and 493 of 664 (0.7424698795180723) for ios\n", + "After merging, found 287 / 538 of android 661 (0.4341906202723147), ios 664 (0.4322289156626506)\n", + "Validated tf, stats are {'coverage_density': 0.41486963203251953, 'coverage_time': 0.841303574365597, 'coverage_max_gap': 0.2601969817625558}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=563, len(filtered_loc_df_b)=374\n", + "After filtering, retained 392 of 664 (0.5903614457831325)\n", + "Validated ct, stats are {'coverage_density': 0.5666512047273438, 'coverage_time': 0.7863731004379464, 'coverage_max_gap': 0.11275202543044084}\n", + "max_gap for tf = 0.2601969817625558 > ct = 0.11275202543044084 and density 0.41486963203251953 < 0.5666512047273438, returning ct len = 392 not tf len = 287\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 5 and include_ends=False\n", + "After filtering, 3481 of 3524 (0.9877979568671964) for android and 3029 of 3522 (0.860022714366837) for ios\n", + "After merging, found 2845 / 3524 of android 3524 (0.8073212258796821), ios 3522 (0.8077796706416809)\n", + "Validated tf, stats are {'coverage_density': 0.8006558936603062, 'coverage_time': 0.9914624651547482, 'coverage_max_gap': 0.04024386389927022}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3391, len(filtered_loc_df_b)=2346\n", + "After filtering, retained 1838 of 3524 (0.521566401816118)\n", + "Validated ct, stats are {'coverage_density': 0.5172602926353753, 'coverage_time': 0.9908996139114018, 'coverage_max_gap': 0.051782314387872175}\n", + "for tf = 0.04024386389927022 v/s ct = 0.051782314387872175, density 0.8006558936603062 v/s 0.5172602926353753, returning tf len = 2845 not cf len = 1838\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 5 and include_ends=False\n", + "After filtering, 882 of 882 (1.0) for android and 878 of 878 (1.0) for ios\n", + "After merging, found 869 / 882 of android 882 (0.9852607709750567), ios 878 (0.989749430523918)\n", + "Validated tf, stats are {'coverage_density': 0.8859955900254392, 'coverage_time': 0.89823028171739, 'coverage_max_gap': 0.007136903486971317}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1400, len(filtered_loc_df_b)=788\n", + "After filtering, retained 878 of 882 (0.9954648526077098)\n", + "Validated ct, stats are {'coverage_density': 0.8951716087944023, 'coverage_time': 0.8941520511534063, 'coverage_max_gap': 0.0010195576409959023}\n", + "max_gap for tf = 0.007136903486971317 > ct = 0.0010195576409959023 and density 0.8859955900254392 < 0.8951716087944023, returning ct len = 878 not tf len = 869\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 6 and include_ends=False\n", + "After filtering, 784 of 840 (0.9333333333333333) for android and 780 of 780 (1.0) for ios\n", + "After merging, found 697 / 800 of android 840 (0.8297619047619048), ios 780 (0.8935897435897436)\n", + "Validated tf, stats are {'coverage_density': 0.807167907516982, 'coverage_time': 0.9079191384409093, 'coverage_max_gap': 0.04053210439468345}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1274, len(filtered_loc_df_b)=743\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 706 of 840 (0.8404761904761905)\n", + "Validated ct, stats are {'coverage_density': 0.8175904486470433, 'coverage_time': 0.846541951786103, 'coverage_max_gap': 0.02895150313905961}\n", + "max_gap for tf = 0.04053210439468345 > ct = 0.02895150313905961 and density 0.807167907516982 < 0.8175904486470433, returning ct len = 706 not tf len = 697\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 6 and include_ends=False\n", + "After filtering, 1811 of 2387 (0.7586929199832425) for android and 1794 of 2403 (0.7465667915106118) for ios\n", + "After merging, found 1529 / 2289 of android 2387 (0.6405529953917051), ios 2403 (0.636287973366625)\n", + "Validated tf, stats are {'coverage_density': 0.6283384990130914, 'coverage_time': 0.980931325797416, 'coverage_max_gap': 0.050546524119431155}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1622, len(filtered_loc_df_b)=1794\n", + "After filtering, retained 667 of 2403 (0.27756970453599666)\n", + "Validated ct, stats are {'coverage_density': 0.27410188282650877, 'coverage_time': 0.9772327996423357, 'coverage_max_gap': 0.10972294260071641}\n", + "for tf = 0.050546524119431155 v/s ct = 0.10972294260071641, density 0.6283384990130914 v/s 0.27410188282650877, returning tf len = 1529 not cf len = 667\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 6 and include_ends=False\n", + "After filtering, 2065 of 3251 (0.6351891725622886) for android and 1640 of 3241 (0.5060166615242209) for ios\n", + "After merging, found 1464 / 2319 of android 3251 (0.45032297754537065), ios 3241 (0.4517124344338167)\n", + "Validated tf, stats are {'coverage_density': 0.4461486031735094, 'coverage_time': 0.969093277385082, 'coverage_max_gap': 0.20661800065002692}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1250, len(filtered_loc_df_b)=1019\n", + "After filtering, retained 754 of 3251 (0.2319286373423562)\n", + "Validated ct, stats are {'coverage_density': 0.2297787204869031, 'coverage_time': 0.9392281386480574, 'coverage_max_gap': 0.24867299193277576}\n", + "for tf = 0.20661800065002692 v/s ct = 0.24867299193277576, density 0.4461486031735094 v/s 0.2297787204869031, returning tf len = 1464 not cf len = 754\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 6 and include_ends=False\n", + "After filtering, 89 of 254 (0.35039370078740156) for android and 79 of 79 (1.0) for ios\n", + "After merging, found 64 / 89 of android 254 (0.25196850393700787), ios 79 (0.810126582278481)\n", + "Validated tf, stats are {'coverage_density': 0.22163369478701403, 'coverage_time': 0.29782027737005007, 'coverage_max_gap': 0.06926052962094188}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=130, len(filtered_loc_df_b)=48\n", + "After filtering, retained 79 of 254 (0.3110236220472441)\n", + "Validated ct, stats are {'coverage_density': 0.27357909200272046, 'coverage_time': 0.27011606552167333, 'coverage_max_gap': 0.003463026481047094}\n", + "max_gap for tf = 0.06926052962094188 > ct = 0.003463026481047094 and density 0.22163369478701403 < 0.27357909200272046, returning ct len = 79 not tf len = 64\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 6 and include_ends=False\n", + "After filtering, 274 of 274 (1.0) for android and 272 of 272 (1.0) for ios\n", + "After merging, found 191 / 274 of android 274 (0.6970802919708029), ios 272 (0.7022058823529411)\n", + "Validated tf, stats are {'coverage_density': 0.6227492485665159, 'coverage_time': 0.8901075647050202, 'coverage_max_gap': 0.09781401809945277}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=286, len(filtered_loc_df_b)=180\n", + "After filtering, retained 272 of 274 (0.9927007299270073)\n", + "Validated ct, stats are {'coverage_density': 0.8868470974350384, 'coverage_time': 0.8835866301650567, 'coverage_max_gap': 0.0032604672699817587}\n", + "max_gap for tf = 0.09781401809945277 > ct = 0.0032604672699817587 and density 0.6227492485665159 < 0.8868470974350384, returning ct len = 272 not tf len = 191\n", + "Considering entry walk_urban_university walk_urban_university 6 and include_ends=False\n", + "After filtering, 684 of 713 (0.9593267882187938) for android and 656 of 700 (0.9371428571428572) for ios\n", + "After merging, found 652 / 696 of android 713 (0.9144460028050491), ios 700 (0.9314285714285714)\n", + "Validated tf, stats are {'coverage_density': 0.8631741165972652, 'coverage_time': 0.875089096734344, 'coverage_max_gap': 0.007943320091385877}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1068, len(filtered_loc_df_b)=546\n", + "After filtering, retained 672 of 713 (0.9424964936886395)\n", + "Validated ct, stats are {'coverage_density': 0.8896518502352181, 'coverage_time': 0.8896518502352181, 'coverage_max_gap': 0.002647773363795292}\n", + "max_gap for tf = 0.007943320091385877 > ct = 0.002647773363795292 and density 0.8631741165972652 < 0.8896518502352181, returning ct len = 672 not tf len = 652\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 6 and include_ends=False\n", + "After filtering, 368 of 382 (0.9633507853403142) for android and 369 of 381 (0.968503937007874) for ios\n", + "After merging, found 360 / 370 of android 382 (0.9424083769633508), ios 381 (0.9448818897637795)\n", + "Validated tf, stats are {'coverage_density': 0.9077499033510062, 'coverage_time': 0.9228790684068563, 'coverage_max_gap': 0.017650692565158454}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=566, len(filtered_loc_df_b)=319\n", + "After filtering, retained 381 of 382 (0.9973821989528796)\n", + "Validated ct, stats are {'coverage_density': 0.9607019810464816, 'coverage_time': 0.9581804535371733, 'coverage_max_gap': 0.0025215275093083507}\n", + "max_gap for tf = 0.017650692565158454 > ct = 0.0025215275093083507 and density 0.9077499033510062 < 0.9607019810464816, returning ct len = 381 not tf len = 360\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 6 and include_ends=False\n", + "After filtering, 1209 of 1239 (0.9757869249394673) for android and 1206 of 1231 (0.9796913078797725) for ios\n", + "After merging, found 1053 / 1212 of android 1239 (0.8498789346246973), ios 1231 (0.8554021121039805)\n", + "Validated tf, stats are {'coverage_density': 0.8390262205929572, 'coverage_time': 0.9601392172977335, 'coverage_max_gap': 0.058962906290483216}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1261, len(filtered_loc_df_b)=934\n", + "After filtering, retained 1216 of 1239 (0.9814366424535916)\n", + "Validated ct, stats are {'coverage_density': 0.9689039736382107, 'coverage_time': 0.9776687299786879, 'coverage_max_gap': 0.010358348402382186}\n", + "max_gap for tf = 0.058962906290483216 > ct = 0.010358348402382186 and density 0.8390262205929572 < 0.9689039736382107, returning ct len = 1216 not tf len = 1053\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 6 and include_ends=False\n", + "After filtering, 1619 of 1875 (0.8634666666666667) for android and 1688 of 1717 (0.9831100757134537) for ios\n", + "After merging, found 1111 / 1740 of android 1875 (0.5925333333333334), ios 1717 (0.6470588235294118)\n", + "Validated tf, stats are {'coverage_density': 0.5443877599859657, 'coverage_time': 0.8476965119493436, 'coverage_max_gap': 0.23470903423337316}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1436, len(filtered_loc_df_b)=1397\n", + "After filtering, retained 1411 of 1875 (0.7525333333333334)\n", + "Validated ct, stats are {'coverage_density': 0.69138715512169, 'coverage_time': 0.8408365401763431, 'coverage_max_gap': 0.05144978829750351}\n", + "max_gap for tf = 0.23470903423337316 > ct = 0.05144978829750351 and density 0.5443877599859657 < 0.69138715512169, returning ct len = 1411 not tf len = 1111\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 6 and include_ends=False\n", + "After filtering, 226 of 533 (0.42401500938086306) for android and 242 of 540 (0.44814814814814813) for ios\n", + "After merging, found 182 / 290 of android 533 (0.34146341463414637), ios 540 (0.337037037037037)\n", + "Validated tf, stats are {'coverage_density': 0.2779642925610029, 'coverage_time': 0.4184737151742571, 'coverage_max_gap': 0.11454572495645723}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=692, len(filtered_loc_df_b)=323\n", + "After filtering, retained 349 of 540 (0.6462962962962963)\n", + "Validated ct, stats are {'coverage_density': 0.5330194401307143, 'coverage_time': 0.8109837326917172, 'coverage_max_gap': 0.14967308060977078}\n", + "for tf = 0.11454572495645723 v/s ct = 0.14967308060977078, density 0.2779642925610029 v/s 0.5330194401307143, returning tf len = 182 not cf len = 349\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 6 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 661 of 783 (0.8441890166028098) for android and 662 of 815 (0.8122699386503067) for ios\n", + "After merging, found 433 / 663 of android 783 (0.5530012771392082), ios 815 (0.5312883435582823)\n", + "Validated tf, stats are {'coverage_density': 0.524690420284833, 'coverage_time': 0.8009708263470546, 'coverage_max_gap': 0.07876415085107194}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=706, len(filtered_loc_df_b)=398\n", + "After filtering, retained 454 of 815 (0.5570552147239264)\n", + "Validated ct, stats are {'coverage_density': 0.550137299790564, 'coverage_time': 0.7900650208445985, 'coverage_max_gap': 0.15025776470050647}\n", + "for tf = 0.07876415085107194 v/s ct = 0.15025776470050647, density 0.524690420284833 v/s 0.550137299790564, returning tf len = 433 not cf len = 454\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 6 and include_ends=False\n", + "After filtering, 2966 of 3498 (0.8479130931961121) for android and 2716 of 3498 (0.7764436821040595) for ios\n", + "After merging, found 2321 / 3127 of android 3498 (0.6635220125786163), ios 3498 (0.6635220125786163)\n", + "Validated tf, stats are {'coverage_density': 0.6598562313262989, 'coverage_time': 0.9941909698182109, 'coverage_max_gap': 0.037243070359218075}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2824, len(filtered_loc_df_b)=2020\n", + "After filtering, retained 1808 of 3498 (0.5168667810177244)\n", + "Validated ct, stats are {'coverage_density': 0.5140112306066129, 'coverage_time': 0.9867992153957706, 'coverage_max_gap': 0.07960350916474093}\n", + "for tf = 0.037243070359218075 v/s ct = 0.07960350916474093, density 0.6598562313262989 v/s 0.5140112306066129, returning tf len = 2321 not cf len = 1808\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 6 and include_ends=False\n", + "After filtering, 1025 of 1025 (1.0) for android and 1094 of 1094 (1.0) for ios\n", + "After merging, found 959 / 1094 of android 1025 (0.935609756097561), ios 1094 (0.876599634369287)\n", + "Validated tf, stats are {'coverage_density': 0.8668799982191098, 'coverage_time': 0.9871042315487674, 'coverage_max_gap': 0.088586277190274}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1587, len(filtered_loc_df_b)=834\n", + "After filtering, retained 1025 of 1094 (0.9369287020109689)\n", + "Validated ct, stats are {'coverage_density': 0.9265401440819474, 'coverage_time': 0.925636202477965, 'coverage_max_gap': 0.0009039416039823877}\n", + "max_gap for tf = 0.088586277190274 > ct = 0.0009039416039823877 and density 0.8668799982191098 < 0.9265401440819474, returning ct len = 1025 not tf len = 959\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 7 and include_ends=False\n", + "After filtering, 841 of 899 (0.9354838709677419) for android and 841 of 962 (0.8742203742203742) for ios\n", + "After merging, found 808 / 842 of android 899 (0.8987764182424917), ios 962 (0.83991683991684)\n", + "Validated tf, stats are {'coverage_density': 0.8192351929969818, 'coverage_time': 0.8516801511354761, 'coverage_max_gap': 0.013180764243763321}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1362, len(filtered_loc_df_b)=781\n", + "After filtering, retained 887 of 962 (0.922037422037422)\n", + "Validated ct, stats are {'coverage_density': 0.8993336834013896, 'coverage_time': 0.9094727328196691, 'coverage_max_gap': 0.008111239534623583}\n", + "max_gap for tf = 0.013180764243763321 > ct = 0.008111239534623583 and density 0.8192351929969818 < 0.8993336834013896, returning ct len = 887 not tf len = 808\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 7 and include_ends=False\n", + "After filtering, 2155 of 2313 (0.9316904453091224) for android and 2021 of 2339 (0.864044463445917) for ios\n", + "After merging, found 1718 / 2300 of android 2313 (0.7427583225248595), ios 2339 (0.7345019238991022)\n", + "Validated tf, stats are {'coverage_density': 0.7274851649508507, 'coverage_time': 0.9798606936532412, 'coverage_max_gap': 0.04530902948180502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2314, len(filtered_loc_df_b)=1888\n", + "After filtering, retained 982 of 2339 (0.4198375374091492)\n", + "Validated ct, stats are {'coverage_density': 0.41582679393581806, 'coverage_time': 0.9790137959059179, 'coverage_max_gap': 0.04276833623983464}\n", + "for tf = 0.04530902948180502 v/s ct = 0.04276833623983464, density 0.7274851649508507 v/s 0.41582679393581806, returning tf len = 1718 not cf len = 982\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 7 and include_ends=False\n", + "After filtering, 1521 of 3252 (0.4677121771217712) for android and 1366 of 3237 (0.4219956750077232) for ios\n", + "After merging, found 1158 / 1913 of android 3252 (0.35608856088560886), ios 3237 (0.3577386468952734)\n", + "Validated tf, stats are {'coverage_density': 0.35303965753437166, 'coverage_time': 0.9405244762465773, 'coverage_max_gap': 0.2570055538009286}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1357, len(filtered_loc_df_b)=924\n", + "After filtering, retained 692 of 3252 (0.21279212792127922)\n", + "Validated ct, stats are {'coverage_density': 0.21097015804299238, 'coverage_time': 0.9862550018339312, 'coverage_max_gap': 0.3362717981523419}\n", + "for tf = 0.2570055538009286 v/s ct = 0.3362717981523419, density 0.35303965753437166 v/s 0.21097015804299238, returning tf len = 1158 not cf len = 692\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 7 and include_ends=False\n", + "After filtering, 104 of 257 (0.4046692607003891) for android and 46 of 46 (1.0) for ios\n", + "After merging, found 82 / 104 of android 257 (0.31906614785992216), ios 46 (1.7826086956521738)\n", + "Validated tf, stats are {'coverage_density': 0.28322359473888503, 'coverage_time': 0.33503278889843713, 'coverage_max_gap': 0.04144735532764171}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=160, len(filtered_loc_df_b)=23\n", + "After filtering, retained 46 of 257 (0.17898832684824903)\n", + "Validated ct, stats are {'coverage_density': 0.15888152875595987, 'coverage_time': 0.1554275824786564, 'coverage_max_gap': 0.0034539462773034756}\n", + "for tf = 0.04144735532764171 v/s ct = 0.0034539462773034756, density 0.28322359473888503 v/s 0.15888152875595987, returning tf len = 82 not cf len = 46\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 7 and include_ends=False\n", + "After filtering, 204 of 204 (1.0) for android and 201 of 201 (1.0) for ios\n", + "After merging, found 194 / 204 of android 204 (0.9509803921568627), ios 201 (0.9651741293532339)\n", + "Validated tf, stats are {'coverage_density': 0.8003394365062539, 'coverage_time': 0.8374685856225235, 'coverage_max_gap': 0.037129149116269515}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=213, len(filtered_loc_df_b)=151\n", + "After filtering, retained 201 of 204 (0.9852941176470589)\n", + "Validated ct, stats are {'coverage_density': 0.8292176635966858, 'coverage_time': 0.825092202583767, 'coverage_max_gap': 0.004125461012918835}\n", + "max_gap for tf = 0.037129149116269515 > ct = 0.004125461012918835 and density 0.8003394365062539 < 0.8292176635966858, returning ct len = 201 not tf len = 194\n", + "Considering entry walk_urban_university walk_urban_university 7 and include_ends=False\n", + "After filtering, 685 of 749 (0.9145527369826435) for android and 666 of 666 (1.0) for ios\n", + "After merging, found 640 / 697 of android 749 (0.8544726301735648), ios 666 (0.960960960960961)\n", + "Validated tf, stats are {'coverage_density': 0.8186562196980337, 'coverage_time': 0.8391226251904845, 'coverage_max_gap': 0.012791503432781777}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1096, len(filtered_loc_df_b)=576\n", + "After filtering, retained 654 of 749 (0.8731642189586115)\n", + "Validated ct, stats are {'coverage_density': 0.8365643245039281, 'coverage_time': 0.83528517416065, 'coverage_max_gap': 0.0012791503432781775}\n", + "max_gap for tf = 0.012791503432781777 > ct = 0.0012791503432781775 and density 0.8186562196980337 < 0.8365643245039281, returning ct len = 654 not tf len = 640\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 7 and include_ends=False\n", + "After filtering, 362 of 362 (1.0) for android and 378 of 382 (0.9895287958115183) for ios\n", + "After merging, found 312 / 380 of android 362 (0.861878453038674), ios 382 (0.8167539267015707)\n", + "Validated tf, stats are {'coverage_density': 0.7673175624756924, 'coverage_time': 0.8829070670794025, 'coverage_max_gap': 0.11067080228014793}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=570, len(filtered_loc_df_b)=330\n", + "After filtering, retained 360 of 382 (0.9424083769633508)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Validated ct, stats are {'coverage_density': 0.8853664182411835, 'coverage_time': 0.8829070670794025, 'coverage_max_gap': 0.0024593511617810654}\n", + "max_gap for tf = 0.11067080228014793 > ct = 0.0024593511617810654 and density 0.7673175624756924 < 0.8853664182411835, returning ct len = 360 not tf len = 312\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 7 and include_ends=False\n", + "After filtering, 1055 of 1072 (0.9841417910447762) for android and 1056 of 1063 (0.993414863593603) for ios\n", + "After merging, found 942 / 1056 of android 1072 (0.878731343283582), ios 1063 (0.8861712135465664)\n", + "Validated tf, stats are {'coverage_density': 0.8674586835569785, 'coverage_time': 0.9705960217293581, 'coverage_max_gap': 0.04880606181371535}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1088, len(filtered_loc_df_b)=830\n", + "After filtering, retained 1062 of 1072 (0.9906716417910447)\n", + "Validated ct, stats are {'coverage_density': 0.9779629744559567, 'coverage_time': 0.9770421053651318, 'coverage_max_gap': 0.000920869090824818}\n", + "max_gap for tf = 0.04880606181371535 > ct = 0.000920869090824818 and density 0.8674586835569785 < 0.9779629744559567, returning ct len = 1062 not tf len = 942\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 7 and include_ends=False\n", + "After filtering, 1808 of 1875 (0.9642666666666667) for android and 1862 of 1875 (0.9930666666666667) for ios\n", + "After merging, found 1496 / 1879 of android 1875 (0.7978666666666666), ios 1875 (0.7978666666666666)\n", + "Validated tf, stats are {'coverage_density': 0.7601994145728699, 'coverage_time': 0.946692185393888, 'coverage_max_gap': 0.046750231377475956}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1751, len(filtered_loc_df_b)=1600\n", + "After filtering, retained 1399 of 1875 (0.7461333333333333)\n", + "Validated ct, stats are {'coverage_density': 0.7109084097509658, 'coverage_time': 0.9421187931939176, 'coverage_max_gap': 0.024391425066509192}\n", + "for tf = 0.046750231377475956 v/s ct = 0.024391425066509192, density 0.7601994145728699 v/s 0.7109084097509658, returning tf len = 1496 not cf len = 1399\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 7 and include_ends=False\n", + "After filtering, 247 of 432 (0.5717592592592593) for android and 254 of 521 (0.4875239923224568) for ios\n", + "After merging, found 180 / 318 of android 432 (0.4166666666666667), ios 521 (0.345489443378119)\n", + "Validated tf, stats are {'coverage_density': 0.2780683961961716, 'coverage_time': 0.4788955712267399, 'coverage_max_gap': 0.09268946539872386}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=595, len(filtered_loc_df_b)=368\n", + "After filtering, retained 398 of 521 (0.763915547024952)\n", + "Validated ct, stats are {'coverage_density': 0.6148401204782016, 'coverage_time': 0.6534607310610032, 'coverage_max_gap': 0.015448244233120644}\n", + "max_gap for tf = 0.09268946539872386 > ct = 0.015448244233120644 and density 0.2780683961961716 < 0.6148401204782016, returning ct len = 398 not tf len = 180\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 7 and include_ends=False\n", + "After filtering, 537 of 669 (0.8026905829596412) for android and 588 of 749 (0.7850467289719626) for ios\n", + "After merging, found 473 / 707 of android 669 (0.7070254110612855), ios 749 (0.6315086782376502)\n", + "Validated tf, stats are {'coverage_density': 0.6106403254191812, 'coverage_time': 0.9333889117929557, 'coverage_max_gap': 0.07229568334772547}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=690, len(filtered_loc_df_b)=283\n", + "After filtering, retained 81 of 749 (0.1081441922563418)\n", + "Validated ct, stats are {'coverage_density': 0.10457054198510292, 'coverage_time': 0.8262363811168625, 'coverage_max_gap': 0.37051537715709304}\n", + "for tf = 0.07229568334772547 v/s ct = 0.37051537715709304, density 0.6106403254191812 v/s 0.10457054198510292, returning tf len = 473 not cf len = 81\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 7 and include_ends=False\n", + "After filtering, 2272 of 2775 (0.8187387387387387) for android and 2705 of 2766 (0.9779464931308749) for ios\n", + "After merging, found 2328 / 2724 of android 2775 (0.8389189189189189), ios 2766 (0.841648590021692)\n", + "Validated tf, stats are {'coverage_density': 0.8293417139883607, 'coverage_time': 0.9839526692593866, 'coverage_max_gap': 0.04951825525961432}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2210, len(filtered_loc_df_b)=2299\n", + "After filtering, retained 1634 of 2775 (0.5888288288288288)\n", + "Validated ct, stats are {'coverage_density': 0.5821066841310057, 'coverage_time': 0.9850214085815366, 'coverage_max_gap': 0.04702453017459777}\n", + "for tf = 0.04951825525961432 v/s ct = 0.04702453017459777, density 0.8293417139883607 v/s 0.5821066841310057, returning tf len = 2328 not cf len = 1634\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 7 and include_ends=False\n", + "After filtering, 992 of 992 (1.0) for android and 976 of 976 (1.0) for ios\n", + "After merging, found 969 / 992 of android 992 (0.9768145161290323), ios 976 (0.992827868852459)\n", + "Validated tf, stats are {'coverage_density': 0.8805066895465209, 'coverage_time': 0.8914107971570041, 'coverage_max_gap': 0.011812783244690166}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1562, len(filtered_loc_df_b)=830\n", + "After filtering, retained 965 of 992 (0.9727822580645161)\n", + "Validated ct, stats are {'coverage_density': 0.8768719870096932, 'coverage_time': 0.8859587433517625, 'coverage_max_gap': 0.010904107610483231}\n", + "for tf = 0.011812783244690166 v/s ct = 0.010904107610483231, density 0.8805066895465209 v/s 0.8768719870096932, returning tf len = 969 not cf len = 965\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 8 and include_ends=False\n", + "After filtering, 720 of 769 (0.9362808842652796) for android and 706 of 706 (1.0) for ios\n", + "After merging, found 701 / 742 of android 769 (0.9115734720416124), ios 706 (0.9929178470254958)\n", + "Validated tf, stats are {'coverage_density': 0.8268615005557718, 'coverage_time': 0.8528115048528145, 'coverage_max_gap': 0.015334093448252544}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1247, len(filtered_loc_df_b)=685\n", + "After filtering, retained 645 of 769 (0.8387516254876463)\n", + "Validated ct, stats are {'coverage_density': 0.7608069441632993, 'coverage_time': 0.7596273985134337, 'coverage_max_gap': 0.0011795456498655803}\n", + "for tf = 0.015334093448252544 v/s ct = 0.0011795456498655803, density 0.8268615005557718 v/s 0.7608069441632993, returning tf len = 701 not cf len = 645\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 8 and include_ends=False\n", + "After filtering, 2122 of 2384 (0.8901006711409396) for android and 1863 of 2226 (0.8369272237196765) for ios\n", + "After merging, found 1811 / 2176 of android 2384 (0.7596476510067114), ios 2226 (0.8135669362084457)\n", + "Validated tf, stats are {'coverage_density': 0.7443765218462242, 'coverage_time': 0.91002187706656, 'coverage_max_gap': 0.034115544623543125}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2221, len(filtered_loc_df_b)=1693\n", + "After filtering, retained 1327 of 2384 (0.5566275167785235)\n", + "Validated ct, stats are {'coverage_density': 0.5454376833185751, 'coverage_time': 0.9079667237759852, 'coverage_max_gap': 0.04973470963191227}\n", + "for tf = 0.034115544623543125 v/s ct = 0.04973470963191227, density 0.7443765218462242 v/s 0.5454376833185751, returning tf len = 1811 not cf len = 1327\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 8 and include_ends=False\n", + "After filtering, 1771 of 3331 (0.5316721705193636) for android and 1221 of 3294 (0.37067395264116576) for ios\n", + "After merging, found 1280 / 2253 of android 3331 (0.3842689882918043), ios 3294 (0.3885853066180935)\n", + "Validated tf, stats are {'coverage_density': 0.383648248739138, 'coverage_time': 0.9669134769003588, 'coverage_max_gap': 0.1342768870586983}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1384, len(filtered_loc_df_b)=920\n", + "After filtering, retained 298 of 3331 (0.08946262383668568)\n", + "Validated ct, stats are {'coverage_density': 0.08931810790958057, 'coverage_time': 0.6587959771317385, 'coverage_max_gap': 0.41781692089246747}\n", + "for tf = 0.1342768870586983 v/s ct = 0.41781692089246747, density 0.383648248739138 v/s 0.08931810790958057, returning tf len = 1280 not cf len = 298\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 8 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 63 of 296 (0.21283783783783783) for android and 45 of 45 (1.0) for ios\n", + "After merging, found 49 / 63 of android 296 (0.16554054054054054), ios 45 (1.0888888888888888)\n", + "Validated tf, stats are {'coverage_density': 0.1603038732932385, 'coverage_time': 0.20283347233022014, 'coverage_max_gap': 0.029443568564064215}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=85, len(filtered_loc_df_b)=23\n", + "After filtering, retained 45 of 296 (0.15202702702702703)\n", + "Validated ct, stats are {'coverage_density': 0.14721784282032108, 'coverage_time': 0.1439463352020917, 'coverage_max_gap': 0.0032715076182293574}\n", + "for tf = 0.029443568564064215 v/s ct = 0.0032715076182293574, density 0.1603038732932385 v/s 0.14721784282032108, returning tf len = 49 not cf len = 45\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 8 and include_ends=False\n", + "After filtering, 229 of 238 (0.9621848739495799) for android and 230 of 238 (0.9663865546218487) for ios\n", + "After merging, found 204 / 230 of android 238 (0.8571428571428571), ios 238 (0.8571428571428571)\n", + "Validated tf, stats are {'coverage_density': 0.8498401490019436, 'coverage_time': 0.9539872260855151, 'coverage_max_gap': 0.06248824625014291}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=239, len(filtered_loc_df_b)=182\n", + "After filtering, retained 237 of 238 (0.9957983193277311)\n", + "Validated ct, stats are {'coverage_density': 0.987314290752258, 'coverage_time': 0.9831484076689151, 'coverage_max_gap': 0.004165883083342861}\n", + "max_gap for tf = 0.06248824625014291 > ct = 0.004165883083342861 and density 0.8498401490019436 < 0.987314290752258, returning ct len = 237 not tf len = 204\n", + "Considering entry walk_urban_university walk_urban_university 8 and include_ends=False\n", + "After filtering, 710 of 721 (0.984743411927878) for android and 690 of 690 (1.0) for ios\n", + "After merging, found 677 / 713 of android 721 (0.9389736477115118), ios 690 (0.981159420289855)\n", + "Validated tf, stats are {'coverage_density': 0.8394562887158245, 'coverage_time': 0.880375132922061, 'coverage_max_gap': 0.012399649759465649}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1131, len(filtered_loc_df_b)=575\n", + "After filtering, retained 690 of 721 (0.957004160887656)\n", + "Validated ct, stats are {'coverage_density': 0.8555758334031298, 'coverage_time': 0.8543358684271832, 'coverage_max_gap': 0.001239964975946565}\n", + "max_gap for tf = 0.012399649759465649 > ct = 0.001239964975946565 and density 0.8394562887158245 < 0.8555758334031298, returning ct len = 690 not tf len = 677\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 8 and include_ends=False\n", + "After filtering, 355 of 358 (0.9916201117318436) for android and 323 of 323 (1.0) for ios\n", + "After merging, found 312 / 355 of android 358 (0.8715083798882681), ios 323 (0.9659442724458205)\n", + "Validated tf, stats are {'coverage_density': 0.8375057446956659, 'coverage_time': 0.8804547572441616, 'coverage_max_gap': 0.048317639117057644}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=539, len(filtered_loc_df_b)=301\n", + "After filtering, retained 323 of 358 (0.9022346368715084)\n", + "Validated ct, stats are {'coverage_density': 0.8670331908227566, 'coverage_time': 0.8643488775384757, 'coverage_max_gap': 0.0026843132842809805}\n", + "max_gap for tf = 0.048317639117057644 > ct = 0.0026843132842809805 and density 0.8375057446956659 < 0.8670331908227566, returning ct len = 323 not tf len = 312\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 8 and include_ends=False\n", + "After filtering, 1231 of 1246 (0.9879614767255217) for android and 1208 of 1245 (0.970281124497992) for ios\n", + "After merging, found 1129 / 1233 of android 1246 (0.906099518459069), ios 1245 (0.9068273092369478)\n", + "Validated tf, stats are {'coverage_density': 0.8960857544283722, 'coverage_time': 0.9579942476484015, 'coverage_max_gap': 0.06349589048208129}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1256, len(filtered_loc_df_b)=921\n", + "After filtering, retained 1224 of 1246 (0.9823434991974318)\n", + "Validated ct, stats are {'coverage_density': 0.9714871243758437, 'coverage_time': 0.9857736997343121, 'coverage_max_gap': 0.015873972620520323}\n", + "max_gap for tf = 0.06349589048208129 > ct = 0.015873972620520323 and density 0.8960857544283722 < 0.9714871243758437, returning ct len = 1224 not tf len = 1129\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 8 and include_ends=False\n", + "After filtering, 2020 of 2023 (0.9985170538803757) for android and 2107 of 2119 (0.9943369513921662) for ios\n", + "After merging, found 1772 / 2116 of android 2023 (0.8759268413247652), ios 2119 (0.8362435110901368)\n", + "Validated tf, stats are {'coverage_density': 0.8010575750841199, 'coverage_time': 0.9167859832226835, 'coverage_max_gap': 0.04385021714625261}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1987, len(filtered_loc_df_b)=1808\n", + "After filtering, retained 1934 of 2119 (0.9126946672958943)\n", + "Validated ct, stats are {'coverage_density': 0.8742919583593046, 'coverage_time': 0.8968951630738679, 'coverage_max_gap': 0.007685089602951489}\n", + "max_gap for tf = 0.04385021714625261 > ct = 0.007685089602951489 and density 0.8010575750841199 < 0.8742919583593046, returning ct len = 1934 not tf len = 1772\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 8 and include_ends=False\n", + "After filtering, 242 of 501 (0.48303393213572854) for android and 263 of 450 (0.5844444444444444) for ios\n", + "After merging, found 204 / 282 of android 501 (0.40718562874251496), ios 450 (0.4533333333333333)\n", + "Validated tf, stats are {'coverage_density': 0.3454994037888498, 'coverage_time': 0.5961558339886036, 'coverage_max_gap': 0.1507325830255276}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=707, len(filtered_loc_df_b)=256\n", + "After filtering, retained 369 of 501 (0.7365269461077845)\n", + "Validated ct, stats are {'coverage_density': 0.6249474509710077, 'coverage_time': 0.7384202943722477, 'coverage_max_gap': 0.030485241510780865}\n", + "max_gap for tf = 0.1507325830255276 > ct = 0.030485241510780865 and density 0.3454994037888498 < 0.6249474509710077, returning ct len = 369 not tf len = 204\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 8 and include_ends=False\n", + "After filtering, 542 of 624 (0.8685897435897436) for android and 546 of 638 (0.8557993730407524) for ios\n", + "After merging, found 446 / 587 of android 624 (0.7147435897435898), ios 638 (0.6990595611285266)\n", + "Validated tf, stats are {'coverage_density': 0.6672010617873143, 'coverage_time': 0.876636372662256, 'coverage_max_gap': 0.07180639229998001}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=587, len(filtered_loc_df_b)=379\n", + "After filtering, retained 289 of 638 (0.45297805642633227)\n", + "Validated ct, stats are {'coverage_density': 0.43233432030612967, 'coverage_time': 0.7584550186685389, 'coverage_max_gap': 0.14361278459996002}\n", + "for tf = 0.07180639229998001 v/s ct = 0.14361278459996002, density 0.6672010617873143 v/s 0.43233432030612967, returning tf len = 446 not cf len = 289\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 8 and include_ends=False\n", + "After filtering, 2848 of 3117 (0.9136990696182227) for android and 3010 of 3117 (0.9656721206288098) for ios\n", + "After merging, found 2596 / 3083 of android 3117 (0.8328521013795316), ios 3117 (0.8328521013795316)\n", + "Validated tf, stats are {'coverage_density': 0.8258674352133011, 'coverage_time': 0.9912954268584924, 'coverage_max_gap': 0.023541675734123375}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2966, len(filtered_loc_df_b)=2420\n", + "After filtering, retained 2134 of 3117 (0.684632659608598)\n", + "Validated ct, stats are {'coverage_density': 0.6788910272516119, 'coverage_time': 0.9912954268584924, 'coverage_max_gap': 0.028949898537908473}\n", + "for tf = 0.023541675734123375 v/s ct = 0.028949898537908473, density 0.8258674352133011 v/s 0.6788910272516119, returning tf len = 2596 not cf len = 2134\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 8 and include_ends=False\n", + "After filtering, 973 of 978 (0.9948875255623721) for android and 1006 of 1006 (1.0) for ios\n", + "After merging, found 982 / 1006 of android 978 (1.0040899795501022), ios 1006 (0.9761431411530815)\n", + "Validated tf, stats are {'coverage_density': 0.8713736368896565, 'coverage_time': 0.8784724037889613, 'coverage_max_gap': 0.005324075174478553}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1520, len(filtered_loc_df_b)=902\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 978 of 1006 (0.9721669980119284)\n", + "Validated ct, stats are {'coverage_density': 0.8678242534400042, 'coverage_time': 0.8669369075775911, 'coverage_max_gap': 0.0008873458624130922}\n", + "for tf = 0.005324075174478553 v/s ct = 0.0008873458624130922, density 0.8713736368896565 v/s 0.8678242534400042, returning tf len = 982 not cf len = 978\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 9 and include_ends=False\n", + "After filtering, 743 of 756 (0.9828042328042328) for android and 740 of 756 (0.9788359788359788) for ios\n", + "After merging, found 707 / 743 of android 756 (0.9351851851851852), ios 756 (0.9351851851851852)\n", + "Validated tf, stats are {'coverage_density': 0.8195667487844079, 'coverage_time': 0.8566617077110007, 'coverage_max_gap': 0.016229044530384318}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1185, len(filtered_loc_df_b)=711\n", + "After filtering, retained 756 of 756 (1.0)\n", + "Validated ct, stats are {'coverage_density': 0.876368404640753, 'coverage_time': 0.8752091871742971, 'coverage_max_gap': 0.0011592174664560226}\n", + "max_gap for tf = 0.016229044530384318 > ct = 0.0011592174664560226 and density 0.8195667487844079 < 0.876368404640753, returning ct len = 756 not tf len = 707\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 9 and include_ends=False\n", + "After filtering, 2175 of 2242 (0.9701159678858162) for android and 1262 of 2262 (0.5579133510167993) for ios\n", + "After merging, found 1752 / 2222 of android 2242 (0.7814451382694023), ios 2262 (0.7745358090185677)\n", + "Validated tf, stats are {'coverage_density': 0.7736140787388972, 'coverage_time': 0.982030657029285, 'coverage_max_gap': 0.03885732815583502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2240, len(filtered_loc_df_b)=1468\n", + "After filtering, retained 604 of 2262 (0.26702033598585323)\n", + "Validated ct, stats are {'coverage_density': 0.26670257052414037, 'coverage_time': 0.9882125046904406, 'coverage_max_gap': 0.1995853673458799}\n", + "for tf = 0.03885732815583502 v/s ct = 0.1995853673458799, density 0.7736140787388972 v/s 0.26670257052414037, returning tf len = 1752 not cf len = 604\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 9 and include_ends=False\n", + "After filtering, 775 of 3252 (0.23831488314883148) for android and 1505 of 3239 (0.4646495832046928) for ios\n", + "After merging, found 1226 / 1993 of android 3252 (0.3769987699876999), ios 3239 (0.37851188638468664)\n", + "Validated tf, stats are {'coverage_density': 0.373255190077196, 'coverage_time': 0.9590161898394514, 'coverage_max_gap': 0.08372363562090449}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=550, len(filtered_loc_df_b)=899\n", + "After filtering, retained 63 of 3252 (0.01937269372693727)\n", + "Validated ct, stats are {'coverage_density': 0.019180323796789026, 'coverage_time': 0.2874004073677594, 'coverage_max_gap': 0.14096015742719556}\n", + "for tf = 0.08372363562090449 v/s ct = 0.14096015742719556, density 0.373255190077196 v/s 0.019180323796789026, returning tf len = 1226 not cf len = 63\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 9 and include_ends=False\n", + "After filtering, 75 of 75 (1.0) for android and 23 of 23 (1.0) for ios\n", + "After merging, found 62 / 75 of android 75 (0.8266666666666667), ios 23 (2.6956521739130435)\n", + "Validated tf, stats are {'coverage_density': 0.2141864968524252, 'coverage_time': 0.25218732693914575, 'coverage_max_gap': 0.034546209169745996}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=119, len(filtered_loc_df_b)=21\n", + "After filtering, retained 23 of 75 (0.30666666666666664)\n", + "Validated ct, stats are {'coverage_density': 0.07945628109041579, 'coverage_time': 0.07600166017344119, 'coverage_max_gap': 0.0034546209169746}\n", + "for tf = 0.034546209169745996 v/s ct = 0.0034546209169746, density 0.2141864968524252 v/s 0.07945628109041579, returning tf len = 62 not cf len = 23\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 9 and include_ends=False\n", + "After filtering, 269 of 277 (0.9711191335740073) for android and 276 of 276 (1.0) for ios\n", + "After merging, found 200 / 277 of android 277 (0.7220216606498195), ios 276 (0.7246376811594203)\n", + "Validated tf, stats are {'coverage_density': 0.6603342483678867, 'coverage_time': 0.9112612627476836, 'coverage_max_gap': 0.12216183594805903}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=297, len(filtered_loc_df_b)=186\n", + "After filtering, retained 189 of 277 (0.6823104693140795)\n", + "Validated ct, stats are {'coverage_density': 0.6240158647076529, 'coverage_time': 0.9079595915058442, 'coverage_max_gap': 0.12546350718989846}\n", + "for tf = 0.12216183594805903 v/s ct = 0.12546350718989846, density 0.6603342483678867 v/s 0.6240158647076529, returning tf len = 200 not cf len = 189\n", + "Considering entry walk_urban_university walk_urban_university 9 and include_ends=False\n", + "After filtering, 680 of 732 (0.9289617486338798) for android and 693 of 693 (1.0) for ios\n", + "After merging, found 672 / 699 of android 732 (0.9180327868852459), ios 693 (0.9696969696969697)\n", + "Validated tf, stats are {'coverage_density': 0.8747502519794145, 'coverage_time': 0.900784485669278, 'coverage_max_gap': 0.027335945374356702}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1141, len(filtered_loc_df_b)=596\n", + "After filtering, retained 681 of 732 (0.930327868852459)\n", + "Validated ct, stats are {'coverage_density': 0.886465657139853, 'coverage_time': 0.900784485669278, 'coverage_max_gap': 0.016922251898411293}\n", + "max_gap for tf = 0.027335945374356702 > ct = 0.016922251898411293 and density 0.8747502519794145 < 0.886465657139853, returning ct len = 681 not tf len = 672\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 9 and include_ends=False\n", + "After filtering, 354 of 358 (0.9888268156424581) for android and 370 of 370 (1.0) for ios\n", + "After merging, found 301 / 371 of android 358 (0.840782122905028), ios 370 (0.8135135135135135)\n", + "Validated tf, stats are {'coverage_density': 0.7588456226818713, 'coverage_time': 0.8874207946312914, 'coverage_max_gap': 0.13361733555527966}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=560, len(filtered_loc_df_b)=324\n", + "After filtering, retained 349 of 370 (0.9432432432432433)\n", + "Validated ct, stats are {'coverage_density': 0.8798575492225019, 'coverage_time': 0.8874207946312914, 'coverage_max_gap': 0.012605409014649025}\n", + "max_gap for tf = 0.13361733555527966 > ct = 0.012605409014649025 and density 0.7588456226818713 < 0.8798575492225019, returning ct len = 349 not tf len = 301\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 9 and include_ends=False\n", + "After filtering, 1338 of 1338 (1.0) for android and 1341 of 1349 (0.994069681245367) for ios\n", + "After merging, found 1011 / 1342 of android 1338 (0.7556053811659192), ios 1349 (0.7494440326167532)\n", + "Validated tf, stats are {'coverage_density': 0.7400469326473099, 'coverage_time': 0.9794092936519294, 'coverage_max_gap': 0.06514755391257229}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1373, len(filtered_loc_df_b)=904\n", + "After filtering, retained 1337 of 1349 (0.9911045218680504)\n", + "Validated ct, stats are {'coverage_density': 0.9786772986641478, 'coverage_time': 0.977945303676366, 'coverage_max_gap': 0.0007319949877817112}\n", + "max_gap for tf = 0.06514755391257229 > ct = 0.0007319949877817112 and density 0.7400469326473099 < 0.9786772986641478, returning ct len = 1337 not tf len = 1011\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 9 and include_ends=False\n", + "After filtering, 1796 of 1811 (0.9917172832689122) for android and 1825 of 1831 (0.9967231021299836) for ios\n", + "After merging, found 1443 / 1831 of android 1811 (0.7967973495306461), ios 1831 (0.7880939377389404)\n", + "Validated tf, stats are {'coverage_density': 0.7450757436738937, 'coverage_time': 0.9366371441610833, 'coverage_max_gap': 0.05989520877766575}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1756, len(filtered_loc_df_b)=1467\n", + "After filtering, retained 1661 of 1831 (0.9071545603495358)\n", + "Validated ct, stats are {'coverage_density': 0.8576374291353691, 'coverage_time': 0.9340554541275633, 'coverage_max_gap': 0.031496618408944924}\n", + "max_gap for tf = 0.05989520877766575 > ct = 0.031496618408944924 and density 0.7450757436738937 < 0.8576374291353691, returning ct len = 1661 not tf len = 1443\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 9 and include_ends=False\n", + "After filtering, 268 of 478 (0.5606694560669456) for android and 281 of 502 (0.5597609561752988) for ios\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After merging, found 166 / 340 of android 478 (0.3472803347280335), ios 502 (0.33067729083665337)\n", + "Validated tf, stats are {'coverage_density': 0.2438898936914887, 'coverage_time': 0.5656482474170069, 'coverage_max_gap': 0.13957554157043028}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=541, len(filtered_loc_df_b)=329\n", + "After filtering, retained 116 of 502 (0.23107569721115537)\n", + "Validated ct, stats are {'coverage_density': 0.17042908233863066, 'coverage_time': 0.4275419220736338, 'coverage_max_gap': 0.17483673101980213}\n", + "for tf = 0.13957554157043028 v/s ct = 0.17483673101980213, density 0.2438898936914887 v/s 0.17042908233863066, returning tf len = 166 not cf len = 116\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 9 and include_ends=False\n", + "After filtering, 635 of 985 (0.6446700507614214) for android and 845 of 1049 (0.8055290753098189) for ios\n", + "After merging, found 542 / 906 of android 985 (0.550253807106599), ios 1049 (0.5166825548141086)\n", + "Validated tf, stats are {'coverage_density': 0.512907694912403, 'coverage_time': 0.8999542764975927, 'coverage_max_gap': 0.06151107042307416}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=650, len(filtered_loc_df_b)=303\n", + "After filtering, retained 399 of 1049 (0.38036224976167776)\n", + "Validated ct, stats are {'coverage_density': 0.37758333998163984, 'coverage_time': 0.9122564905822076, 'coverage_max_gap': 0.15046554149644295}\n", + "for tf = 0.06151107042307416 v/s ct = 0.15046554149644295, density 0.512907694912403 v/s 0.37758333998163984, returning tf len = 542 not cf len = 399\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 9 and include_ends=False\n", + "After filtering, 1123 of 2814 (0.39907604832977966) for android and 2300 of 2814 (0.8173418621179815) for ios\n", + "After merging, found 1803 / 2388 of android 2814 (0.6407249466950959), ios 2814 (0.6407249466950959)\n", + "Validated tf, stats are {'coverage_density': 0.6290025936961695, 'coverage_time': 0.973680665006106, 'coverage_max_gap': 0.07012175337378262}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1645, len(filtered_loc_df_b)=2057\n", + "After filtering, retained 674 of 2814 (0.23951670220326937)\n", + "Validated ct, stats are {'coverage_density': 0.23513463569119147, 'coverage_time': 0.9691454272257121, 'coverage_max_gap': 0.20269024233914282}\n", + "for tf = 0.07012175337378262 v/s ct = 0.20269024233914282, density 0.6290025936961695 v/s 0.23513463569119147, returning tf len = 1803 not cf len = 674\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 9 and include_ends=False\n", + "After filtering, 1021 of 1022 (0.9990215264187867) for android and 1030 of 1030 (1.0) for ios\n", + "After merging, found 1023 / 1030 of android 1022 (1.0009784735812133), ios 1030 (0.9932038834951457)\n", + "Validated tf, stats are {'coverage_density': 0.8919538450035753, 'coverage_time': 0.8971852458540361, 'coverage_max_gap': 0.006103300992204327}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1597, len(filtered_loc_df_b)=864\n", + "After filtering, retained 1022 of 1030 (0.9922330097087378)\n", + "Validated ct, stats are {'coverage_density': 0.8910819448618318, 'coverage_time': 0.8902100447200884, 'coverage_max_gap': 0.0008719001417434754}\n", + "for tf = 0.006103300992204327 v/s ct = 0.0008719001417434754, density 0.8919538450035753 v/s 0.8910819448618318, returning tf len = 1023 not cf len = 1022\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 10 and include_ends=False\n", + "After filtering, 774 of 784 (0.9872448979591837) for android and 773 of 773 (1.0) for ios\n", + "After merging, found 772 / 784 of android 784 (0.9846938775510204), ios 773 (0.9987063389391979)\n", + "Validated tf, stats are {'coverage_density': 0.8085202663888789, 'coverage_time': 0.8200406328788759, 'coverage_max_gap': 0.007331142311816259}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1262, len(filtered_loc_df_b)=733\n", + "After filtering, retained 773 of 784 (0.985969387755102)\n", + "Validated ct, stats are {'coverage_density': 0.809567572433424, 'coverage_time': 0.8085202663888789, 'coverage_max_gap': 0.0010473060445451798}\n", + "max_gap for tf = 0.007331142311816259 > ct = 0.0010473060445451798 and density 0.8085202663888789 < 0.809567572433424, returning ct len = 773 not tf len = 772\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 10 and include_ends=False\n", + "After filtering, 1877 of 2262 (0.8297966401414677) for android and 1560 of 2312 (0.6747404844290658) for ios\n", + "After merging, found 1560 / 2072 of android 2262 (0.6896551724137931), ios 2312 (0.6747404844290658)\n", + "Validated tf, stats are {'coverage_density': 0.6718165545460316, 'coverage_time': 0.9724113975416278, 'coverage_max_gap': 0.048232983403304834}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2221, len(filtered_loc_df_b)=1735\n", + "After filtering, retained 955 of 2312 (0.4130622837370242)\n", + "Validated ct, stats are {'coverage_density': 0.4112723138406796, 'coverage_time': 0.9711194426290393, 'coverage_max_gap': 0.05727666779142449}\n", + "for tf = 0.048232983403304834 v/s ct = 0.05727666779142449, density 0.6718165545460316 v/s 0.4112723138406796, returning tf len = 1560 not cf len = 955\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 10 and include_ends=False\n", + "After filtering, 907 of 4346 (0.208697653014266) for android and 2304 of 4322 (0.5330865340120314) for ios\n", + "After merging, found 1044 / 2432 of android 4346 (0.24022089277496547), ios 4322 (0.24155483572420175)\n", + "Validated tf, stats are {'coverage_density': 0.23959568400090994, 'coverage_time': 0.9758245674060048, 'coverage_max_gap': 0.2010400566904187}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=299, len(filtered_loc_df_b)=843\n", + "After filtering, retained 553 of 4346 (0.12724344224574322)\n", + "Validated ct, stats are {'coverage_density': 0.12691227323036705, 'coverage_time': 0.3424106901622199, 'coverage_max_gap': 0.16386141606958782}\n", + "for tf = 0.2010400566904187 v/s ct = 0.16386141606958782, density 0.23959568400090994 v/s 0.12691227323036705, returning tf len = 1044 not cf len = 553\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 10 and include_ends=False\n", + "After filtering, 79 of 287 (0.27526132404181186) for android and 35 of 35 (1.0) for ios\n", + "After merging, found 67 / 79 of android 287 (0.23344947735191637), ios 35 (1.9142857142857144)\n", + "Validated tf, stats are {'coverage_density': 0.22959263786792192, 'coverage_time': 0.26043343996958307, 'coverage_max_gap': 0.027414046312587693}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=116, len(filtered_loc_df_b)=10\n", + "After filtering, retained 35 of 287 (0.12195121951219512)\n", + "Validated ct, stats are {'coverage_density': 0.11993645261757115, 'coverage_time': 0.11650969682849768, 'coverage_max_gap': 0.0034267557890734616}\n", + "for tf = 0.027414046312587693 v/s ct = 0.0034267557890734616, density 0.22959263786792192 v/s 0.11993645261757115, returning tf len = 67 not cf len = 35\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 10 and include_ends=False\n", + "After filtering, 345 of 345 (1.0) for android and 349 of 353 (0.9886685552407932) for ios\n", + "After merging, found 289 / 350 of android 345 (0.8376811594202899), ios 353 (0.8186968838526912)\n", + "Validated tf, stats are {'coverage_density': 0.7828860333501673, 'coverage_time': 0.9372960814503732, 'coverage_max_gap': 0.10835792849137263}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=361, len(filtered_loc_df_b)=182\n", + "After filtering, retained 344 of 353 (0.9745042492917847)\n", + "Validated ct, stats are {'coverage_density': 0.9318781850258046, 'coverage_time': 0.9291692368135203, 'coverage_max_gap': 0.0027089482122843156}\n", + "max_gap for tf = 0.10835792849137263 > ct = 0.0027089482122843156 and density 0.7828860333501673 < 0.9318781850258046, returning ct len = 344 not tf len = 289\n", + "Considering entry walk_urban_university walk_urban_university 10 and include_ends=False\n", + "After filtering, 632 of 651 (0.9708141321044547) for android and 637 of 637 (1.0) for ios\n", + "After merging, found 625 / 657 of android 651 (0.9600614439324117), ios 637 (0.9811616954474097)\n", + "Validated tf, stats are {'coverage_density': 0.8678542330704566, 'coverage_time': 0.9025684023932748, 'coverage_max_gap': 0.01943993482077823}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1046, len(filtered_loc_df_b)=570\n", + "After filtering, retained 631 of 651 (0.9692780337941628)\n", + "Validated ct, stats are {'coverage_density': 0.876185633707933, 'coverage_time': 0.8747970669350202, 'coverage_max_gap': 0.0013885667729127307}\n", + "max_gap for tf = 0.01943993482077823 > ct = 0.0013885667729127307 and density 0.8678542330704566 < 0.876185633707933, returning ct len = 631 not tf len = 625\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 10 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 334 of 344 (0.9709302325581395) for android and 339 of 339 (1.0) for ios\n", + "After merging, found 327 / 341 of android 344 (0.9505813953488372), ios 339 (0.9646017699115044)\n", + "Validated tf, stats are {'coverage_density': 0.9254578132139124, 'coverage_time': 0.9424386905205896, 'coverage_max_gap': 0.011320584871118195}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=531, len(filtered_loc_df_b)=316\n", + "After filtering, retained 331 of 344 (0.9622093023255814)\n", + "Validated ct, stats are {'coverage_density': 0.9367783980850306, 'coverage_time': 0.9339482518672511, 'coverage_max_gap': 0.0028301462177795487}\n", + "max_gap for tf = 0.011320584871118195 > ct = 0.0028301462177795487 and density 0.9254578132139124 < 0.9367783980850306, returning ct len = 331 not tf len = 327\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 10 and include_ends=False\n", + "After filtering, 1078 of 1078 (1.0) for android and 1136 of 1184 (0.9594594594594594) for ios\n", + "After merging, found 936 / 1136 of android 1078 (0.8682745825602969), ios 1184 (0.7905405405405406)\n", + "Validated tf, stats are {'coverage_density': 0.7754731283928157, 'coverage_time': 0.8997476681993567, 'coverage_max_gap': 0.048881318990572784}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1117, len(filtered_loc_df_b)=887\n", + "After filtering, retained 1077 of 1184 (0.9096283783783784)\n", + "Validated ct, stats are {'coverage_density': 0.8922911958109642, 'coverage_time': 0.8922911958109642, 'coverage_max_gap': 0.001656993864087213}\n", + "max_gap for tf = 0.048881318990572784 > ct = 0.001656993864087213 and density 0.7754731283928157 < 0.8922911958109642, returning ct len = 1077 not tf len = 936\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 10 and include_ends=False\n", + "After filtering, 2440 of 2445 (0.9979550102249489) for android and 2324 of 2419 (0.9607275733774286) for ios\n", + "After merging, found 2081 / 2451 of android 2445 (0.8511247443762782), ios 2419 (0.8602728400165358)\n", + "Validated tf, stats are {'coverage_density': 0.8238459318774142, 'coverage_time': 0.9552812271120616, 'coverage_max_gap': 0.05067384876516531}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2441, len(filtered_loc_df_b)=1860\n", + "After filtering, retained 1923 of 2445 (0.7865030674846626)\n", + "Validated ct, stats are {'coverage_density': 0.7612953998079132, 'coverage_time': 0.927173076625134, 'coverage_max_gap': 0.03602593935648471}\n", + "for tf = 0.05067384876516531 v/s ct = 0.03602593935648471, density 0.8238459318774142 v/s 0.7612953998079132, returning tf len = 2081 not cf len = 1923\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 10 and include_ends=False\n", + "After filtering, 331 of 500 (0.662) for android and 313 of 502 (0.6235059760956175) for ios\n", + "After merging, found 277 / 366 of android 500 (0.554), ios 502 (0.5517928286852589)\n", + "Validated tf, stats are {'coverage_density': 0.45639573852439463, 'coverage_time': 0.6672934083118405, 'coverage_max_gap': 0.15487797625015556}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=594, len(filtered_loc_df_b)=288\n", + "After filtering, retained 379 of 502 (0.7549800796812749)\n", + "Validated ct, stats are {'coverage_density': 0.6244548191362655, 'coverage_time': 0.731551292075203, 'coverage_max_gap': 0.05601969353729031}\n", + "max_gap for tf = 0.15487797625015556 > ct = 0.05601969353729031 and density 0.45639573852439463 < 0.6244548191362655, returning ct len = 379 not tf len = 277\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 10 and include_ends=False\n", + "After filtering, 803 of 853 (0.9413833528722158) for android and 814 of 899 (0.9054505005561735) for ios\n", + "After merging, found 461 / 847 of android 853 (0.5404454865181711), ios 899 (0.5127919911012235)\n", + "Validated tf, stats are {'coverage_density': 0.5114330252403122, 'coverage_time': 0.931895317140699, 'coverage_max_gap': 0.19081666017642884}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=839, len(filtered_loc_df_b)=418\n", + "After filtering, retained 551 of 899 (0.6129032258064516)\n", + "Validated ct, stats are {'coverage_density': 0.6112789520768156, 'coverage_time': 0.910816732586326, 'coverage_max_gap': 0.06545455203726339}\n", + "max_gap for tf = 0.19081666017642884 > ct = 0.06545455203726339 and density 0.5114330252403122 < 0.6112789520768156, returning ct len = 551 not tf len = 461\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 10 and include_ends=False\n", + "After filtering, 1984 of 2766 (0.7172812725958062) for android and 1934 of 2769 (0.69844709281329) for ios\n", + "After merging, found 1977 / 2532 of android 2766 (0.7147505422993492), ios 2769 (0.71397616468039)\n", + "Validated tf, stats are {'coverage_density': 0.7127159167035766, 'coverage_time': 0.97552315154268, 'coverage_max_gap': 0.06092513400248075}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2224, len(filtered_loc_df_b)=1728\n", + "After filtering, retained 821 of 2769 (0.2964969302997472)\n", + "Validated ct, stats are {'coverage_density': 0.2959735799765485, 'coverage_time': 0.9838147378270413, 'coverage_max_gap': 0.07246125405028776}\n", + "for tf = 0.06092513400248075 v/s ct = 0.07246125405028776, density 0.7127159167035766 v/s 0.2959735799765485, returning tf len = 1977 not cf len = 821\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 10 and include_ends=False\n", + "After filtering, 988 of 988 (1.0) for android and 1089 of 1089 (1.0) for ios\n", + "After merging, found 914 / 1093 of android 988 (0.9251012145748988), ios 1089 (0.8393021120293848)\n", + "Validated tf, stats are {'coverage_density': 0.833186588392808, 'coverage_time': 0.9918019783056621, 'coverage_max_gap': 0.14311848400182808}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1513, len(filtered_loc_df_b)=882\n", + "After filtering, retained 984 of 1089 (0.9035812672176309)\n", + "Validated ct, stats are {'coverage_density': 0.8969973774382091, 'coverage_time': 0.8960857947375606, 'coverage_max_gap': 0.0009115827006485864}\n", + "max_gap for tf = 0.14311848400182808 > ct = 0.0009115827006485864 and density 0.833186588392808 < 0.8969973774382091, returning ct len = 984 not tf len = 914\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 11 and include_ends=False\n", + "After filtering, 695 of 784 (0.8864795918367347) for android and 667 of 677 (0.9852289512555391) for ios\n", + "After merging, found 617 / 695 of android 784 (0.7869897959183674), ios 677 (0.9113737075332349)\n", + "Validated tf, stats are {'coverage_density': 0.6994983529816824, 'coverage_time': 0.7754568451206981, 'coverage_max_gap': 0.015871923730540607}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1172, len(filtered_loc_df_b)=658\n", + "After filtering, retained 670 of 784 (0.8545918367346939)\n", + "Validated ct, stats are {'coverage_density': 0.7595849213901575, 'coverage_time': 0.7663871744175321, 'coverage_max_gap': 0.00906967070316606}\n", + "max_gap for tf = 0.015871923730540607 > ct = 0.00906967070316606 and density 0.6994983529816824 < 0.7595849213901575, returning ct len = 670 not tf len = 617\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 11 and include_ends=False\n", + "After filtering, 1961 of 2168 (0.9045202952029521) for android and 1461 of 2192 (0.6665145985401459) for ios\n", + "After merging, found 1562 / 2112 of android 2168 (0.7204797047970479), ios 2192 (0.7125912408759124)\n", + "Validated tf, stats are {'coverage_density': 0.7048857208930346, 'coverage_time': 0.9779048381403368, 'coverage_max_gap': 0.046480940622267965}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2170, len(filtered_loc_df_b)=771\n", + "After filtering, retained 404 of 2192 (0.1843065693430657)\n", + "Validated ct, stats are {'coverage_density': 0.182313592343653, 'coverage_time': 0.9742946679949179, 'coverage_max_gap': 0.10334112041261519}\n", + "for tf = 0.046480940622267965 v/s ct = 0.10334112041261519, density 0.7048857208930346 v/s 0.182313592343653, returning tf len = 1562 not cf len = 404\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 11 and include_ends=False\n", + "After filtering, 991 of 3245 (0.3053929121725732) for android and 786 of 3236 (0.24289245982694685) for ios\n", + "After merging, found 945 / 1613 of android 3245 (0.29121725731895226), ios 3236 (0.2920271940667491)\n", + "Validated tf, stats are {'coverage_density': 0.28860033981480254, 'coverage_time': 0.9565039833862028, 'coverage_max_gap': 0.18781926876836358}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=801, len(filtered_loc_df_b)=513\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 39 of 3245 (0.01201848998459168)\n", + "Validated ct, stats are {'coverage_density': 0.011910490214579154, 'coverage_time': 0.28493557359493205, 'coverage_max_gap': 0.16980083485400024}\n", + "for tf = 0.18781926876836358 v/s ct = 0.16980083485400024, density 0.28860033981480254 v/s 0.011910490214579154, returning tf len = 945 not cf len = 39\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 11 and include_ends=False\n", + "After filtering, 81 of 81 (1.0) for android and 143 of 147 (0.9727891156462585) for ios\n", + "After merging, found 73 / 144 of android 81 (0.9012345679012346), ios 147 (0.4965986394557823)\n", + "Validated tf, stats are {'coverage_density': 0.27739259035846603, 'coverage_time': 0.5091863987401979, 'coverage_max_gap': 0.23939360537785423}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=112, len(filtered_loc_df_b)=28\n", + "After filtering, retained 60 of 147 (0.40816326530612246)\n", + "Validated ct, stats are {'coverage_density': 0.22799390988367071, 'coverage_time': 0.3001919813468331, 'coverage_max_gap': 0.04939868047479532}\n", + "for tf = 0.23939360537785423 v/s ct = 0.04939868047479532, density 0.27739259035846603 v/s 0.22799390988367071, returning tf len = 73 not cf len = 60\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 11 and include_ends=False\n", + "After filtering, 254 of 254 (1.0) for android and 249 of 249 (1.0) for ios\n", + "After merging, found 175 / 254 of android 254 (0.6889763779527559), ios 249 (0.7028112449799196)\n", + "Validated tf, stats are {'coverage_density': 0.6490024909685729, 'coverage_time': 0.9382721726574225, 'coverage_max_gap': 0.1186747412056819}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=263, len(filtered_loc_df_b)=136\n", + "After filtering, retained 158 of 254 (0.6220472440944882)\n", + "Validated ct, stats are {'coverage_density': 0.5859565347030544, 'coverage_time': 0.8937691447052918, 'coverage_max_gap': 0.2818525103634945}\n", + "for tf = 0.1186747412056819 v/s ct = 0.2818525103634945, density 0.6490024909685729 v/s 0.5859565347030544, returning tf len = 175 not cf len = 158\n", + "Considering entry walk_urban_university walk_urban_university 11 and include_ends=False\n", + "After filtering, 710 of 790 (0.8987341772151899) for android and 677 of 677 (1.0) for ios\n", + "After merging, found 666 / 730 of android 790 (0.8430379746835444), ios 677 (0.983751846381093)\n", + "Validated tf, stats are {'coverage_density': 0.8029283178115908, 'coverage_time': 0.8149842985595126, 'coverage_max_gap': 0.00723358844875307}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1121, len(filtered_loc_df_b)=579\n", + "After filtering, retained 676 of 790 (0.8556962025316456)\n", + "Validated ct, stats are {'coverage_density': 0.8149842985595126, 'coverage_time': 0.8149842985595126, 'coverage_max_gap': 0.0024111961495843566}\n", + "max_gap for tf = 0.00723358844875307 > ct = 0.0024111961495843566 and density 0.8029283178115908 < 0.8149842985595126, returning ct len = 676 not tf len = 666\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 11 and include_ends=False\n", + "After filtering, 373 of 375 (0.9946666666666667) for android and 370 of 370 (1.0) for ios\n", + "After merging, found 321 / 375 of android 375 (0.856), ios 370 (0.8675675675675676)\n", + "Validated tf, stats are {'coverage_density': 0.8266744595764144, 'coverage_time': 0.9451387123506045, 'coverage_max_gap': 0.09528646418793561}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=578, len(filtered_loc_df_b)=320\n", + "After filtering, retained 370 of 375 (0.9866666666666667)\n", + "Validated ct, stats are {'coverage_density': 0.952864641879356, 'coverage_time': 0.950289332036439, 'coverage_max_gap': 0.0025753098429171788}\n", + "max_gap for tf = 0.09528646418793561 > ct = 0.0025753098429171788 and density 0.8266744595764144 < 0.952864641879356, returning ct len = 370 not tf len = 321\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 11 and include_ends=False\n", + "After filtering, 1281 of 1299 (0.9861431870669746) for android and 1280 of 1298 (0.9861325115562404) for ios\n", + "After merging, found 1158 / 1283 of android 1299 (0.8914549653579676), ios 1298 (0.8921417565485362)\n", + "Validated tf, stats are {'coverage_density': 0.8800344052181903, 'coverage_time': 0.9719896409966022, 'coverage_max_gap': 0.05243728321248284}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1331, len(filtered_loc_df_b)=964\n", + "After filtering, retained 1289 of 1299 (0.9923017705927637)\n", + "Validated ct, stats are {'coverage_density': 0.9795892472592809, 'coverage_time': 0.9841490110168881, 'coverage_max_gap': 0.006079685010142938}\n", + "max_gap for tf = 0.05243728321248284 > ct = 0.006079685010142938 and density 0.8800344052181903 < 0.9795892472592809, returning ct len = 1289 not tf len = 1158\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 11 and include_ends=False\n", + "After filtering, 2158 of 2158 (1.0) for android and 2124 of 2129 (0.9976514795678723) for ios\n", + "After merging, found 1863 / 2158 of android 2158 (0.8632993512511585), ios 2129 (0.8750587130108032)\n", + "Validated tf, stats are {'coverage_density': 0.839545626244971, 'coverage_time': 0.9594163383121542, 'coverage_max_gap': 0.03605134197509269}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2139, len(filtered_loc_df_b)=1783\n", + "After filtering, retained 1973 of 2158 (0.9142724745134384)\n", + "Validated ct, stats are {'coverage_density': 0.8891162214607234, 'coverage_time': 0.9472490103955604, 'coverage_max_gap': 0.008562193719084513}\n", + "max_gap for tf = 0.03605134197509269 > ct = 0.008562193719084513 and density 0.839545626244971 < 0.8891162214607234, returning ct len = 1973 not tf len = 1863\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 11 and include_ends=False\n", + "After filtering, 266 of 506 (0.525691699604743) for android and 169 of 495 (0.3414141414141414) for ios\n", + "After merging, found 200 / 279 of android 506 (0.3952569169960474), ios 495 (0.40404040404040403)\n", + "Validated tf, stats are {'coverage_density': 0.32805372700714974, 'coverage_time': 0.42646984510929464, 'coverage_max_gap': 0.04428725314596521}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=666, len(filtered_loc_df_b)=345\n", + "After filtering, retained 272 of 506 (0.5375494071146245)\n", + "Validated ct, stats are {'coverage_density': 0.4461530687297236, 'coverage_time': 0.7856886761821236, 'coverage_max_gap': 0.08529396902185893}\n", + "for tf = 0.04428725314596521 v/s ct = 0.08529396902185893, density 0.32805372700714974 v/s 0.4461530687297236, returning tf len = 200 not cf len = 272\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 11 and include_ends=False\n", + "After filtering, 592 of 681 (0.869309838472834) for android and 598 of 682 (0.8768328445747801) for ios\n", + "After merging, found 359 / 599 of android 681 (0.527165932452276), ios 682 (0.5263929618768328)\n", + "Validated tf, stats are {'coverage_density': 0.5233678260594452, 'coverage_time': 0.8776251567904904, 'coverage_max_gap': 0.1603634007424484}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=630, len(filtered_loc_df_b)=396\n", + "After filtering, retained 476 of 682 (0.6979472140762464)\n", + "Validated ct, stats are {'coverage_density': 0.693936170485504, 'coverage_time': 0.9898795373102043, 'coverage_max_gap': 0.14432706066820356}\n", + "max_gap for tf = 0.1603634007424484 > ct = 0.14432706066820356 and density 0.5233678260594452 < 0.693936170485504, returning ct len = 476 not tf len = 359\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 11 and include_ends=False\n", + "After filtering, 2554 of 3453 (0.7396466840428613) for android and 3174 of 3440 (0.9226744186046512) for ios\n", + "After merging, found 2676 / 3321 of android 3453 (0.7749782797567333), ios 3440 (0.7779069767441861)\n", + "Validated tf, stats are {'coverage_density': 0.7698913077967331, 'coverage_time': 0.9931482789664883, 'coverage_max_gap': 0.04488155605989924}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2870, len(filtered_loc_df_b)=2544\n", + "After filtering, retained 1460 of 3453 (0.42282073559223865)\n", + "Validated ct, stats are {'coverage_density': 0.42004533235546726, 'coverage_time': 0.9747353328906322, 'coverage_max_gap': 0.07969353223456467}\n", + "for tf = 0.04488155605989924 v/s ct = 0.07969353223456467, density 0.7698913077967331 v/s 0.42004533235546726, returning tf len = 2676 not cf len = 1460\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 11 and include_ends=False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1064 of 1067 (0.9971883786316776) for android and 1059 of 1059 (1.0) for ios\n", + "After merging, found 1054 / 1067 of android 1067 (0.9878163074039362), ios 1059 (0.9952785646836638)\n", + "Validated tf, stats are {'coverage_density': 0.8983160909997043, 'coverage_time': 0.9017252602255097, 'coverage_max_gap': 0.0034091692258053294}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1630, len(filtered_loc_df_b)=859\n", + "After filtering, retained 1059 of 1067 (0.9925023430178069)\n", + "Validated ct, stats are {'coverage_density': 0.9025775525319609, 'coverage_time': 0.9017252602255097, 'coverage_max_gap': 0.0008522923064513323}\n", + "max_gap for tf = 0.0034091692258053294 > ct = 0.0008522923064513323 and density 0.8983160909997043 < 0.9025775525319609, returning ct len = 1059 not tf len = 1054\n" + ] + } + ], + "source": [ + "%%capture --no-stdout\n", + "ref_tree_no_ends = {}\n", + "get_reference_trajectory_tree(pv_la, ref_tree_no_ends)\n", + "get_reference_trajectory_tree(pv_sj, ref_tree_no_ends)\n", + "get_reference_trajectory_tree(pv_ucb, ref_tree_no_ends)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, "outputs": [], "source": [ - "ref_tree = {}\n", - "get_reference_trajectory_tree(pv_la, ref_tree)\n", - "get_reference_trajectory_tree(pv_sj, ref_tree)\n", - "get_reference_trajectory_tree(pv_ucb, ref_tree)" + "import importlib" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "importlib.reload(emr)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# breaking_e = ref_tree['train_bus_ebike_mtv_ucb']['mtv_to_berkeley_sf_bart/walk_to_bus_1']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# %%capture --no-stdout\n", + "# ref_trajectory = emr.final_ref_ensemble(breaking_e, 25, tz=\"America/Los_angeles\", include_ends=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# ref_trajectory[1].tail(n=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "# curr_map = folium.Map()\n", + "# gt_leg_gj = pv_ucb.spec_details.get_geojson_for_leg(breaking_e[\"ground_truth\"][\"leg\"])\n", + "# sensed_section_gj = ezgj.get_geojson_for_loc_df(breaking_e[\"temporal_control\"][\"ios\"][\"location_df\"].tail(n=15))\n", + "# gt_leg_gj_feature = folium.GeoJson(gt_leg_gj, name=\"ground_truth\")\n", + "# sensed_leg_gj_feature = folium.GeoJson(sensed_section_gj, name=\"sensed_values\")\n", + "# ref_trajectory_gj = ezgj.get_geojson_for_loc_df(ref_trajectory[1], color=\"blue\")\n", + "# ref_leg_gj_feature = folium.GeoJson(ref_trajectory_gj, name=\"reference_values\")\n", + "# curr_map.add_child(gt_leg_gj_feature)\n", + "# curr_map.add_child(sensed_leg_gj_feature)\n", + "# curr_map.add_child(ref_leg_gj_feature)\n", + "# curr_map.fit_bounds(sensed_leg_gj_feature.get_bounds())\n", + "# folium.LayerControl().add_to(curr_map)\n", + "# curr_map" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "map_list = []\n", + "# for i in range(12):\n", + "for i in range(0):\n", + " breaking_e = ref_tree['train_bus_ebike_mtv_ucb']['mtv_to_berkeley_sf_bart/walk_to_bus_%d' % i]\n", + " curr_map = folium.Map()\n", + " gt_leg_gj = pv_ucb.spec_details.get_geojson_for_leg(breaking_e[\"ground_truth\"][\"leg\"])\n", + " sensed_section_gj = ezgj.get_geojson_for_loc_df(breaking_e[\"temporal_control\"][\"android\"][\"location_df\"])\n", + " gt_leg_gj_feature = folium.GeoJson(gt_leg_gj, name=\"ground_truth\")\n", + " sensed_leg_gj_feature = folium.GeoJson(sensed_section_gj, name=\"sensed_values\")\n", + " curr_map.add_child(gt_leg_gj_feature)\n", + " curr_map.add_child(sensed_leg_gj_feature)\n", + " curr_map.fit_bounds(sensed_leg_gj_feature.get_bounds())\n", + " folium.LayerControl().add_to(curr_map)\n", + " map_list.append(curr_map)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import branca.element as bre\n", + "fig = bre.Figure()\n", + "for i, curr_map in enumerate(map_list):\n", + " fig.add_subplot(4, 3, i+1).add_child(curr_map)\n", + "fig" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "map_list = []\n", + "# for phone_os in [\"android\", \"ios\"]:\n", + "for phone_os in []:\n", + " breaking_e = ref_tree['train_bus_ebike_mtv_ucb']['mtv_to_berkeley_sf_bart/walk_to_bus_1']\n", + " curr_map = folium.Map()\n", + " gt_leg_gj = pv_ucb.spec_details.get_geojson_for_leg(breaking_e[\"ground_truth\"][\"leg\"])\n", + " sensed_section_gj = ezgj.get_geojson_for_loc_df(breaking_e[\"temporal_control\"][phone_os][\"location_df\"])\n", + " gt_leg_gj_feature = folium.GeoJson(gt_leg_gj, name=\"ground_truth\")\n", + " sensed_leg_gj_feature = folium.GeoJson(sensed_section_gj, name=\"sensed_values\")\n", + " section_gt_shapes = breaking_e[\"ground_truth\"][\"gt_shapes\"]\n", + " filtered_loc = emd.filter_geo_df(breaking_e[\"temporal_control\"][phone_os][\"location_df\"],\n", + " section_gt_shapes.filter([\"start_loc\",\"end_loc\"]))\n", + " filtered_section_gj = ezgj.get_geojson_for_loc_df(filtered_loc)\n", + " filtered_section_gj_feature = folium.GeoJson(filtered_section_gj, name=\"filtered_values\")\n", + " curr_map.add_child(gt_leg_gj_feature)\n", + " curr_map.add_child(sensed_leg_gj_feature)\n", + " curr_map.add_child(filtered_section_gj_feature)\n", + " curr_map.fit_bounds(sensed_leg_gj_feature.get_bounds())\n", + " folium.LayerControl().add_to(curr_map)\n", + " map_list.append(curr_map)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import branca.element as bre\n", + "fig = bre.Figure()\n", + "for i, curr_map in enumerate(map_list):\n", + " fig.add_subplot(1, 2, i+1).add_child(curr_map)\n", + "fig" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "map_list = []\n", + "# for phone_os in [\"android\", \"ios\"]:\n", + "for phone_os in []:\n", + " breaking_e = ref_tree['train_bus_ebike_mtv_ucb']['mtv_to_berkeley_sf_bart/walk_to_bus_11']\n", + " curr_map = folium.Map()\n", + " gt_leg_gj = pv_ucb.spec_details.get_geojson_for_leg(breaking_e[\"ground_truth\"][\"leg\"])\n", + " sensed_section_gj = ezgj.get_geojson_for_loc_df(breaking_e[\"temporal_control\"][phone_os][\"location_df\"])\n", + " gt_leg_gj_feature = folium.GeoJson(gt_leg_gj, name=\"ground_truth\")\n", + " sensed_leg_gj_feature = folium.GeoJson(sensed_section_gj, name=\"sensed_values\")\n", + " section_gt_shapes = breaking_e[\"ground_truth\"][\"gt_shapes\"]\n", + " filtered_loc = emd.filter_geo_df(breaking_e[\"temporal_control\"][phone_os][\"location_df\"],\n", + " section_gt_shapes.filter([\"start_loc\",\"end_loc\"]))\n", + " filtered_section_gj = ezgj.get_geojson_for_loc_df(filtered_loc)\n", + " filtered_section_gj_feature = folium.GeoJson(filtered_section_gj, name=\"filtered_values\")\n", + " curr_map.add_child(gt_leg_gj_feature)\n", + " curr_map.add_child(sensed_leg_gj_feature)\n", + " curr_map.add_child(filtered_section_gj_feature)\n", + " curr_map.fit_bounds(sensed_leg_gj_feature.get_bounds())\n", + " folium.LayerControl().add_to(curr_map)\n", + " map_list.append(curr_map)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import branca.element as bre\n", + "fig = bre.Figure()\n", + "for i, curr_map in enumerate(map_list):\n", + " fig.add_subplot(1, 2, i+1).add_child(curr_map)\n", + "fig" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "def save_ref_tree(ref_tree, include_ends=False):\n", + " for timeline in ref_tree.keys():\n", + " print(\"Working with timeline %s\" % timeline)\n", + " tl = ref_tree[timeline]\n", + " prefix = \"with_ends\" if include_ends else \"no_ends\"\n", + " for trip_and_leg_and_run in tl.keys():\n", + " curr_run = tl[trip_and_leg_and_run]\n", + " fn = \"bin/data/\"+timeline+\"/\"+prefix+\"/\"+trip_and_leg_and_run\n", + " save_dir = os.path.dirname(fn)\n", + " os.makedirs(save_dir, exist_ok=True)\n", + " print(\"Saving data to file %s\" % fn)\n", + " if \"reference_df\" not in curr_run:\n", + " print(\"Found missing 'reference_df', skipping\")\n", + " else:\n", + " curr_run.get('reference_df', pd.DataFrame()).to_csv(fn)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working with timeline unimodal_trip_car_bike_mtv_la\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_0\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_0\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_1\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_1\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_2\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_2\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_3\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_3\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_4\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_4\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_5\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/no_ends/suburb_bicycling/suburb_bicycling_5\n", + "Working with timeline car_scooter_brex_san_jose\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/freeway_driving_weekday/freeway_driving_weekday_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_escooter_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/city_bus_rapid_transit_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/no_ends/bus trip with e-scooter access/walk_back_from_bus_6\n", + "Working with timeline train_bus_ebike_mtv_ucb\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/subway_underground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/walk_to_bus_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/mtv_to_berkeley_sf_bart/city_bus_short_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/walk_urban_university/walk_urban_university_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/express_bus_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/no_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_11\n" + ] + } + ], + "source": [ + "save_ref_tree(ref_tree_no_ends, include_ends=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_city_driving_weekend walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_city_driving_weekend, suburb_city_driving_weekend\n", + "No ground truth route for suburb_city_driving_weekend walk_end, must be polygon, skipping...\n", + "No ground truth route for suburb_bicycling walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, suburb_bicycling, suburb_bicycling\n", + "No ground truth route for suburb_bicycling walk_end, must be polygon, skipping...\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 0 and include_ends=True\n", + "After filtering, 425 of 666 (0.6381381381381381) for android and 621 of 621 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=259 -> len(loc_df_a)=76, ios: len(unfiltered_loc_b_df)=616 -> len(loc_df_b)=41\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=259 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=616 -> len(loc_df_b)=42\n", + "START_END: After filtering the merged dataframe, retained 38 of 83 (0.4578313253012048)\n", + "START_END: After filtering the merged dataframe, retained 0 of 61 (0.0)\n", + "CHECKME: len(merged_df)=6, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.380965 -122.113044 1.564275e+09 2019-07-27T17:52:15-07:00 \n", + "1 37.380969 -122.113036 1.564275e+09 2019-07-27T17:52:16-07:00 \n", + "2 37.380974 -122.113027 1.564275e+09 2019-07-27T17:52:17-07:00 \n", + "3 37.380978 -122.113019 1.564275e+09 2019-07-27T17:52:18-07:00 \n", + "4 37.380983 -122.113011 1.564275e+09 2019-07-27T17:52:19-07:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.11304 37.38097) 37.380905 -122.112690 \n", + "1 POINT (-122.11304 37.38097) 37.380911 -122.112691 \n", + "2 POINT (-122.11303 37.38097) 37.380886 -122.112683 \n", + "3 POINT (-122.11302 37.38098) 37.380891 -122.112683 \n", + "4 POINT (-122.11301 37.38098) 37.380896 -122.112682 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-07-27T17:52:15-07:00 POINT (-122.11269 37.38090) 32.105484 \n", + "1 2019-07-27T17:52:16-07:00 POINT (-122.11269 37.38091) 31.186422 \n", + "2 2019-07-27T17:52:17-07:00 POINT (-122.11268 37.38089) 32.036335 \n", + "3 2019-07-27T17:52:18-07:00 POINT (-122.11268 37.38089) 31.316793 \n", + "4 2019-07-27T17:52:19-07:00 POINT (-122.11268 37.38090) 30.601167 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=38, len(initial_reference_gpdf)=622, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=660\n", + "After merging, found 578 / 660 of android 666 (0.8678678678678678), ios 621 (0.9307568438003221)\n", + "Validated tf, stats are {'coverage_density': 0.7773982441244579, 'coverage_time': 0.9024813526081509, 'coverage_max_gap': 0.052454206783484184}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=180, len(filtered_loc_df_b)=533\n", + "After filtering, retained 162 of 666 (0.24324324324324326)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=259 -> len(loc_df_a)=76, ios: len(unfiltered_loc_b_df)=616 -> len(loc_df_b)=41\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=259 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=616 -> len(loc_df_b)=42\n", + "START_END: After filtering the merged dataframe, retained 38 of 83 (0.4578313253012048)\n", + "START_END: After filtering the merged dataframe, retained 0 of 61 (0.0)\n", + "CHECKME: len(merged_df)=6, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.380965 -122.113044 1.564275e+09 2019-07-27T17:52:15-07:00 \n", + "1 37.380969 -122.113036 1.564275e+09 2019-07-27T17:52:16-07:00 \n", + "2 37.380974 -122.113027 1.564275e+09 2019-07-27T17:52:17-07:00 \n", + "3 37.380978 -122.113019 1.564275e+09 2019-07-27T17:52:18-07:00 \n", + "4 37.380983 -122.113011 1.564275e+09 2019-07-27T17:52:19-07:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.11304 37.38097) 37.380905 -122.112690 \n", + "1 POINT (-122.11304 37.38097) 37.380911 -122.112691 \n", + "2 POINT (-122.11303 37.38097) 37.380886 -122.112683 \n", + "3 POINT (-122.11302 37.38098) 37.380891 -122.112683 \n", + "4 POINT (-122.11301 37.38098) 37.380896 -122.112682 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-07-27T17:52:15-07:00 POINT (-122.11269 37.38090) 32.105484 \n", + "1 2019-07-27T17:52:16-07:00 POINT (-122.11269 37.38091) 31.186422 \n", + "2 2019-07-27T17:52:17-07:00 POINT (-122.11268 37.38089) 32.036335 \n", + "3 2019-07-27T17:52:18-07:00 POINT (-122.11268 37.38089) 31.316793 \n", + "4 2019-07-27T17:52:19-07:00 POINT (-122.11268 37.38090) 30.601167 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=38, len(initial_reference_gpdf)=162, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=200\n", + "Validated ct, stats are {'coverage_density': 0.2689959322229958, 'coverage_time': 0.8836516373525413, 'coverage_max_gap': 0.12104816950034811}\n", + "for tf = 0.052454206783484184 v/s ct = 0.12104816950034811, density 0.7773982441244579 v/s 0.2689959322229958, returning tf len = 578 not cf len = 200\n", + "Considering entry suburb_bicycling suburb_bicycling 0 and include_ends=True\n", + "After filtering, 932 of 954 (0.9769392033542977) for android and 919 of 921 (0.997828447339848) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=143, ios: len(unfiltered_loc_b_df)=982 -> len(loc_df_b)=122\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=83, ios: len(unfiltered_loc_b_df)=982 -> len(loc_df_b)=68\n", + "START_END: After filtering the merged dataframe, retained 136 of 142 (0.9577464788732394)\n", + "START_END: After filtering the merged dataframe, retained 89 of 95 (0.9368421052631579)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=136, len(initial_reference_gpdf)=932, len(end_initial_ends_gpdf)=89\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1157\n", + "After merging, found 1109 / 1157 of android 954 (1.1624737945492662), ios 921 (1.204125950054289)\n", + "Validated tf, stats are {'coverage_density': 0.9524072920227628, 'coverage_time': 0.9927708111616896, 'coverage_max_gap': 0.015458369031929424}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=937, len(filtered_loc_df_b)=792\n", + "After filtering, retained 921 of 954 (0.9654088050314465)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=143, ios: len(unfiltered_loc_b_df)=982 -> len(loc_df_b)=122\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=83, ios: len(unfiltered_loc_b_df)=982 -> len(loc_df_b)=68\n", + "START_END: After filtering the merged dataframe, retained 136 of 142 (0.9577464788732394)\n", + "START_END: After filtering the merged dataframe, retained 89 of 95 (0.9368421052631579)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=136, len(initial_reference_gpdf)=921, len(end_initial_ends_gpdf)=89\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1146\n", + "Validated ct, stats are {'coverage_density': 0.9841828283661733, 'coverage_time': 0.9927708111616896, 'coverage_max_gap': 0.005152789677309808}\n", + "max_gap for tf = 0.015458369031929424 > ct = 0.005152789677309808 and density 0.9524072920227628 < 0.9841828283661733, returning ct len = 1146 not tf len = 1109\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 1 and include_ends=True\n", + "After filtering, 562 of 563 (0.9982238010657194) for android and 559 of 559 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=628 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=544 -> len(loc_df_b)=11\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=628 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=544 -> len(loc_df_b)=26\n", + "START_END: After filtering the merged dataframe, retained 11 of 26 (0.4230769230769231)\n", + "START_END: After filtering the merged dataframe, retained 33 of 34 (0.9705882352941176)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=11, len(initial_reference_gpdf)=562, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=606\n", + "After merging, found 571 / 606 of android 563 (1.014209591474245), ios 559 (1.0214669051878353)\n", + "Validated tf, stats are {'coverage_density': 0.9113348387113223, 'coverage_time': 0.970388059433422, 'coverage_max_gap': 0.043092890797207885}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=565, len(filtered_loc_df_b)=507\n", + "After filtering, retained 559 of 563 (0.9928952042628775)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=628 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=544 -> len(loc_df_b)=11\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=628 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=544 -> len(loc_df_b)=26\n", + "START_END: After filtering the merged dataframe, retained 11 of 26 (0.4230769230769231)\n", + "START_END: After filtering the merged dataframe, retained 33 of 34 (0.9705882352941176)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=11, len(initial_reference_gpdf)=559, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=603\n", + "Validated ct, stats are {'coverage_density': 0.9624078944709761, 'coverage_time': 0.970388059433422, 'coverage_max_gap': 0.007980164962445904}\n", + "max_gap for tf = 0.043092890797207885 > ct = 0.007980164962445904 and density 0.9113348387113223 < 0.9624078944709761, returning ct len = 603 not tf len = 571\n", + "Considering entry suburb_bicycling suburb_bicycling 1 and include_ends=True\n", + "After filtering, 935 of 963 (0.9709241952232607) for android and 940 of 1111 (0.8460846084608461) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1229 -> len(loc_df_a)=204, ios: len(unfiltered_loc_b_df)=1021 -> len(loc_df_b)=113\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1229 -> len(loc_df_a)=74, ios: len(unfiltered_loc_b_df)=1021 -> len(loc_df_b)=53\n", + "START_END: After filtering the merged dataframe, retained 196 of 201 (0.9751243781094527)\n", + "START_END: After filtering the merged dataframe, retained 88 of 94 (0.9361702127659575)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=196, len(initial_reference_gpdf)=944, len(end_initial_ends_gpdf)=88\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1228\n", + "After merging, found 1127 / 1228 of android 963 (1.170301142263759), ios 1111 (1.0144014401440145)\n", + "Validated tf, stats are {'coverage_density': 0.918631013329451, 'coverage_time': 0.9944364119449247, 'coverage_max_gap': 0.07743562224161299}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=951, len(filtered_loc_df_b)=855\n", + "After filtering, retained 931 of 1111 (0.8379837983798379)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1229 -> len(loc_df_a)=204, ios: len(unfiltered_loc_b_df)=1021 -> len(loc_df_b)=113\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1229 -> len(loc_df_a)=74, ios: len(unfiltered_loc_b_df)=1021 -> len(loc_df_b)=53\n", + "START_END: After filtering the merged dataframe, retained 196 of 201 (0.9751243781094527)\n", + "START_END: After filtering the merged dataframe, retained 88 of 94 (0.9361702127659575)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=196, len(initial_reference_gpdf)=931, len(end_initial_ends_gpdf)=88\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1215\n", + "Validated ct, stats are {'coverage_density': 0.9903608528795766, 'coverage_time': 0.9944364119449247, 'coverage_max_gap': 0.004075559065348052}\n", + "max_gap for tf = 0.07743562224161299 > ct = 0.004075559065348052 and density 0.918631013329451 < 0.9903608528795766, returning ct len = 1215 not tf len = 1127\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 2 and include_ends=True\n", + "After filtering, 500 of 500 (1.0) for android and 499 of 500 (0.998) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=634 -> len(loc_df_a)=60, ios: len(unfiltered_loc_b_df)=538 -> len(loc_df_b)=33\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=634 -> len(loc_df_a)=73, ios: len(unfiltered_loc_b_df)=538 -> len(loc_df_b)=38\n", + "START_END: After filtering the merged dataframe, retained 56 of 60 (0.9333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 68 of 72 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=56, len(initial_reference_gpdf)=500, len(end_initial_ends_gpdf)=68\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=624\n", + "After merging, found 615 / 624 of android 500 (1.23), ios 500 (1.23)\n", + "Validated tf, stats are {'coverage_density': 0.9718243254556675, 'coverage_time': 0.9907867513182173, 'coverage_max_gap': 0.014221819396912208}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=501, len(filtered_loc_df_b)=467\n", + "After filtering, retained 476 of 500 (0.952)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=634 -> len(loc_df_a)=60, ios: len(unfiltered_loc_b_df)=538 -> len(loc_df_b)=33\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=634 -> len(loc_df_a)=73, ios: len(unfiltered_loc_b_df)=538 -> len(loc_df_b)=38\n", + "START_END: After filtering the merged dataframe, retained 56 of 60 (0.9333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 68 of 72 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=56, len(initial_reference_gpdf)=476, len(end_initial_ends_gpdf)=68\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=600\n", + "Validated ct, stats are {'coverage_density': 0.9481212931274806, 'coverage_time': 0.9907867513182173, 'coverage_max_gap': 0.023703032328187015}\n", + "for tf = 0.014221819396912208 v/s ct = 0.023703032328187015, density 0.9718243254556675 v/s 0.9481212931274806, returning tf len = 615 not cf len = 600\n", + "Considering entry suburb_bicycling suburb_bicycling 2 and include_ends=True\n", + "After filtering, 933 of 963 (0.9688473520249221) for android and 935 of 937 (0.9978655282817502) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=132, ios: len(unfiltered_loc_b_df)=996 -> len(loc_df_b)=119\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=66, ios: len(unfiltered_loc_b_df)=996 -> len(loc_df_b)=44\n", + "START_END: After filtering the merged dataframe, retained 125 of 130 (0.9615384615384616)\n", + "START_END: After filtering the merged dataframe, retained 29 of 65 (0.4461538461538462)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=125, len(initial_reference_gpdf)=935, len(end_initial_ends_gpdf)=29\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1089\n", + "After merging, found 1042 / 1089 of android 963 (1.0820353063343717), ios 937 (1.112059765208111)\n", + "Validated tf, stats are {'coverage_density': 0.8977915298020925, 'coverage_time': 0.9658582580692378, 'coverage_max_gap': 0.02929454127953085}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=965, len(filtered_loc_df_b)=833\n", + "After filtering, retained 935 of 963 (0.9709241952232607)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=132, ios: len(unfiltered_loc_b_df)=996 -> len(loc_df_b)=119\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=66, ios: len(unfiltered_loc_b_df)=996 -> len(loc_df_b)=44\n", + "START_END: After filtering the merged dataframe, retained 125 of 130 (0.9615384615384616)\n", + "START_END: After filtering the merged dataframe, retained 29 of 65 (0.4461538461538462)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=125, len(initial_reference_gpdf)=935, len(end_initial_ends_gpdf)=29\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1089\n", + "Validated ct, stats are {'coverage_density': 0.9382869251002676, 'coverage_time': 0.9658582580692378, 'coverage_max_gap': 0.025848124658409573}\n", + "max_gap for tf = 0.02929454127953085 > ct = 0.025848124658409573 and density 0.8977915298020925 < 0.9382869251002676, returning ct len = 1089 not tf len = 1042\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 3 and include_ends=True\n", + "After filtering, 645 of 645 (1.0) for android and 645 of 645 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=779 -> len(loc_df_a)=33, ios: len(unfiltered_loc_b_df)=564 -> len(loc_df_b)=21\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=779 -> len(loc_df_a)=99, ios: len(unfiltered_loc_b_df)=564 -> len(loc_df_b)=52\n", + "START_END: After filtering the merged dataframe, retained 30 of 32 (0.9375)\n", + "START_END: After filtering the merged dataframe, retained 95 of 98 (0.9693877551020408)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=30, len(initial_reference_gpdf)=645, len(end_initial_ends_gpdf)=95\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=770\n", + "After merging, found 667 / 770 of android 645 (1.034108527131783), ios 645 (1.034108527131783)\n", + "Validated tf, stats are {'coverage_density': 0.8573441362142106, 'coverage_time': 0.9935937290758392, 'coverage_max_gap': 0.08612002567668982}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=647, len(filtered_loc_df_b)=491\n", + "After filtering, retained 642 of 645 (0.9953488372093023)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=779 -> len(loc_df_a)=33, ios: len(unfiltered_loc_b_df)=564 -> len(loc_df_b)=21\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=779 -> len(loc_df_a)=99, ios: len(unfiltered_loc_b_df)=564 -> len(loc_df_b)=52\n", + "START_END: After filtering the merged dataframe, retained 30 of 32 (0.9375)\n", + "START_END: After filtering the merged dataframe, retained 95 of 98 (0.9693877551020408)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=30, len(initial_reference_gpdf)=642, len(end_initial_ends_gpdf)=95\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=767\n", + "Validated ct, stats are {'coverage_density': 0.985881487970464, 'coverage_time': 0.9935937290758392, 'coverage_max_gap': 0.003856120552687604}\n", + "max_gap for tf = 0.08612002567668982 > ct = 0.003856120552687604 and density 0.8573441362142106 < 0.985881487970464, returning ct len = 767 not tf len = 667\n", + "Considering entry suburb_bicycling suburb_bicycling 3 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 955 of 983 (0.9715157680569685) for android and 958 of 1004 (0.954183266932271) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1214 -> len(loc_df_a)=154, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=100\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1214 -> len(loc_df_a)=77, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=67\n", + "START_END: After filtering the merged dataframe, retained 148 of 153 (0.9673202614379085)\n", + "START_END: After filtering the merged dataframe, retained 67 of 102 (0.6568627450980392)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=148, len(initial_reference_gpdf)=966, len(end_initial_ends_gpdf)=67\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1181\n", + "After merging, found 1138 / 1181 of android 983 (1.1576805696846388), ios 1004 (1.1334661354581674)\n", + "Validated tf, stats are {'coverage_density': 0.9365414723255012, 'coverage_time': 0.9900346144179069, 'coverage_max_gap': 0.027981028171412164}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=983, len(filtered_loc_df_b)=797\n", + "After filtering, retained 947 of 1004 (0.9432270916334662)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1214 -> len(loc_df_a)=154, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=100\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1214 -> len(loc_df_a)=77, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=67\n", + "START_END: After filtering the merged dataframe, retained 148 of 153 (0.9673202614379085)\n", + "START_END: After filtering the merged dataframe, retained 67 of 102 (0.6568627450980392)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=148, len(initial_reference_gpdf)=947, len(end_initial_ends_gpdf)=67\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1162\n", + "Validated ct, stats are {'coverage_density': 0.9562927863288511, 'coverage_time': 0.9900346144179069, 'coverage_max_gap': 0.031272913838637124}\n", + "for tf = 0.027981028171412164 v/s ct = 0.031272913838637124, density 0.9365414723255012 v/s 0.9562927863288511, returning tf len = 1138 not cf len = 1162\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 4 and include_ends=True\n", + "After filtering, 594 of 594 (1.0) for android and 591 of 593 (0.9966273187183811) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=698 -> len(loc_df_a)=57, ios: len(unfiltered_loc_b_df)=585 -> len(loc_df_b)=39\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=698 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=585 -> len(loc_df_b)=36\n", + "START_END: After filtering the merged dataframe, retained 54 of 56 (0.9642857142857143)\n", + "START_END: After filtering the merged dataframe, retained 35 of 44 (0.7954545454545454)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=54, len(initial_reference_gpdf)=594, len(end_initial_ends_gpdf)=35\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=683\n", + "After merging, found 673 / 683 of android 594 (1.132996632996633), ios 593 (1.1349072512647556)\n", + "Validated tf, stats are {'coverage_density': 0.9656456869450387, 'coverage_time': 0.9828637378266739, 'coverage_max_gap': 0.012913538161226371}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=596, len(filtered_loc_df_b)=510\n", + "After filtering, retained 590 of 594 (0.9932659932659933)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=698 -> len(loc_df_a)=57, ios: len(unfiltered_loc_b_df)=585 -> len(loc_df_b)=39\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=698 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=585 -> len(loc_df_b)=36\n", + "START_END: After filtering the merged dataframe, retained 54 of 56 (0.9642857142857143)\n", + "START_END: After filtering the merged dataframe, retained 35 of 44 (0.7954545454545454)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=54, len(initial_reference_gpdf)=590, len(end_initial_ends_gpdf)=35\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=679\n", + "Validated ct, stats are {'coverage_density': 0.9742547123858563, 'coverage_time': 0.9828637378266739, 'coverage_max_gap': 0.005739350293878388}\n", + "max_gap for tf = 0.012913538161226371 > ct = 0.005739350293878388 and density 0.9656456869450387 < 0.9742547123858563, returning ct len = 679 not tf len = 673\n", + "Considering entry suburb_bicycling suburb_bicycling 4 and include_ends=True\n", + "After filtering, 927 of 1020 (0.9088235294117647) for android and 922 of 922 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1178 -> len(loc_df_a)=182, ios: len(unfiltered_loc_b_df)=911 -> len(loc_df_b)=122\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1178 -> len(loc_df_a)=71, ios: len(unfiltered_loc_b_df)=911 -> len(loc_df_b)=49\n", + "START_END: After filtering the merged dataframe, retained 153 of 186 (0.8225806451612904)\n", + "START_END: After filtering the merged dataframe, retained 56 of 70 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=153, len(initial_reference_gpdf)=927, len(end_initial_ends_gpdf)=56\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1136\n", + "After merging, found 1076 / 1136 of android 1020 (1.0549019607843138), ios 922 (1.1670281995661604)\n", + "Validated tf, stats are {'coverage_density': 0.9115015703920833, 'coverage_time': 0.9614816750883035, 'coverage_max_gap': 0.03219057590604012}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=925, len(filtered_loc_df_b)=740\n", + "After filtering, retained 922 of 1020 (0.903921568627451)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1178 -> len(loc_df_a)=182, ios: len(unfiltered_loc_b_df)=911 -> len(loc_df_b)=122\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1178 -> len(loc_df_a)=71, ios: len(unfiltered_loc_b_df)=911 -> len(loc_df_b)=49\n", + "START_END: After filtering the merged dataframe, retained 153 of 186 (0.8225806451612904)\n", + "START_END: After filtering the merged dataframe, retained 56 of 70 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=153, len(initial_reference_gpdf)=922, len(end_initial_ends_gpdf)=56\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1131\n", + "Validated ct, stats are {'coverage_density': 0.9580931934139836, 'coverage_time': 0.9614816750883035, 'coverage_max_gap': 0.0033884816743200126}\n", + "max_gap for tf = 0.03219057590604012 > ct = 0.0033884816743200126 and density 0.9115015703920833 < 0.9580931934139836, returning ct len = 1131 not tf len = 1076\n", + "Considering entry suburb_city_driving_weekend suburb_city_driving_weekend 5 and include_ends=True\n", + "After filtering, 646 of 646 (1.0) for android and 642 of 642 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=783 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=37\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=783 -> len(loc_df_a)=78, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=74\n", + "START_END: After filtering the merged dataframe, retained 55 of 57 (0.9649122807017544)\n", + "START_END: After filtering the merged dataframe, retained 75 of 78 (0.9615384615384616)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=55, len(initial_reference_gpdf)=646, len(end_initial_ends_gpdf)=75\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=776\n", + "After merging, found 747 / 776 of android 646 (1.1563467492260062), ios 642 (1.1635514018691588)\n", + "Validated tf, stats are {'coverage_density': 0.9533579536000676, 'coverage_time': 0.9929216705500035, 'coverage_max_gap': 0.017867485074164587}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=647, len(filtered_loc_df_b)=547\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 642 of 646 (0.9938080495356038)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=783 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=37\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=783 -> len(loc_df_a)=78, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=74\n", + "START_END: After filtering the merged dataframe, retained 55 of 57 (0.9649122807017544)\n", + "START_END: After filtering the merged dataframe, retained 75 of 78 (0.9615384615384616)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=55, len(initial_reference_gpdf)=642, len(end_initial_ends_gpdf)=75\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=772\n", + "Validated ct, stats are {'coverage_density': 0.9852641769467901, 'coverage_time': 0.9929216705500035, 'coverage_max_gap': 0.006381244669344495}\n", + "max_gap for tf = 0.017867485074164587 > ct = 0.006381244669344495 and density 0.9533579536000676 < 0.9852641769467901, returning ct len = 772 not tf len = 747\n", + "Considering entry suburb_bicycling suburb_bicycling 5 and include_ends=True\n", + "After filtering, 949 of 955 (0.993717277486911) for android and 945 of 945 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1197 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=957 -> len(loc_df_b)=118\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1197 -> len(loc_df_a)=109, ios: len(unfiltered_loc_b_df)=957 -> len(loc_df_b)=61\n", + "START_END: After filtering the merged dataframe, retained 129 of 135 (0.9555555555555556)\n", + "START_END: After filtering the merged dataframe, retained 106 of 110 (0.9636363636363636)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=129, len(initial_reference_gpdf)=951, len(end_initial_ends_gpdf)=106\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1186\n", + "After merging, found 1183 / 1186 of android 955 (1.2387434554973822), ios 945 (1.2518518518518518)\n", + "Validated tf, stats are {'coverage_density': 0.9917018538338948, 'coverage_time': 0.9917018538338948, 'coverage_max_gap': 0.0025148821314469015}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=946, len(filtered_loc_df_b)=778\n", + "After filtering, retained 943 of 955 (0.987434554973822)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1197 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=957 -> len(loc_df_b)=118\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1197 -> len(loc_df_a)=109, ios: len(unfiltered_loc_b_df)=957 -> len(loc_df_b)=61\n", + "START_END: After filtering the merged dataframe, retained 129 of 135 (0.9555555555555556)\n", + "START_END: After filtering the merged dataframe, retained 106 of 110 (0.9636363636363636)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=129, len(initial_reference_gpdf)=943, len(end_initial_ends_gpdf)=106\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1178\n", + "Validated ct, stats are {'coverage_density': 0.9875103836148166, 'coverage_time': 0.9917018538338948, 'coverage_max_gap': 0.004191470219078169}\n", + "for tf = 0.0025148821314469015 v/s ct = 0.004191470219078169, density 0.9917018538338948 v/s 0.9875103836148166, returning tf len = 1183 not cf len = 1178\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "No ground truth route for freeway_driving_weekday walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, freeway_driving_weekday, freeway_driving_weekday\n", + "No ground truth route for freeway_driving_weekday walk_end, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access walk_start, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_escooter\n", + "No ground truth route for bus trip with e-scooter access tt_city_escooter_city_bus_rapid_transit, must be polygon, skipping...\n", + "No ground truth route for bus trip with e-scooter access wait_for_city_bus_rapid_transit, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, city_bus_rapid_transit\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, bus trip with e-scooter access, walk_back_from_bus\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 0 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1568 of 1569 (0.9993626513702996) for android and 1565 of 1569 (0.9974506054811982) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1651 -> len(loc_df_a)=46, ios: len(unfiltered_loc_b_df)=1414 -> len(loc_df_b)=40\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1651 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=1414 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 40 of 42 (0.9523809523809523)\n", + "START_END: After filtering the merged dataframe, retained 41 of 43 (0.9534883720930233)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=40, len(initial_reference_gpdf)=1570, len(end_initial_ends_gpdf)=41\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1651\n", + "After merging, found 1454 / 1651 of android 1569 (0.9267049075844487), ios 1569 (0.9267049075844487)\n", + "Validated tf, stats are {'coverage_density': 0.8774271111557084, 'coverage_time': 0.9975151408118197, 'coverage_max_gap': 0.03801781843384431}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1561, len(filtered_loc_df_b)=1352\n", + "After filtering, retained 1532 of 1569 (0.9764181007010835)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1651 -> len(loc_df_a)=46, ios: len(unfiltered_loc_b_df)=1414 -> len(loc_df_b)=40\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1651 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=1414 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 40 of 42 (0.9523809523809523)\n", + "START_END: After filtering the merged dataframe, retained 41 of 43 (0.9534883720930233)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=40, len(initial_reference_gpdf)=1532, len(end_initial_ends_gpdf)=41\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1613\n", + "Validated ct, stats are {'coverage_density': 0.9733768433935059, 'coverage_time': 0.9975151408118197, 'coverage_max_gap': 0.007844946660952}\n", + "max_gap for tf = 0.03801781843384431 > ct = 0.007844946660952 and density 0.8774271111557084 < 0.9733768433935059, returning ct len = 1613 not tf len = 1454\n", + "Considering entry bus trip with e-scooter access city_escooter 0 and include_ends=True\n", + "After filtering, 1181 of 1181 (1.0) for android and 1183 of 1183 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1207 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1016 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1207 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=1016 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 10 of 16 (0.625)\n", + "START_END: After filtering the merged dataframe, retained 3 of 7 (0.42857142857142855)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1185, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1198\n", + "After merging, found 1088 / 1198 of android 1181 (0.9212531752751905), ios 1183 (0.9196956889264581)\n", + "Validated tf, stats are {'coverage_density': 0.9016862545521446, 'coverage_time': 0.9945068984031006, 'coverage_max_gap': 0.06049916965285528}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1182, len(filtered_loc_df_b)=1001\n", + "After filtering, retained 1125 of 1183 (0.9509721048182587)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1207 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1016 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1207 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=1016 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 10 of 16 (0.625)\n", + "START_END: After filtering the merged dataframe, retained 3 of 7 (0.42857142857142855)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1125, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1138\n", + "Validated ct, stats are {'coverage_density': 0.9431240419856071, 'coverage_time': 0.9945068984031006, 'coverage_max_gap': 0.013260091978708007}\n", + "max_gap for tf = 0.06049916965285528 > ct = 0.013260091978708007 and density 0.9016862545521446 < 0.9431240419856071, returning ct len = 1138 not tf len = 1088\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 0 and include_ends=True\n", + "After filtering, 2281 of 2321 (0.98276604911676) for android and 2266 of 2320 (0.9767241379310345) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2324 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=1782 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2324 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1782 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 14 of 17 (0.8235294117647058)\n", + "START_END: After filtering the merged dataframe, retained 12 of 19 (0.631578947368421)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=2321, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2347\n", + "After merging, found 1730 / 2347 of android 2321 (0.7453683757001293), ios 2320 (0.7456896551724138)\n", + "Validated tf, stats are {'coverage_density': 0.7332109869633524, 'coverage_time': 0.9955564210271184, 'coverage_max_gap': 0.04704417315198388}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2286, len(filtered_loc_df_b)=1762\n", + "After filtering, retained 2020 of 2321 (0.8703145196036192)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2324 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=1782 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2324 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1782 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 14 of 17 (0.8235294117647058)\n", + "START_END: After filtering the merged dataframe, retained 12 of 19 (0.631578947368421)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=2020, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2046\n", + "Validated ct, stats are {'coverage_density': 0.8671385429635948, 'coverage_time': 0.9955564210271184, 'coverage_max_gap': 0.019919604848137318}\n", + "max_gap for tf = 0.04704417315198388 > ct = 0.019919604848137318 and density 0.7332109869633524 < 0.8671385429635948, returning ct len = 2046 not tf len = 1730\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 0 and include_ends=True\n", + "After filtering, 509 of 509 (1.0) for android and 505 of 505 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=654 -> len(loc_df_a)=46, ios: len(unfiltered_loc_b_df)=473 -> len(loc_df_b)=36\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=654 -> len(loc_df_a)=98, ios: len(unfiltered_loc_b_df)=473 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 43 of 45 (0.9555555555555556)\n", + "START_END: After filtering the merged dataframe, retained 94 of 98 (0.9591836734693877)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=43, len(initial_reference_gpdf)=510, len(end_initial_ends_gpdf)=94\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=647\n", + "After merging, found 605 / 647 of android 509 (1.1886051080550097), ios 505 (1.198019801980198)\n", + "Validated tf, stats are {'coverage_density': 0.9269818552584183, 'coverage_time': 0.9943987174590304, 'coverage_max_gap': 0.029111826859355282}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=510, len(filtered_loc_df_b)=373\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 498 of 509 (0.9783889980353635)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=654 -> len(loc_df_a)=46, ios: len(unfiltered_loc_b_df)=473 -> len(loc_df_b)=36\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=654 -> len(loc_df_a)=98, ios: len(unfiltered_loc_b_df)=473 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 43 of 45 (0.9555555555555556)\n", + "START_END: After filtering the merged dataframe, retained 94 of 98 (0.9591836734693877)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=43, len(initial_reference_gpdf)=498, len(end_initial_ends_gpdf)=94\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=635\n", + "Validated ct, stats are {'coverage_density': 0.9729478976679266, 'coverage_time': 0.9943987174590304, 'coverage_max_gap': 0.010725409895551947}\n", + "max_gap for tf = 0.029111826859355282 > ct = 0.010725409895551947 and density 0.9269818552584183 < 0.9729478976679266, returning ct len = 635 not tf len = 605\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 1 and include_ends=True\n", + "After filtering, 1701 of 1701 (1.0) for android and 1700 of 1702 (0.9988249118683902) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1709 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1417 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1709 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1417 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 6 of 10 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1704, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1710\n", + "After merging, found 1626 / 1710 of android 1701 (0.9559082892416225), ios 1702 (0.9553466509988249)\n", + "Validated tf, stats are {'coverage_density': 0.9490900009697992, 'coverage_time': 0.9952019997869052, 'coverage_max_gap': 0.008755442813374531}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1698, len(filtered_loc_df_b)=1409\n", + "After filtering, retained 1683 of 1702 (0.9888366627497063)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1709 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1417 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1709 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1417 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 6 of 10 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1683, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1689\n", + "Validated ct, stats are {'coverage_density': 0.9858628607859723, 'coverage_time': 0.9975367845371383, 'coverage_max_gap': 0.007588050438257927}\n", + "max_gap for tf = 0.008755442813374531 > ct = 0.007588050438257927 and density 0.9490900009697992 < 0.9858628607859723, returning ct len = 1689 not tf len = 1626\n", + "Considering entry bus trip with e-scooter access city_escooter 1 and include_ends=True\n", + "After filtering, 1138 of 1138 (1.0) for android and 1134 of 1134 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1184 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=999 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1184 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=999 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 31 of 38 (0.8157894736842105)\n", + "START_END: After filtering the merged dataframe, retained 4 of 10 (0.4)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=31, len(initial_reference_gpdf)=1142, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1177\n", + "After merging, found 979 / 1177 of android 1138 (0.8602811950790861), ios 1134 (0.86331569664903)\n", + "Validated tf, stats are {'coverage_density': 0.8254590922134092, 'coverage_time': 0.9940922060465878, 'coverage_max_gap': 0.04637410630412411}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1137, len(filtered_loc_df_b)=971\n", + "After filtering, retained 1130 of 1138 (0.9929701230228472)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1184 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=999 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1184 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=999 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 31 of 38 (0.8157894736842105)\n", + "START_END: After filtering the merged dataframe, retained 4 of 10 (0.4)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=31, len(initial_reference_gpdf)=1130, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1165\n", + "Validated ct, stats are {'coverage_density': 0.9822878880782653, 'coverage_time': 0.9940922060465878, 'coverage_max_gap': 0.00843165569165893}\n", + "max_gap for tf = 0.04637410630412411 > ct = 0.00843165569165893 and density 0.8254590922134092 < 0.9822878880782653, returning ct len = 1165 not tf len = 979\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 1 and include_ends=True\n", + "After filtering, 2468 of 2522 (0.9785884218873909) for android and 2062 of 2525 (0.8166336633663366) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2528 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=1876 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2528 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1876 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 2 of 2 (1.0)\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=2502, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2511\n", + "After merging, found 1751 / 2511 of android 2522 (0.6942902458366376), ios 2525 (0.6934653465346534)\n", + "Validated tf, stats are {'coverage_density': 0.6893735815381173, 'coverage_time': 0.9988239727939485, 'coverage_max_gap': 0.029921411877154153}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2511, len(filtered_loc_df_b)=1867\n", + "After filtering, retained 1790 of 2525 (0.7089108910891089)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2528 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=1876 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2528 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1876 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 2 of 2 (1.0)\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=1790, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1799\n", + "Validated ct, stats are {'coverage_density': 0.7082713153552673, 'coverage_time': 0.9988239727939485, 'coverage_max_gap': 0.07244131296574163}\n", + "for tf = 0.029921411877154153 v/s ct = 0.07244131296574163, density 0.6893735815381173 v/s 0.7082713153552673, returning tf len = 1751 not cf len = 1799\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 1 and include_ends=True\n", + "After filtering, 442 of 487 (0.9075975359342916) for android and 475 of 480 (0.9895833333333334) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=610 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=494 -> len(loc_df_b)=32\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=610 -> len(loc_df_a)=86, ios: len(unfiltered_loc_b_df)=494 -> len(loc_df_b)=70\n", + "START_END: After filtering the merged dataframe, retained 32 of 37 (0.8648648648648649)\n", + "START_END: After filtering the merged dataframe, retained 75 of 85 (0.8823529411764706)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=32, len(initial_reference_gpdf)=476, len(end_initial_ends_gpdf)=75\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=583\n", + "After merging, found 583 / 583 of android 487 (1.1971252566735113), ios 480 (1.2145833333333333)\n", + "Validated tf, stats are {'coverage_density': 0.9541700599342277, 'coverage_time': 0.9787198899496881, 'coverage_max_gap': 0.02127651934673235}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=487, len(filtered_loc_df_b)=392\n", + "After filtering, retained 468 of 487 (0.9609856262833676)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=610 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=494 -> len(loc_df_b)=32\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=610 -> len(loc_df_a)=86, ios: len(unfiltered_loc_b_df)=494 -> len(loc_df_b)=70\n", + "START_END: After filtering the merged dataframe, retained 32 of 37 (0.8648648648648649)\n", + "START_END: After filtering the merged dataframe, retained 75 of 85 (0.8823529411764706)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=32, len(initial_reference_gpdf)=468, len(end_initial_ends_gpdf)=75\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=575\n", + "Validated ct, stats are {'coverage_density': 0.9410768172593155, 'coverage_time': 0.9787198899496881, 'coverage_max_gap': 0.02127651934673235}\n", + "for tf = 0.02127651934673235 v/s ct = 0.02127651934673235, density 0.9541700599342277 v/s 0.9410768172593155, returning tf len = 583 not cf len = 575\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 2 and include_ends=True\n", + "After filtering, 1245 of 1376 (0.904796511627907) for android and 1368 of 1373 (0.9963583394027676) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1390 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1238 -> len(loc_df_b)=15\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1390 -> len(loc_df_a)=36, ios: len(unfiltered_loc_b_df)=1238 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 14 of 16 (0.875)\n", + "START_END: After filtering the merged dataframe, retained 31 of 35 (0.8857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=1376, len(end_initial_ends_gpdf)=31\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1421\n", + "After merging, found 1250 / 1421 of android 1376 (0.9084302325581395), ios 1373 (0.9104151493080845)\n", + "Validated tf, stats are {'coverage_density': 0.8746268139663373, 'coverage_time': 0.9956751650192784, 'coverage_max_gap': 0.04897910158211489}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1337, len(filtered_loc_df_b)=1203\n", + "After filtering, retained 1070 of 1376 (0.7776162790697675)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1390 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1238 -> len(loc_df_b)=15\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1390 -> len(loc_df_a)=36, ios: len(unfiltered_loc_b_df)=1238 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 14 of 16 (0.875)\n", + "START_END: After filtering the merged dataframe, retained 31 of 35 (0.8857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=1070, len(end_initial_ends_gpdf)=31\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1115\n", + "Validated ct, stats are {'coverage_density': 0.7801671180579729, 'coverage_time': 0.9956751650192784, 'coverage_max_gap': 0.030786863851615075}\n", + "for tf = 0.04897910158211489 v/s ct = 0.030786863851615075, density 0.8746268139663373 v/s 0.7801671180579729, returning tf len = 1250 not cf len = 1115\n", + "Considering entry bus trip with e-scooter access city_escooter 2 and include_ends=True\n", + "After filtering, 1145 of 1145 (1.0) for android and 1141 of 1141 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1238 -> len(loc_df_a)=94, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=38\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1238 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 84 of 93 (0.9032258064516129)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=84, len(initial_reference_gpdf)=1150, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1234\n", + "After merging, found 1056 / 1234 of android 1145 (0.9222707423580786), ios 1141 (0.9255039439088519)\n", + "Validated tf, stats are {'coverage_density': 0.8518571236814182, 'coverage_time': 0.9889932136680102, 'coverage_max_gap': 0.0379140954668813}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1144, len(filtered_loc_df_b)=920\n", + "After filtering, retained 1093 of 1145 (0.9545851528384279)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1238 -> len(loc_df_a)=94, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=38\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1238 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 84 of 93 (0.9032258064516129)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=84, len(initial_reference_gpdf)=1093, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1177\n", + "Validated ct, stats are {'coverage_density': 0.9494657524365807, 'coverage_time': 0.9889932136680102, 'coverage_max_gap': 0.016940340527755476}\n", + "max_gap for tf = 0.0379140954668813 > ct = 0.016940340527755476 and density 0.8518571236814182 < 0.9494657524365807, returning ct len = 1177 not tf len = 1056\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 2 and include_ends=True\n", + "After filtering, 2211 of 2211 (1.0) for android and 1994 of 2211 (0.9018543645409317) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1667 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=1667 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "START_END: After filtering the merged dataframe, retained 7 of 11 (0.6363636363636364)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=2212, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2226\n", + "After merging, found 1579 / 2226 of android 2211 (0.7141564902758932), ios 2211 (0.7141564902758932)\n", + "Validated tf, stats are {'coverage_density': 0.7055464519576802, 'coverage_time': 0.9955398954792346, 'coverage_max_gap': 0.03664015773307776}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2191, len(filtered_loc_df_b)=1650\n", + "After filtering, retained 1663 of 2211 (0.7521483491632746)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1667 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=1667 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "START_END: After filtering the merged dataframe, retained 7 of 11 (0.6363636363636364)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1663, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1677\n", + "Validated ct, stats are {'coverage_density': 0.7493359087606267, 'coverage_time': 0.9955398954792346, 'coverage_max_gap': 0.05049192468094861}\n", + "for tf = 0.03664015773307776 v/s ct = 0.05049192468094861, density 0.7055464519576802 v/s 0.7493359087606267, returning tf len = 1579 not cf len = 1677\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 2 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 453 of 482 (0.9398340248962656) for android and 449 of 449 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=601 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=35\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=601 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=76\n", + "START_END: After filtering the merged dataframe, retained 44 of 49 (0.8979591836734694)\n", + "START_END: After filtering the merged dataframe, retained 89 of 92 (0.967391304347826)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=44, len(initial_reference_gpdf)=468, len(end_initial_ends_gpdf)=89\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=601\n", + "After merging, found 570 / 601 of android 482 (1.1825726141078838), ios 449 (1.269487750556793)\n", + "Validated tf, stats are {'coverage_density': 0.9628883712635797, 'coverage_time': 0.9882275389284109, 'coverage_max_gap': 0.027028445509153117}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=466, len(filtered_loc_df_b)=391\n", + "After filtering, retained 447 of 482 (0.9273858921161826)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=601 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=35\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=601 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=76\n", + "START_END: After filtering the merged dataframe, retained 44 of 49 (0.8979591836734694)\n", + "START_END: After filtering the merged dataframe, retained 89 of 92 (0.967391304347826)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=44, len(initial_reference_gpdf)=447, len(end_initial_ends_gpdf)=89\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=580\n", + "Validated ct, stats are {'coverage_density': 0.9797811497068005, 'coverage_time': 0.9882275389284109, 'coverage_max_gap': 0.008446389221610348}\n", + "max_gap for tf = 0.027028445509153117 > ct = 0.008446389221610348 and density 0.9628883712635797 < 0.9797811497068005, returning ct len = 580 not tf len = 570\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 3 and include_ends=True\n", + "After filtering, 1580 of 1602 (0.9862671660424469) for android and 1574 of 1574 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1614 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1365 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1614 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=1365 -> len(loc_df_b)=25\n", + "START_END: After filtering the merged dataframe, retained 13 of 14 (0.9285714285714286)\n", + "START_END: After filtering the merged dataframe, retained 26 of 33 (0.7878787878787878)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=13, len(initial_reference_gpdf)=1585, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1624\n", + "After merging, found 1343 / 1624 of android 1602 (0.83832709113608), ios 1574 (0.8532401524777636)\n", + "Validated tf, stats are {'coverage_density': 0.829594491564948, 'coverage_time': 0.9939073245927039, 'coverage_max_gap': 0.03520989279166198}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1565, len(filtered_loc_df_b)=1326\n", + "After filtering, retained 1527 of 1602 (0.9531835205992509)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1614 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1365 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1614 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=1365 -> len(loc_df_b)=25\n", + "START_END: After filtering the merged dataframe, retained 13 of 14 (0.9285714285714286)\n", + "START_END: After filtering the merged dataframe, retained 26 of 33 (0.7878787878787878)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=13, len(initial_reference_gpdf)=1527, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1566\n", + "Validated ct, stats are {'coverage_density': 0.967345475644608, 'coverage_time': 0.9939073245927039, 'coverage_max_gap': 0.006177174173975786}\n", + "max_gap for tf = 0.03520989279166198 > ct = 0.006177174173975786 and density 0.829594491564948 < 0.967345475644608, returning ct len = 1566 not tf len = 1343\n", + "Considering entry bus trip with e-scooter access city_escooter 3 and include_ends=True\n", + "After filtering, 1254 of 1254 (1.0) for android and 1262 of 1262 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1352 -> len(loc_df_a)=89, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=48\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1352 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 82 of 88 (0.9318181818181818)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=82, len(initial_reference_gpdf)=1262, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1344\n", + "After merging, found 1092 / 1344 of android 1254 (0.8708133971291866), ios 1262 (0.8652931854199684)\n", + "Validated tf, stats are {'coverage_density': 0.806728002170316, 'coverage_time': 0.9936347645779076, 'coverage_max_gap': 0.05983971444669926}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1254, len(filtered_loc_df_b)=912\n", + "After filtering, retained 1190 of 1262 (0.9429477020602218)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1352 -> len(loc_df_a)=89, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=48\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1352 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=961 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 82 of 88 (0.9318181818181818)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=82, len(initial_reference_gpdf)=1190, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1272\n", + "Validated ct, stats are {'coverage_density': 0.9397051453852032, 'coverage_time': 0.9914184788576594, 'coverage_max_gap': 0.028811714363225573}\n", + "max_gap for tf = 0.05983971444669926 > ct = 0.028811714363225573 and density 0.806728002170316 < 0.9397051453852032, returning ct len = 1272 not tf len = 1092\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 3 and include_ends=True\n", + "After filtering, 2047 of 2047 (1.0) for android and 1812 of 2046 (0.8856304985337243) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2071 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1211 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2071 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=1211 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 7 of 9 (0.7777777777777778)\n", + "START_END: After filtering the merged dataframe, retained 11 of 12 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=2048, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2066\n", + "After merging, found 1410 / 2066 of android 2047 (0.6888128969223254), ios 2046 (0.6891495601173021)\n", + "Validated tf, stats are {'coverage_density': 0.6805456258862727, 'coverage_time': 0.9981335846331999, 'coverage_max_gap': 0.04295642603111934}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2047, len(filtered_loc_df_b)=1192\n", + "After filtering, retained 1419 of 2047 (0.693209574987787)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2071 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1211 -> len(loc_df_b)=9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2071 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=1211 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 7 of 9 (0.7777777777777778)\n", + "START_END: After filtering the merged dataframe, retained 11 of 12 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1419, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1437\n", + "Validated ct, stats are {'coverage_density': 0.6935773506372864, 'coverage_time': 0.9981335846331999, 'coverage_max_gap': 0.043439082503379106}\n", + "for tf = 0.04295642603111934 v/s ct = 0.043439082503379106, density 0.6805456258862727 v/s 0.6935773506372864, returning tf len = 1410 not cf len = 1437\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 3 and include_ends=True\n", + "After filtering, 512 of 512 (1.0) for android and 496 of 496 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=619 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=21\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=619 -> len(loc_df_a)=69, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=74\n", + "START_END: After filtering the merged dataframe, retained 26 of 36 (0.7222222222222222)\n", + "START_END: After filtering the merged dataframe, retained 62 of 90 (0.6888888888888889)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=520, len(end_initial_ends_gpdf)=62\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=608\n", + "After merging, found 584 / 608 of android 512 (1.140625), ios 496 (1.1774193548387097)\n", + "Validated tf, stats are {'coverage_density': 0.9428070759806151, 'coverage_time': 0.994467737678183, 'coverage_max_gap': 0.038745496273175965}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=513, len(filtered_loc_df_b)=407\n", + "After filtering, retained 488 of 512 (0.953125)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=619 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=21\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=619 -> len(loc_df_a)=69, ios: len(unfiltered_loc_b_df)=502 -> len(loc_df_b)=74\n", + "START_END: After filtering the merged dataframe, retained 26 of 36 (0.7222222222222222)\n", + "START_END: After filtering the merged dataframe, retained 62 of 90 (0.6888888888888889)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=488, len(end_initial_ends_gpdf)=62\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=576\n", + "Validated ct, stats are {'coverage_density': 0.9298919105562231, 'coverage_time': 0.994467737678183, 'coverage_max_gap': 0.05004626601951895}\n", + "for tf = 0.038745496273175965 v/s ct = 0.05004626601951895, density 0.9428070759806151 v/s 0.9298919105562231, returning tf len = 584 not cf len = 576\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 4 and include_ends=True\n", + "After filtering, 1605 of 1612 (0.9956575682382134) for android and 1610 of 1611 (0.9993792675356921) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1686 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=1391 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1686 -> len(loc_df_a)=50, ios: len(unfiltered_loc_b_df)=1391 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 23 of 24 (0.9583333333333334)\n", + "START_END: After filtering the merged dataframe, retained 30 of 49 (0.6122448979591837)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=23, len(initial_reference_gpdf)=1613, len(end_initial_ends_gpdf)=30\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1666\n", + "After merging, found 1462 / 1666 of android 1612 (0.9069478908188585), ios 1611 (0.9075108628181254)\n", + "Validated tf, stats are {'coverage_density': 0.8662101412321037, 'coverage_time': 0.9882616385602935, 'coverage_max_gap': 0.03199408182389439}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1608, len(filtered_loc_df_b)=1349\n", + "After filtering, retained 1559 of 1612 (0.96712158808933)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1686 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=1391 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1686 -> len(loc_df_a)=50, ios: len(unfiltered_loc_b_df)=1391 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 23 of 24 (0.9583333333333334)\n", + "START_END: After filtering the merged dataframe, retained 30 of 49 (0.6122448979591837)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=23, len(initial_reference_gpdf)=1559, len(end_initial_ends_gpdf)=30\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1612\n", + "Validated ct, stats are {'coverage_density': 0.9550825907429215, 'coverage_time': 0.9882616385602935, 'coverage_max_gap': 0.008294761954342991}\n", + "max_gap for tf = 0.03199408182389439 > ct = 0.008294761954342991 and density 0.8662101412321037 < 0.9550825907429215, returning ct len = 1612 not tf len = 1462\n", + "Considering entry bus trip with e-scooter access city_escooter 4 and include_ends=True\n", + "After filtering, 1158 of 1158 (1.0) for android and 1152 of 1152 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=80, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 72 of 79 (0.9113924050632911)\n", + "START_END: After filtering the merged dataframe, retained 10 of 20 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=72, len(initial_reference_gpdf)=1159, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1241\n", + "After merging, found 1066 / 1241 of android 1158 (0.9205526770293609), ios 1152 (0.9253472222222222)\n", + "Validated tf, stats are {'coverage_density': 0.845981004681121, 'coverage_time': 0.986448769998718, 'coverage_max_gap': 0.0603138427352394}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1155, len(filtered_loc_df_b)=914\n", + "After filtering, retained 1151 of 1158 (0.9939550949913645)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=80, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 72 of 79 (0.9113924050632911)\n", + "START_END: After filtering the merged dataframe, retained 10 of 20 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=72, len(initial_reference_gpdf)=1151, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1233\n", + "Validated ct, stats are {'coverage_density': 0.9785127380598707, 'coverage_time': 0.986448769998718, 'coverage_max_gap': 0.0071424287449625605}\n", + "max_gap for tf = 0.0603138427352394 > ct = 0.0071424287449625605 and density 0.845981004681121 < 0.9785127380598707, returning ct len = 1233 not tf len = 1066\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 4 and include_ends=True\n", + "After filtering, 2425 of 2433 (0.9967118783394986) for android and 2320 of 2449 (0.9473254389546754) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2443 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1591 -> len(loc_df_b)=6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2443 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1591 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 5 of 10 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 8 of 16 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=2442, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2455\n", + "After merging, found 1581 / 2455 of android 2433 (0.6498150431565968), ios 2449 (0.6455696202531646)\n", + "Validated tf, stats are {'coverage_density': 0.6422019669064629, 'coverage_time': 0.9955958386386721, 'coverage_max_gap': 0.0690539749361788}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2415, len(filtered_loc_df_b)=1576\n", + "After filtering, retained 1777 of 2449 (0.7256022866476113)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2443 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1591 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2443 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=1591 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 5 of 10 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 8 of 16 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=1777, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1790\n", + "Validated ct, stats are {'coverage_density': 0.7270977360927062, 'coverage_time': 0.9955958386386721, 'coverage_max_gap': 0.020309992628287882}\n", + "max_gap for tf = 0.0690539749361788 > ct = 0.020309992628287882 and density 0.6422019669064629 < 0.7270977360927062, returning ct len = 1790 not tf len = 1581\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 4 and include_ends=True\n", + "After filtering, 433 of 519 (0.8342967244701349) for android and 446 of 527 (0.8462998102466793) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=624 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=512 -> len(loc_df_b)=24\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=624 -> len(loc_df_a)=91, ios: len(unfiltered_loc_b_df)=512 -> len(loc_df_b)=69\n", + "START_END: After filtering the merged dataframe, retained 34 of 51 (0.6666666666666666)\n", + "START_END: After filtering the merged dataframe, retained 88 of 91 (0.967032967032967)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=34, len(initial_reference_gpdf)=460, len(end_initial_ends_gpdf)=88\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=582\n", + "After merging, found 540 / 582 of android 519 (1.0404624277456647), ios 527 (1.0246679316888045)\n", + "Validated tf, stats are {'coverage_density': 0.86408830878091, 'coverage_time': 0.9857007374241492, 'coverage_max_gap': 0.060806214321619596}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=493, len(filtered_loc_df_b)=419\n", + "After filtering, retained 515 of 527 (0.9772296015180265)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=624 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=512 -> len(loc_df_b)=24\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=624 -> len(loc_df_a)=91, ios: len(unfiltered_loc_b_df)=512 -> len(loc_df_b)=69\n", + "START_END: After filtering the merged dataframe, retained 34 of 51 (0.6666666666666666)\n", + "START_END: After filtering the merged dataframe, retained 88 of 91 (0.967032967032967)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=34, len(initial_reference_gpdf)=515, len(end_initial_ends_gpdf)=88\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=637\n", + "Validated ct, stats are {'coverage_density': 1.019304171654518, 'coverage_time': 0.9857007374241492, 'coverage_max_gap': 0.009600981208676779}\n", + "max_gap for tf = 0.060806214321619596 > ct = 0.009600981208676779 and density 0.86408830878091 < 1.019304171654518, returning ct len = 637 not tf len = 540\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 5 and include_ends=True\n", + "After filtering, 1420 of 1577 (0.9004438807863031) for android and 1478 of 1576 (0.9378172588832487) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1566 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1269 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1566 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=1269 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 20 of 24 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=1562, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1582\n", + "After merging, found 1368 / 1582 of android 1577 (0.8674698795180723), ios 1576 (0.868020304568528)\n", + "Validated tf, stats are {'coverage_density': 0.8531849092168473, 'coverage_time': 0.9847799500390365, 'coverage_max_gap': 0.05051752751941859}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1537, len(filtered_loc_df_b)=1256\n", + "After filtering, retained 1020 of 1577 (0.6467977171845276)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1566 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1269 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1566 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=1269 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 20 of 24 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=1020, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1040\n", + "Validated ct, stats are {'coverage_density': 0.6486201064221646, 'coverage_time': 0.9822852573220282, 'coverage_max_gap': 0.09167995735005596}\n", + "for tf = 0.05051752751941859 v/s ct = 0.09167995735005596, density 0.8531849092168473 v/s 0.6486201064221646, returning tf len = 1368 not cf len = 1040\n", + "Considering entry bus trip with e-scooter access city_escooter 5 and include_ends=True\n", + "After filtering, 1190 of 1190 (1.0) for android and 1149 of 1185 (0.9696202531645569) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1235 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=973 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1235 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=973 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 30 of 38 (0.7894736842105263)\n", + "START_END: After filtering the merged dataframe, retained 3 of 12 (0.25)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=30, len(initial_reference_gpdf)=1195, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1228\n", + "After merging, found 1035 / 1228 of android 1190 (0.8697478991596639), ios 1185 (0.8734177215189873)\n", + "Validated tf, stats are {'coverage_density': 0.8367958578612684, 'coverage_time': 0.9944530484728118, 'coverage_max_gap': 0.05659488893747709}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1189, len(filtered_loc_df_b)=938\n", + "After filtering, retained 1128 of 1190 (0.9478991596638655)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1235 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=973 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1235 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=973 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 30 of 38 (0.7894736842105263)\n", + "START_END: After filtering the merged dataframe, retained 3 of 12 (0.25)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=30, len(initial_reference_gpdf)=1128, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1161\n", + "Validated ct, stats are {'coverage_density': 0.9386666579487273, 'coverage_time': 0.9944530484728118, 'coverage_max_gap': 0.042041917496411556}\n", + "max_gap for tf = 0.05659488893747709 > ct = 0.042041917496411556 and density 0.8367958578612684 < 0.9386666579487273, returning ct len = 1161 not tf len = 1035\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 5 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 2148 of 2152 (0.9981412639405205) for android and 1969 of 2151 (0.9153881915388191) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2169 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=1569 -> len(loc_df_b)=3\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2169 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1569 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 1 of 5 (0.2)\n", + "START_END: After filtering the merged dataframe, retained 7 of 10 (0.7)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=2153, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2161\n", + "After merging, found 1818 / 2161 of android 2152 (0.8447955390334573), ios 2151 (0.8451882845188284)\n", + "Validated tf, stats are {'coverage_density': 0.8379187510854051, 'coverage_time': 0.9969297352022725, 'coverage_max_gap': 0.05208185856581451}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2152, len(filtered_loc_df_b)=1556\n", + "After filtering, retained 1802 of 2152 (0.837360594795539)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2169 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=1569 -> len(loc_df_b)=3\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2169 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=1569 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 1 of 5 (0.2)\n", + "START_END: After filtering the merged dataframe, retained 7 of 10 (0.7)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=1802, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1810\n", + "Validated ct, stats are {'coverage_density': 0.8342315398595067, 'coverage_time': 0.9969297352022725, 'coverage_max_gap': 0.07005701329206908}\n", + "for tf = 0.05208185856581451 v/s ct = 0.07005701329206908, density 0.8379187510854051 v/s 0.8342315398595067, returning tf len = 1818 not cf len = 1810\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 5 and include_ends=True\n", + "After filtering, 475 of 475 (1.0) for android and 471 of 488 (0.9651639344262295) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=488 -> len(loc_df_b)=28\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=93, ios: len(unfiltered_loc_b_df)=488 -> len(loc_df_b)=65\n", + "START_END: After filtering the merged dataframe, retained 36 of 44 (0.8181818181818182)\n", + "START_END: After filtering the merged dataframe, retained 87 of 96 (0.90625)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=36, len(initial_reference_gpdf)=488, len(end_initial_ends_gpdf)=87\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=611\n", + "After merging, found 592 / 611 of android 475 (1.2463157894736843), ios 488 (1.2131147540983607)\n", + "Validated tf, stats are {'coverage_density': 0.9563124007201339, 'coverage_time': 0.9918510372333821, 'coverage_max_gap': 0.0323078513756802}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=476, len(filtered_loc_df_b)=395\n", + "After filtering, retained 475 of 488 (0.9733606557377049)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=488 -> len(loc_df_b)=28\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=93, ios: len(unfiltered_loc_b_df)=488 -> len(loc_df_b)=65\n", + "START_END: After filtering the merged dataframe, retained 36 of 44 (0.8181818181818182)\n", + "START_END: After filtering the merged dataframe, retained 87 of 96 (0.90625)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=36, len(initial_reference_gpdf)=475, len(end_initial_ends_gpdf)=87\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=598\n", + "Validated ct, stats are {'coverage_density': 0.966004756132838, 'coverage_time': 0.9918510372333821, 'coverage_max_gap': 0.0161539256878401}\n", + "max_gap for tf = 0.0323078513756802 > ct = 0.0161539256878401 and density 0.9563124007201339 < 0.966004756132838, returning ct len = 598 not tf len = 592\n", + "Considering entry freeway_driving_weekday freeway_driving_weekday 6 and include_ends=True\n", + "After filtering, 1637 of 1670 (0.9802395209580839) for android and 1609 of 1609 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1722 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1465 -> len(loc_df_b)=19\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1722 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=1465 -> len(loc_df_b)=39\n", + "START_END: After filtering the merged dataframe, retained 9 of 18 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 29 of 57 (0.5087719298245614)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1637, len(end_initial_ends_gpdf)=29\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1675\n", + "After merging, found 1487 / 1675 of android 1670 (0.8904191616766467), ios 1609 (0.9241765071472965)\n", + "Validated tf, stats are {'coverage_density': 0.8838238527076681, 'coverage_time': 0.9872437251832122, 'coverage_max_gap': 0.03566202499156697}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1683, len(filtered_loc_df_b)=1407\n", + "After filtering, retained 1605 of 1670 (0.9610778443113772)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1722 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1465 -> len(loc_df_b)=19\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1722 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=1465 -> len(loc_df_b)=39\n", + "START_END: After filtering the merged dataframe, retained 9 of 18 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 29 of 57 (0.5087719298245614)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1605, len(end_initial_ends_gpdf)=29\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1643\n", + "Validated ct, stats are {'coverage_density': 0.9765451176857421, 'coverage_time': 0.9872437251832122, 'coverage_max_gap': 0.0059436708319278286}\n", + "max_gap for tf = 0.03566202499156697 > ct = 0.0059436708319278286 and density 0.8838238527076681 < 0.9765451176857421, returning ct len = 1643 not tf len = 1487\n", + "Considering entry bus trip with e-scooter access city_escooter 6 and include_ends=True\n", + "After filtering, 1368 of 1368 (1.0) for android and 1376 of 1376 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1915 -> len(loc_df_a)=67, ios: len(unfiltered_loc_b_df)=1040 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1915 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=1040 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 46 of 56 (0.8214285714285714)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=46, len(initial_reference_gpdf)=1376, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1422\n", + "After merging, found 1118 / 1422 of android 1368 (0.8172514619883041), ios 1376 (0.8125)\n", + "Validated tf, stats are {'coverage_density': 0.7800702354016981, 'coverage_time': 0.9914846194148595, 'coverage_max_gap': 0.08303073167513603}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1838, len(filtered_loc_df_b)=1015\n", + "After filtering, retained 1322 of 1376 (0.9607558139534884)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1915 -> len(loc_df_a)=67, ios: len(unfiltered_loc_b_df)=1040 -> len(loc_df_b)=25\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1915 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=1040 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 46 of 56 (0.8214285714285714)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=46, len(initial_reference_gpdf)=1322, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1368\n", + "Validated ct, stats are {'coverage_density': 0.9545045456435806, 'coverage_time': 0.9914846194148595, 'coverage_max_gap': 0.025118540674831068}\n", + "max_gap for tf = 0.08303073167513603 > ct = 0.025118540674831068 and density 0.7800702354016981 < 0.9545045456435806, returning ct len = 1368 not tf len = 1118\n", + "Considering entry bus trip with e-scooter access city_bus_rapid_transit 6 and include_ends=True\n", + "After filtering, 2451 of 2451 (1.0) for android and 2312 of 2450 (0.9436734693877551) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2532 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=1468 -> len(loc_df_b)=3\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2532 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1468 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 1 of 3 (0.3333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 11 of 14 (0.7857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=2451, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2463\n", + "After merging, found 1662 / 2463 of android 2451 (0.6780905752753978), ios 2450 (0.6783673469387755)\n", + "Validated tf, stats are {'coverage_density': 0.6725339654421519, 'coverage_time': 0.9974706527165491, 'coverage_max_gap': 0.03682346020170627}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2513, len(filtered_loc_df_b)=1454\n", + "After filtering, retained 2029 of 2451 (0.8278253773969808)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2532 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=1468 -> len(loc_df_b)=3\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2532 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1468 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 1 of 3 (0.3333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 11 of 14 (0.7857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=2029, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2041\n", + "Validated ct, stats are {'coverage_density': 0.8258976073811265, 'coverage_time': 0.9974706527165491, 'coverage_max_gap': 0.03884672724575607}\n", + "for tf = 0.03682346020170627 v/s ct = 0.03884672724575607, density 0.6725339654421519 v/s 0.8258976073811265, returning tf len = 1662 not cf len = 2041\n", + "Considering entry bus trip with e-scooter access walk_back_from_bus 6 and include_ends=True\n", + "After filtering, 490 of 554 (0.8844765342960289) for android and 428 of 478 (0.895397489539749) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=932 -> len(loc_df_a)=67, ios: len(unfiltered_loc_b_df)=526 -> len(loc_df_b)=39\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=932 -> len(loc_df_a)=111, ios: len(unfiltered_loc_b_df)=526 -> len(loc_df_b)=69\n", + "START_END: After filtering the merged dataframe, retained 45 of 49 (0.9183673469387755)\n", + "START_END: After filtering the merged dataframe, retained 85 of 90 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=45, len(initial_reference_gpdf)=490, len(end_initial_ends_gpdf)=85\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=620\n", + "After merging, found 584 / 620 of android 554 (1.0541516245487366), ios 478 (1.2217573221757323)\n", + "Validated tf, stats are {'coverage_density': 0.9800166379216153, 'coverage_time': 0.995119634053969, 'coverage_max_gap': 0.018459217495098917}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=754, len(filtered_loc_df_b)=418\n", + "After filtering, retained 454 of 554 (0.8194945848375451)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=932 -> len(loc_df_a)=67, ios: len(unfiltered_loc_b_df)=526 -> len(loc_df_b)=39\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=932 -> len(loc_df_a)=111, ios: len(unfiltered_loc_b_df)=526 -> len(loc_df_b)=69\n", + "START_END: After filtering the merged dataframe, retained 45 of 49 (0.9183673469387755)\n", + "START_END: After filtering the merged dataframe, retained 85 of 90 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=45, len(initial_reference_gpdf)=454, len(end_initial_ends_gpdf)=85\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=584\n", + "Validated ct, stats are {'coverage_density': 0.9800166379216153, 'coverage_time': 0.995119634053969, 'coverage_max_gap': 0.033562213627452576}\n", + "for tf = 0.018459217495098917 v/s ct = 0.033562213627452576, density 0.9800166379216153 v/s 0.9800166379216153, returning tf len = 584 not cf len = 584\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg android, ucb-sdb-android-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_caltrain\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_commuter_rail_aboveground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, commuter_rail_aboveground\n", + "No ground truth route for mtv_to_berkeley_sf_bart tt_commuter_rail_aboveground_subway_underground, must be polygon, skipping...\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_subway_underground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, subway_underground\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, walk_to_bus\n", + "No ground truth route for mtv_to_berkeley_sf_bart wait_for_city_bus_short, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, mtv_to_berkeley_sf_bart, city_bus_short\n", + "No ground truth route for mtv_to_berkeley_sf_bart walk_end, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, walk_urban_university, walk_urban_university\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk to the bikeshare location\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, ebike_bikeshare_urban_long\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_ebike_bikeshare_urban_long_express_bus, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_express_bus, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, express_bus\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, walk_downtown_urban_canyon\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_light_rail_below_above_ground, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, light_rail_below_above_ground\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus tt_light_rail_below_above_ground_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "No ground truth route for berkeley_to_mtv_SF_express_bus wait_for_commuter_rail_with_tunnels, must be polygon, skipping...\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, commuter_rail_with_tunnels\n", + "Processing travel leg ios, ucb-sdb-ios-1, accuracy_control, berkeley_to_mtv_SF_express_bus, inner_suburb_downtown_walk\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 0 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 911 of 911 (1.0) for android and 951 of 988 (0.9625506072874493) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1031 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1031 -> len(loc_df_a)=112, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=76\n", + "START_END: After filtering the merged dataframe, retained 107 of 111 (0.963963963963964)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=951, len(end_initial_ends_gpdf)=107\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1058\n", + "After merging, found 993 / 1058 of android 911 (1.0900109769484083), ios 988 (1.0050607287449393)\n", + "Validated tf, stats are {'coverage_density': 0.9617402098661013, 'coverage_time': 0.9946698847255651, 'coverage_max_gap': 0.011622238185693067}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=911, len(filtered_loc_df_b)=827\n", + "After filtering, retained 911 of 988 (0.9220647773279352)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1031 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1031 -> len(loc_df_a)=112, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=76\n", + "START_END: After filtering the merged dataframe, retained 107 of 111 (0.963963963963964)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=911, len(end_initial_ends_gpdf)=107\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1018\n", + "Validated ct, stats are {'coverage_density': 0.9859532060862952, 'coverage_time': 0.9888587656327185, 'coverage_max_gap': 0.004842599244038778}\n", + "max_gap for tf = 0.011622238185693067 > ct = 0.004842599244038778 and density 0.9617402098661013 < 0.9859532060862952, returning ct len = 1018 not tf len = 993\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 0 and include_ends=True\n", + "After filtering, 1455 of 2496 (0.5829326923076923) for android and 1134 of 2461 (0.460788297440065) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1090 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=546 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1090 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=546 -> len(loc_df_b)=30\n", + "START_END: After filtering the merged dataframe, retained 8 of 33 (0.24242424242424243)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1814, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1822\n", + "After merging, found 961 / 1822 of android 2496 (0.38501602564102566), ios 2461 (0.39049167005282404)\n", + "Validated tf, stats are {'coverage_density': 0.3841079068343248, 'coverage_time': 0.967264448011515, 'coverage_max_gap': 0.09392857243087026}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1084, len(filtered_loc_df_b)=502\n", + "After filtering, retained 357 of 2496 (0.14302884615384615)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1090 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=546 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1090 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=546 -> len(loc_df_b)=30\n", + "START_END: After filtering the merged dataframe, retained 8 of 33 (0.24242424242424243)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=357, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=365\n", + "Validated ct, stats are {'coverage_density': 0.14588905930752188, 'coverage_time': 0.997241651978814, 'coverage_max_gap': 0.2693951396527938}\n", + "for tf = 0.09392857243087026 v/s ct = 0.2693951396527938, density 0.3841079068343248 v/s 0.14588905930752188, returning tf len = 961 not cf len = 365\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 0 and include_ends=True\n", + "After filtering, 754 of 1775 (0.4247887323943662) for android and 686 of 3239 (0.21179376350725532) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=749 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=404 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=749 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=404 -> len(loc_df_b)=0\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1161, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1161\n", + "After merging, found 827 / 1161 of android 1775 (0.4659154929577465), ios 3239 (0.25532571781414015)\n", + "Validated tf, stats are {'coverage_density': 0.25245063653919697, 'coverage_time': 0.9569924371830502, 'coverage_max_gap': 0.17918805761609266}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=749, len(filtered_loc_df_b)=404\n", + "After filtering, retained 60 of 3239 (0.018524235875270145)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=749 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=404 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=749 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=404 -> len(loc_df_b)=0\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=60, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=60\n", + "Validated ct, stats are {'coverage_density': 0.01831564473077608, 'coverage_time': 0.06807314624938443, 'coverage_max_gap': 0.021368252185905427}\n", + "for tf = 0.17918805761609266 v/s ct = 0.021368252185905427, density 0.25245063653919697 v/s 0.01831564473077608, returning tf len = 827 not cf len = 60\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 0 and include_ends=True\n", + "After filtering, 50 of 50 (1.0) for android and 34 of 34 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=242 -> len(loc_df_a)=190, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=86\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=242 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 198 of 226 (0.8761061946902655)\n", + "START_END: After filtering the merged dataframe, retained 6 of 13 (0.46153846153846156)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=198, len(initial_reference_gpdf)=50, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=254\n", + "After merging, found 245 / 254 of android 50 (4.9), ios 34 (7.205882352941177)\n", + "Validated tf, stats are {'coverage_density': 0.8658517871284552, 'coverage_time': 0.8870563206907848, 'coverage_max_gap': 0.024738622489384438}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=48, len(filtered_loc_df_b)=35\n", + "After filtering, retained 34 of 50 (0.68)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=242 -> len(loc_df_a)=190, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=86\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=242 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 198 of 226 (0.8761061946902655)\n", + "START_END: After filtering the merged dataframe, retained 6 of 13 (0.46153846153846156)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=198, len(initial_reference_gpdf)=34, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=238\n", + "Validated ct, stats are {'coverage_density': 0.8411131646390708, 'coverage_time': 0.8870563206907848, 'coverage_max_gap': 0.035340889270549194}\n", + "for tf = 0.024738622489384438 v/s ct = 0.035340889270549194, density 0.8658517871284552 v/s 0.8411131646390708, returning tf len = 245 not cf len = 238\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 0 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 285 of 343 (0.8309037900874635) for android and 288 of 290 (0.993103448275862) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=401 -> len(loc_df_a)=85, ios: len(unfiltered_loc_b_df)=235 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=401 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=235 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 83 of 95 (0.8736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 8 of 11 (0.7272727272727273)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=83, len(initial_reference_gpdf)=305, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=396\n", + "After merging, found 303 / 396 of android 343 (0.8833819241982507), ios 290 (1.0448275862068965)\n", + "Validated tf, stats are {'coverage_density': 0.7608472676567338, 'coverage_time': 0.9692641759587434, 'coverage_max_gap': 0.057754083023448435}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=304, len(filtered_loc_df_b)=206\n", + "After filtering, retained 178 of 343 (0.5189504373177842)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=401 -> len(loc_df_a)=85, ios: len(unfiltered_loc_b_df)=235 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=401 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=235 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 83 of 95 (0.8736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 8 of 11 (0.7272727272727273)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=83, len(initial_reference_gpdf)=178, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=269\n", + "Validated ct, stats are {'coverage_density': 0.6754716666655491, 'coverage_time': 0.9692641759587434, 'coverage_max_gap': 0.21595004956593764}\n", + "for tf = 0.057754083023448435 v/s ct = 0.21595004956593764, density 0.7608472676567338 v/s 0.6754716666655491, returning tf len = 303 not cf len = 269\n", + "Considering entry walk_urban_university walk_urban_university 0 and include_ends=True\n", + "After filtering, 709 of 717 (0.9888423988842399) for android and 688 of 688 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=799 -> len(loc_df_a)=72, ios: len(unfiltered_loc_b_df)=638 -> len(loc_df_b)=35\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=799 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=638 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 68 of 76 (0.8947368421052632)\n", + "START_END: After filtering the merged dataframe, retained 14 of 25 (0.56)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=68, len(initial_reference_gpdf)=717, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=799\n", + "After merging, found 703 / 799 of android 717 (0.9804741980474198), ios 688 (1.0218023255813953)\n", + "Validated tf, stats are {'coverage_density': 0.8809842598493929, 'coverage_time': 0.9887575832449089, 'coverage_max_gap': 0.04135487990758174}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=710, len(filtered_loc_df_b)=583\n", + "After filtering, retained 671 of 717 (0.9358437935843794)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=799 -> len(loc_df_a)=72, ios: len(unfiltered_loc_b_df)=638 -> len(loc_df_b)=35\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=799 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=638 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 68 of 76 (0.8947368421052632)\n", + "START_END: After filtering the merged dataframe, retained 14 of 25 (0.56)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=68, len(initial_reference_gpdf)=671, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=753\n", + "Validated ct, stats are {'coverage_density': 0.9436431688002743, 'coverage_time': 0.9887575832449089, 'coverage_max_gap': 0.0175444945062468}\n", + "max_gap for tf = 0.04135487990758174 > ct = 0.0175444945062468 and density 0.8809842598493929 < 0.9436431688002743, returning ct len = 753 not tf len = 703\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 0 and include_ends=True\n", + "After filtering, 229 of 229 (1.0) for android and 246 of 251 (0.9800796812749004) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=276 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=227 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=276 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=227 -> len(loc_df_b)=26\n", + "START_END: After filtering the merged dataframe, retained 3 of 12 (0.25)\n", + "START_END: After filtering the merged dataframe, retained 25 of 31 (0.8064516129032258)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=249, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=277\n", + "After merging, found 237 / 277 of android 229 (1.034934497816594), ios 251 (0.9442231075697212)\n", + "Validated tf, stats are {'coverage_density': 0.8261516236429671, 'coverage_time': 0.930727778534482, 'coverage_max_gap': 0.0627456929349089}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=231, len(filtered_loc_df_b)=189\n", + "After filtering, retained 226 of 251 (0.900398406374502)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=276 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=227 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=276 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=227 -> len(loc_df_b)=26\n", + "START_END: After filtering the merged dataframe, retained 3 of 12 (0.25)\n", + "START_END: After filtering the merged dataframe, retained 25 of 31 (0.8064516129032258)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=226, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=254\n", + "Validated ct, stats are {'coverage_density': 0.8854114447481589, 'coverage_time': 0.930727778534482, 'coverage_max_gap': 0.038344590126888775}\n", + "max_gap for tf = 0.0627456929349089 > ct = 0.038344590126888775 and density 0.8261516236429671 < 0.8854114447481589, returning ct len = 254 not tf len = 237\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 0 and include_ends=True\n", + "After filtering, 1146 of 1190 (0.9630252100840336) for android and 1144 of 1176 (0.9727891156462585) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1206 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1206 -> len(loc_df_a)=48, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 16 of 18 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 46 of 58 (0.7931034482758621)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=16, len(initial_reference_gpdf)=1146, len(end_initial_ends_gpdf)=46\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1208\n", + "After merging, found 1166 / 1208 of android 1190 (0.9798319327731092), ios 1176 (0.9914965986394558)\n", + "Validated tf, stats are {'coverage_density': 0.9635167036696854, 'coverage_time': 0.9800435768029563, 'coverage_max_gap': 0.024790309699906143}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1139, len(filtered_loc_df_b)=879\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 1176 of 1190 (0.9882352941176471)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1206 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=14\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1206 -> len(loc_df_a)=48, ios: len(unfiltered_loc_b_df)=903 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 16 of 18 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 46 of 58 (0.7931034482758621)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=16, len(initial_reference_gpdf)=1176, len(end_initial_ends_gpdf)=46\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1238\n", + "Validated ct, stats are {'coverage_density': 1.0230134469494603, 'coverage_time': 0.985827982399601, 'coverage_max_gap': 0.0024790309699906144}\n", + "max_gap for tf = 0.024790309699906143 > ct = 0.0024790309699906144 and density 0.9635167036696854 < 1.0230134469494603, returning ct len = 1238 not tf len = 1166\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 0 and include_ends=True\n", + "After filtering, 1743 of 2227 (0.7826672653794342) for android and 2109 of 2229 (0.946164199192463) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2300 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=1800 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2300 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=1800 -> len(loc_df_b)=55\n", + "START_END: After filtering the merged dataframe, retained 22 of 28 (0.7857142857142857)\n", + "START_END: After filtering the merged dataframe, retained 37 of 96 (0.3854166666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=22, len(initial_reference_gpdf)=2222, len(end_initial_ends_gpdf)=37\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2281\n", + "After merging, found 1872 / 2281 of android 2227 (0.8405927256398743), ios 2229 (0.8398384925975774)\n", + "Validated tf, stats are {'coverage_density': 0.7950832662189079, 'coverage_time': 0.9968271505426158, 'coverage_max_gap': 0.04162294876573343}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2174, len(filtered_loc_df_b)=1736\n", + "After filtering, retained 1192 of 2229 (0.534768954688201)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2300 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=1800 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2300 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=1800 -> len(loc_df_b)=55\n", + "START_END: After filtering the merged dataframe, retained 22 of 28 (0.7857142857142857)\n", + "START_END: After filtering the merged dataframe, retained 37 of 96 (0.3854166666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=22, len(initial_reference_gpdf)=1192, len(end_initial_ends_gpdf)=37\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1251\n", + "Validated ct, stats are {'coverage_density': 0.5313296827135972, 'coverage_time': 0.9968271505426158, 'coverage_max_gap': 0.06625693885157566}\n", + "for tf = 0.04162294876573343 v/s ct = 0.06625693885157566, density 0.7950832662189079 v/s 0.5313296827135972, returning tf len = 1872 not cf len = 1251\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 0 and include_ends=True\n", + "After filtering, 345 of 524 (0.6583969465648855) for android and 255 of 538 (0.4739776951672863) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=523 -> len(loc_df_a)=96, ios: len(unfiltered_loc_b_df)=390 -> len(loc_df_b)=56\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=523 -> len(loc_df_a)=38, ios: len(unfiltered_loc_b_df)=390 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 20 of 95 (0.21052631578947367)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=372, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=392\n", + "After merging, found 308 / 392 of android 524 (0.5877862595419847), ios 538 (0.5724907063197026)\n", + "Validated tf, stats are {'coverage_density': 0.49301285308603393, 'coverage_time': 0.6594847255566428, 'coverage_max_gap': 0.0848366273167526}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=389, len(filtered_loc_df_b)=334\n", + "After filtering, retained 334 of 538 (0.620817843866171)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=523 -> len(loc_df_a)=96, ios: len(unfiltered_loc_b_df)=390 -> len(loc_df_b)=56\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=523 -> len(loc_df_a)=38, ios: len(unfiltered_loc_b_df)=390 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 20 of 95 (0.21052631578947367)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=334, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=354\n", + "Validated ct, stats are {'coverage_density': 0.5666446428326494, 'coverage_time': 0.9908277794164124, 'coverage_max_gap': 0.23210020680998353}\n", + "for tf = 0.0848366273167526 v/s ct = 0.23210020680998353, density 0.49301285308603393 v/s 0.5666446428326494, returning tf len = 308 not cf len = 354\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 0 and include_ends=True\n", + "After filtering, 314 of 709 (0.44287729196050774) for android and 563 of 717 (0.7852161785216178) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=642 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=212 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=642 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=212 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 3 of 16 (0.1875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=604, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=607\n", + "After merging, found 359 / 607 of android 709 (0.5063469675599436), ios 717 (0.500697350069735)\n", + "Validated tf, stats are {'coverage_density': 0.49866971171806074, 'coverage_time': 0.86815757611083, 'coverage_max_gap': 0.08195407518486235}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=625, len(filtered_loc_df_b)=196\n", + "After filtering, retained 99 of 717 (0.13807531380753138)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=642 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=212 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=642 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=212 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 3 of 16 (0.1875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=99, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=102\n", + "Validated ct, stats are {'coverage_density': 0.14168331642128745, 'coverage_time': 0.9834489022183482, 'coverage_max_gap': 0.3111476752781215}\n", + "for tf = 0.08195407518486235 v/s ct = 0.3111476752781215, density 0.49866971171806074 v/s 0.14168331642128745, returning tf len = 359 not cf len = 102\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 0 and include_ends=True\n", + "After filtering, 3182 of 4053 (0.7850974586725882) for android and 2636 of 4053 (0.6503824327658525) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3248 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1568 -> len(loc_df_b)=0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3248 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=1568 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 18 of 20 (0.9)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3948, len(end_initial_ends_gpdf)=18\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3966\n", + "After merging, found 2804 / 3966 of android 4053 (0.691833209967925), ios 4053 (0.691833209967925)\n", + "Validated tf, stats are {'coverage_density': 0.6881605083786134, 'coverage_time': 0.9993543474028938, 'coverage_max_gap': 0.07043582949524324}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3227, len(filtered_loc_df_b)=1553\n", + "After filtering, retained 725 of 4053 (0.17887984209227734)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3248 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1568 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3248 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=1568 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 18 of 20 (0.9)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=725, len(end_initial_ends_gpdf)=18\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=743\n", + "Validated ct, stats are {'coverage_density': 0.1823478094598109, 'coverage_time': 0.9993543474028938, 'coverage_max_gap': 0.08491566900820266}\n", + "for tf = 0.07043582949524324 v/s ct = 0.08491566900820266, density 0.6881605083786134 v/s 0.1823478094598109, returning tf len = 2804 not cf len = 743\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 0 and include_ends=True\n", + "After filtering, 1021 of 1021 (1.0) for android and 1017 of 1017 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1115 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=870 -> len(loc_df_b)=49\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1115 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=870 -> len(loc_df_b)=4\n", + "START_END: After filtering the merged dataframe, retained 91 of 95 (0.9578947368421052)\n", + "START_END: After filtering the merged dataframe, retained 5 of 6 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=91, len(initial_reference_gpdf)=1021, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1117\n", + "After merging, found 1052 / 1117 of android 1021 (1.030362389813908), ios 1017 (1.0344149459193708)\n", + "Validated tf, stats are {'coverage_density': 0.9406917090460138, 'coverage_time': 0.9925549401531135, 'coverage_max_gap': 0.021460647354661914}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1014, len(filtered_loc_df_b)=817\n", + "After filtering, retained 1004 of 1021 (0.9833496571988247)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1115 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=870 -> len(loc_df_b)=49\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1115 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=870 -> len(loc_df_b)=4\n", + "START_END: After filtering the merged dataframe, retained 91 of 95 (0.9578947368421052)\n", + "START_END: After filtering the merged dataframe, retained 5 of 6 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=91, len(initial_reference_gpdf)=1004, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1100\n", + "Validated ct, stats are {'coverage_density': 0.9836130037553377, 'coverage_time': 0.9925549401531135, 'coverage_max_gap': 0.012518710956886116}\n", + "max_gap for tf = 0.021460647354661914 > ct = 0.012518710956886116 and density 0.9406917090460138 < 0.9836130037553377, returning ct len = 1100 not tf len = 1052\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 1 and include_ends=True\n", + "After filtering, 827 of 827 (1.0) for android and 814 of 814 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=927 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=843 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=927 -> len(loc_df_a)=101, ios: len(unfiltered_loc_b_df)=843 -> len(loc_df_b)=83\n", + "START_END: After filtering the merged dataframe, retained 92 of 100 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=827, len(end_initial_ends_gpdf)=92\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=919\n", + "After merging, found 881 / 919 of android 827 (1.0652962515114872), ios 814 (1.0823095823095823)\n", + "Validated tf, stats are {'coverage_density': 0.9476841025607862, 'coverage_time': 0.9885603748619324, 'coverage_max_gap': 0.011832605139805502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=826, len(filtered_loc_df_b)=760\n", + "After filtering, retained 814 of 827 (0.9842805320435308)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=927 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=843 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=927 -> len(loc_df_a)=101, ios: len(unfiltered_loc_b_df)=843 -> len(loc_df_b)=83\n", + "START_END: After filtering the merged dataframe, retained 92 of 100 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=814, len(end_initial_ends_gpdf)=92\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=906\n", + "Validated ct, stats are {'coverage_density': 0.974576386969435, 'coverage_time': 0.9821062266038567, 'coverage_max_gap': 0.009681222387113593}\n", + "max_gap for tf = 0.011832605139805502 > ct = 0.009681222387113593 and density 0.9476841025607862 < 0.974576386969435, returning ct len = 906 not tf len = 881\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 1 and include_ends=True\n", + "After filtering, 1670 of 2262 (0.7382847038019452) for android and 858 of 2259 (0.3798140770252324) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1500 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=814 -> len(loc_df_b)=22\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1500 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=814 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 18 of 21 (0.8571428571428571)\n", + "START_END: After filtering the merged dataframe, retained 0 of 30 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=1760, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1778\n", + "After merging, found 1258 / 1778 of android 2262 (0.5561450044208665), ios 2259 (0.5568835768038956)\n", + "Validated tf, stats are {'coverage_density': 0.5503532337311119, 'coverage_time': 0.982586139077963, 'coverage_max_gap': 0.11199557061618812}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1468, len(filtered_loc_df_b)=789\n", + "After filtering, retained 282 of 2262 (0.1246684350132626)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1500 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=814 -> len(loc_df_b)=22\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1500 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=814 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 18 of 21 (0.8571428571428571)\n", + "START_END: After filtering the merged dataframe, retained 0 of 30 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=282, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=300\n", + "Validated ct, stats are {'coverage_density': 0.13124480931584545, 'coverage_time': 0.997898033498145, 'coverage_max_gap': 0.33686167724400334}\n", + "for tf = 0.11199557061618812 v/s ct = 0.33686167724400334, density 0.5503532337311119 v/s 0.13124480931584545, returning tf len = 1258 not cf len = 300\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 1 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1431 of 3252 (0.44003690036900367) for android and 836 of 3235 (0.25842349304482226) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=671 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=671 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 6 of 10 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1525, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1531\n", + "After merging, found 877 / 1531 of android 3252 (0.26968019680196803), ios 3235 (0.27109737248840804)\n", + "Validated tf, stats are {'coverage_density': 0.2686168670976993, 'coverage_time': 0.9617525230179883, 'coverage_max_gap': 0.14885723763908992}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1245, len(filtered_loc_df_b)=665\n", + "After filtering, retained 415 of 3252 (0.12761377613776137)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=671 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1256 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=671 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 6 of 10 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=415, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=421\n", + "Validated ct, stats are {'coverage_density': 0.1289483478313927, 'coverage_time': 0.9433750862724216, 'coverage_max_gap': 0.6787399971362618}\n", + "for tf = 0.14885723763908992 v/s ct = 0.6787399971362618, density 0.2686168670976993 v/s 0.1289483478313927, returning tf len = 877 not cf len = 421\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 1 and include_ends=True\n", + "After filtering, 67 of 208 (0.32211538461538464) for android and 22 of 22 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=177 -> len(loc_df_a)=101, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=93\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=177 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 93 of 135 (0.6888888888888889)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=93, len(initial_reference_gpdf)=67, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=160\n", + "After merging, found 159 / 160 of android 208 (0.7644230769230769), ios 22 (7.2272727272727275)\n", + "Validated tf, stats are {'coverage_density': 0.7430368781014017, 'coverage_time': 0.7710760055769263, 'coverage_max_gap': 0.03271231538811203}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=76, len(filtered_loc_df_b)=23\n", + "After filtering, retained 22 of 208 (0.10576923076923077)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=177 -> len(loc_df_a)=101, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=93\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=177 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 93 of 135 (0.6888888888888889)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=93, len(initial_reference_gpdf)=22, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=115\n", + "Validated ct, stats are {'coverage_density': 0.5374166099475547, 'coverage_time': 0.649573119849653, 'coverage_max_gap': 0.09346375825174864}\n", + "for tf = 0.03271231538811203 v/s ct = 0.09346375825174864, density 0.7430368781014017 v/s 0.5374166099475547, returning tf len = 159 not cf len = 115\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 1 and include_ends=True\n", + "After filtering, 433 of 434 (0.9976958525345622) for android and 435 of 435 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=459 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=201 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=459 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=201 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 5 of 10 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 11 of 12 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=436, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=452\n", + "After merging, found 268 / 452 of android 434 (0.6175115207373272), ios 435 (0.6160919540229886)\n", + "Validated tf, stats are {'coverage_density': 0.5838628891535721, 'coverage_time': 0.989081162969111, 'coverage_max_gap': 0.11982260784868085}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=435, len(filtered_loc_df_b)=182\n", + "After filtering, retained 253 of 435 (0.5816091954022988)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=459 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=201 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=459 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=201 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 5 of 10 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 11 of 12 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=253, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=269\n", + "Validated ct, stats are {'coverage_density': 0.5860414820235481, 'coverage_time': 0.989081162969111, 'coverage_max_gap': 0.19171617255788936}\n", + "for tf = 0.11982260784868085 v/s ct = 0.19171617255788936, density 0.5838628891535721 v/s 0.5860414820235481, returning tf len = 268 not cf len = 269\n", + "Considering entry walk_urban_university walk_urban_university 1 and include_ends=True\n", + "After filtering, 709 of 709 (1.0) for android and 760 of 807 (0.9417596034696406) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=821 -> len(loc_df_a)=82, ios: len(unfiltered_loc_b_df)=660 -> len(loc_df_b)=50\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=821 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=660 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 81 of 83 (0.9759036144578314)\n", + "START_END: After filtering the merged dataframe, retained 21 of 26 (0.8076923076923077)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=81, len(initial_reference_gpdf)=769, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=871\n", + "After merging, found 790 / 871 of android 709 (1.1142454160789845), ios 807 (0.9789343246592317)\n", + "Validated tf, stats are {'coverage_density': 0.9641551628111728, 'coverage_time': 0.9910050534211041, 'coverage_max_gap': 0.006102247865893498}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=712, len(filtered_loc_df_b)=600\n", + "After filtering, retained 685 of 807 (0.8488228004956629)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=821 -> len(loc_df_a)=82, ios: len(unfiltered_loc_b_df)=660 -> len(loc_df_b)=50\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=821 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=660 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 81 of 83 (0.9759036144578314)\n", + "START_END: After filtering the merged dataframe, retained 21 of 26 (0.8076923076923077)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=81, len(initial_reference_gpdf)=685, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=787\n", + "Validated ct, stats are {'coverage_density': 0.9604938140916367, 'coverage_time': 0.9910050534211041, 'coverage_max_gap': 0.024408991463573993}\n", + "for tf = 0.006102247865893498 v/s ct = 0.024408991463573993, density 0.9641551628111728 v/s 0.9604938140916367, returning tf len = 790 not cf len = 787\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 1 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 170 of 170 (1.0) for android and 168 of 168 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=201 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=169 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=201 -> len(loc_df_a)=30, ios: len(unfiltered_loc_b_df)=169 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 25 of 29 (0.8620689655172413)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=170, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=195\n", + "After merging, found 195 / 195 of android 170 (1.1470588235294117), ios 168 (1.1607142857142858)\n", + "Validated tf, stats are {'coverage_density': 0.9693895124521149, 'coverage_time': 0.9693895124521149, 'coverage_max_gap': 0.00994245653797041}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=171, len(filtered_loc_df_b)=148\n", + "After filtering, retained 168 of 170 (0.9882352941176471)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=201 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=169 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=201 -> len(loc_df_a)=30, ios: len(unfiltered_loc_b_df)=169 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 25 of 29 (0.8620689655172413)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=168, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=193\n", + "Validated ct, stats are {'coverage_density': 0.9594470559141445, 'coverage_time': 0.9644182841831297, 'coverage_max_gap': 0.014913684806955613}\n", + "for tf = 0.00994245653797041 v/s ct = 0.014913684806955613, density 0.9693895124521149 v/s 0.9594470559141445, returning tf len = 195 not cf len = 193\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 1 and include_ends=True\n", + "After filtering, 1147 of 1165 (0.984549356223176) for android and 1146 of 1161 (0.9870801033591732) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1188 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=917 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1188 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=917 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 12 of 22 (0.5454545454545454)\n", + "START_END: After filtering the merged dataframe, retained 6 of 6 (1.0)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=1147, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1165\n", + "After merging, found 1129 / 1165 of android 1165 (0.9690987124463519), ios 1161 (0.9724375538329026)\n", + "Validated tf, stats are {'coverage_density': 0.9491357255284606, 'coverage_time': 0.9768783995253068, 'coverage_max_gap': 0.01092893218057572}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1158, len(filtered_loc_df_b)=896\n", + "After filtering, retained 1161 of 1165 (0.9965665236051502)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1188 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=917 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1188 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=917 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 12 of 22 (0.5454545454545454)\n", + "START_END: After filtering the merged dataframe, retained 6 of 6 (1.0)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=1161, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1179\n", + "Validated ct, stats are {'coverage_density': 0.9911700800691365, 'coverage_time': 0.9869666446150689, 'coverage_max_gap': 0.002522061272440551}\n", + "max_gap for tf = 0.01092893218057572 > ct = 0.002522061272440551 and density 0.9491357255284606 < 0.9911700800691365, returning ct len = 1179 not tf len = 1129\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 1 and include_ends=True\n", + "After filtering, 2146 of 2146 (1.0) for android and 2105 of 2155 (0.9767981438515081) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2372 -> len(loc_df_a)=82, ios: len(unfiltered_loc_b_df)=1773 -> len(loc_df_b)=34\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2372 -> len(loc_df_a)=161, ios: len(unfiltered_loc_b_df)=1773 -> len(loc_df_b)=60\n", + "START_END: After filtering the merged dataframe, retained 80 of 83 (0.963855421686747)\n", + "START_END: After filtering the merged dataframe, retained 45 of 160 (0.28125)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=80, len(initial_reference_gpdf)=2159, len(end_initial_ends_gpdf)=45\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2284\n", + "After merging, found 1831 / 2284 of android 2146 (0.853215284249767), ios 2155 (0.8496519721577727)\n", + "Validated tf, stats are {'coverage_density': 0.7662273966979607, 'coverage_time': 0.9951331236197437, 'coverage_max_gap': 0.029293237448857045}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2129, len(filtered_loc_df_b)=1679\n", + "After filtering, retained 1803 of 2155 (0.8366589327146172)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2372 -> len(loc_df_a)=82, ios: len(unfiltered_loc_b_df)=1773 -> len(loc_df_b)=34\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2372 -> len(loc_df_a)=161, ios: len(unfiltered_loc_b_df)=1773 -> len(loc_df_b)=60\n", + "START_END: After filtering the merged dataframe, retained 80 of 83 (0.963855421686747)\n", + "START_END: After filtering the merged dataframe, retained 45 of 160 (0.28125)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=80, len(initial_reference_gpdf)=1803, len(end_initial_ends_gpdf)=45\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1928\n", + "Validated ct, stats are {'coverage_density': 0.8068194543056626, 'coverage_time': 0.9951331236197437, 'coverage_max_gap': 0.02301611513838768}\n", + "max_gap for tf = 0.029293237448857045 > ct = 0.02301611513838768 and density 0.7662273966979607 < 0.8068194543056626, returning ct len = 1928 not tf len = 1831\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 1 and include_ends=True\n", + "After filtering, 325 of 393 (0.8269720101781171) for android and 333 of 504 (0.6607142857142857) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=515 -> len(loc_df_a)=102, ios: len(unfiltered_loc_b_df)=392 -> len(loc_df_b)=48\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=515 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=392 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 76 of 101 (0.7524752475247525)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=76, len(initial_reference_gpdf)=345, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=421\n", + "After merging, found 396 / 421 of android 393 (1.0076335877862594), ios 504 (0.7857142857142857)\n", + "Validated tf, stats are {'coverage_density': 0.6530798160412379, 'coverage_time': 0.6695717305877338, 'coverage_max_gap': 0.006596765818598363}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=393, len(filtered_loc_df_b)=344\n", + "After filtering, retained 305 of 504 (0.6051587301587301)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=515 -> len(loc_df_a)=102, ios: len(unfiltered_loc_b_df)=392 -> len(loc_df_b)=48\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=515 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=392 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 76 of 101 (0.7524752475247525)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=76, len(initial_reference_gpdf)=305, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=381\n", + "Validated ct, stats are {'coverage_density': 0.628341944221494, 'coverage_time': 0.7784183665946068, 'coverage_max_gap': 0.12863693346266808}\n", + "for tf = 0.006596765818598363 v/s ct = 0.12863693346266808, density 0.6530798160412379 v/s 0.628341944221494, returning tf len = 396 not cf len = 381\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 1 and include_ends=True\n", + "After filtering, 509 of 732 (0.6953551912568307) for android and 542 of 724 (0.7486187845303868) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=333 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=351 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=333 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=351 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 17 of 22 (0.7727272727272727)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=623, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=640\n", + "After merging, found 435 / 640 of android 732 (0.5942622950819673), ios 724 (0.600828729281768)\n", + "Validated tf, stats are {'coverage_density': 0.5743450945802313, 'coverage_time': 0.9123504835745743, 'coverage_max_gap': 0.07789967949478999}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=312, len(filtered_loc_df_b)=330\n", + "After filtering, retained 120 of 732 (0.16393442622950818)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=333 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=351 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=333 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=351 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 17 of 22 (0.7727272727272727)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=120, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=137\n", + "Validated ct, stats are {'coverage_density': 0.18088569645400387, 'coverage_time': 0.9862891624170868, 'coverage_max_gap': 0.21257370167222353}\n", + "for tf = 0.07789967949478999 v/s ct = 0.21257370167222353, density 0.5743450945802313 v/s 0.18088569645400387, returning tf len = 435 not cf len = 137\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 1 and include_ends=True\n", + "After filtering, 3613 of 4078 (0.8859735164296224) for android and 1375 of 4075 (0.3374233128834356) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3100 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1564 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3100 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1564 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 15 of 19 (0.7894736842105263)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3805, len(end_initial_ends_gpdf)=15\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3820\n", + "After merging, found 2336 / 3820 of android 4078 (0.5728298185384992), ios 4075 (0.5732515337423313)\n", + "Validated tf, stats are {'coverage_density': 0.5702400454053332, 'coverage_time': 0.9986524082847682, 'coverage_max_gap': 0.03002548184283219}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3081, len(filtered_loc_df_b)=1548\n", + "After filtering, retained 309 of 4078 (0.07577243746934773)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3100 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1564 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3100 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1564 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 15 of 19 (0.7894736842105263)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=309, len(end_initial_ends_gpdf)=15\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=324\n", + "Validated ct, stats are {'coverage_density': 0.07909151314697259, 'coverage_time': 0.9986524082847682, 'coverage_max_gap': 0.2443537180867888}\n", + "for tf = 0.03002548184283219 v/s ct = 0.2443537180867888, density 0.5702400454053332 v/s 0.07909151314697259, returning tf len = 2336 not cf len = 324\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 1 and include_ends=True\n", + "After filtering, 1013 of 1013 (1.0) for android and 1025 of 1025 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1101 -> len(loc_df_a)=72, ios: len(unfiltered_loc_b_df)=909 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1101 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=909 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 69 of 72 (0.9583333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=69, len(initial_reference_gpdf)=1028, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1097\n", + "After merging, found 1077 / 1097 of android 1013 (1.0631786771964462), ios 1025 (1.0507317073170732)\n", + "Validated tf, stats are {'coverage_density': 0.9737584483900724, 'coverage_time': 0.9855122643873527, 'coverage_max_gap': 0.00723311753678791}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1010, len(filtered_loc_df_b)=858\n", + "After filtering, retained 1010 of 1025 (0.9853658536585366)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1101 -> len(loc_df_a)=72, ios: len(unfiltered_loc_b_df)=909 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1101 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=909 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 69 of 72 (0.9583333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=69, len(initial_reference_gpdf)=1010, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1079\n", + "Validated ct, stats are {'coverage_density': 0.9755667277742693, 'coverage_time': 0.9782791468505648, 'coverage_max_gap': 0.004520698460492444}\n", + "max_gap for tf = 0.00723311753678791 > ct = 0.004520698460492444 and density 0.9737584483900724 < 0.9755667277742693, returning ct len = 1079 not tf len = 1077\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 2 and include_ends=True\n", + "After filtering, 704 of 704 (1.0) for android and 700 of 700 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=790 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=733 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=790 -> len(loc_df_a)=86, ios: len(unfiltered_loc_b_df)=733 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 83 of 85 (0.9764705882352941)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=704, len(end_initial_ends_gpdf)=83\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=787\n", + "After merging, found 782 / 787 of android 704 (1.1107954545454546), ios 700 (1.1171428571428572)\n", + "Validated tf, stats are {'coverage_density': 0.9896161763644783, 'coverage_time': 0.9959436455228189, 'coverage_max_gap': 0.0037964814950043925}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=704, len(filtered_loc_df_b)=669\n", + "After filtering, retained 700 of 704 (0.9943181818181818)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=790 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=733 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=790 -> len(loc_df_a)=86, ios: len(unfiltered_loc_b_df)=733 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 83 of 85 (0.9764705882352941)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=700, len(end_initial_ends_gpdf)=83\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=783\n", + "Validated ct, stats are {'coverage_density': 0.9908816701961464, 'coverage_time': 0.9946781516911508, 'coverage_max_gap': 0.006327469158340654}\n", + "for tf = 0.0037964814950043925 v/s ct = 0.006327469158340654, density 0.9896161763644783 v/s 0.9908816701961464, returning tf len = 782 not cf len = 783\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 2 and include_ends=True\n", + "After filtering, 1113 of 2301 (0.48370273794002605) for android and 1396 of 2368 (0.589527027027027) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=769 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=918 -> len(loc_df_b)=23\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=769 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=918 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 14 of 74 (0.1891891891891892)\n", + "START_END: After filtering the merged dataframe, retained 1 of 37 (0.02702702702702703)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=1825, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1840\n", + "After merging, found 1221 / 1840 of android 2301 (0.530638852672751), ios 2368 (0.515625)\n", + "Validated tf, stats are {'coverage_density': 0.5076677868170185, 'coverage_time': 0.9837362683120933, 'coverage_max_gap': 0.04532005631699838}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=708, len(filtered_loc_df_b)=892\n", + "After filtering, retained 286 of 2368 (0.12077702702702703)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=769 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=918 -> len(loc_df_b)=23\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=769 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=918 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 14 of 74 (0.1891891891891892)\n", + "START_END: After filtering the merged dataframe, retained 1 of 37 (0.02702702702702703)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=14, len(initial_reference_gpdf)=286, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=301\n", + "Validated ct, stats are {'coverage_density': 0.12514988028822488, 'coverage_time': 0.9895571929766619, 'coverage_max_gap': 0.16090698894200342}\n", + "for tf = 0.04532005631699838 v/s ct = 0.16090698894200342, density 0.5076677868170185 v/s 0.12514988028822488, returning tf len = 1221 not cf len = 301\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 2 and include_ends=True\n", + "After filtering, 1487 of 3214 (0.4626633478531425) for android and 473 of 3132 (0.15102171136653894) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1075 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=476 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1075 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=476 -> len(loc_df_b)=4\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1550, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1550\n", + "After merging, found 851 / 1550 of android 3214 (0.2647790914747978), ios 3132 (0.2717113665389527)\n", + "Validated tf, stats are {'coverage_density': 0.2628919320453338, 'coverage_time': 0.9381936517293522, 'coverage_max_gap': 0.12974689948183338}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1059, len(filtered_loc_df_b)=471\n", + "After filtering, retained 85 of 3214 (0.02644679527069073)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1075 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=476 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1075 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=476 -> len(loc_df_b)=4\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=85, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=85\n", + "Validated ct, stats are {'coverage_density': 0.026258301085609132, 'coverage_time': 0.8584919849047974, 'coverage_max_gap': 0.41210086644944216}\n", + "for tf = 0.12974689948183338 v/s ct = 0.41210086644944216, density 0.2628919320453338 v/s 0.026258301085609132, returning tf len = 851 not cf len = 85\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 2 and include_ends=True\n", + "After filtering, 69 of 216 (0.3194444444444444) for android and 25 of 25 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=190 -> len(loc_df_a)=118, ios: len(unfiltered_loc_b_df)=149 -> len(loc_df_b)=114\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=190 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=149 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 121 of 138 (0.8768115942028986)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=121, len(initial_reference_gpdf)=69, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=190\n", + "After merging, found 189 / 190 of android 216 (0.875), ios 25 (7.56)\n", + "Validated tf, stats are {'coverage_density': 0.8566941127113743, 'coverage_time': 0.8612268857945032, 'coverage_max_gap': 0.00906554616625793}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=72, len(filtered_loc_df_b)=20\n", + "After filtering, retained 10 of 216 (0.046296296296296294)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=190 -> len(loc_df_a)=118, ios: len(unfiltered_loc_b_df)=149 -> len(loc_df_b)=114\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=190 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=149 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 121 of 138 (0.8768115942028986)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=121, len(initial_reference_gpdf)=10, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=131\n", + "Validated ct, stats are {'coverage_density': 0.5937932738898943, 'coverage_time': 0.6753831893862158, 'coverage_max_gap': 0.08612268857945032}\n", + "for tf = 0.00906554616625793 v/s ct = 0.08612268857945032, density 0.8566941127113743 v/s 0.5937932738898943, returning tf len = 189 not cf len = 131\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 2 and include_ends=True\n", + "After filtering, 389 of 397 (0.9798488664987406) for android and 383 of 386 (0.9922279792746114) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=423 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=202 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=423 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=202 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 13 of 22 (0.5909090909090909)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=402, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=415\n", + "After merging, found 265 / 415 of android 397 (0.6675062972292192), ios 386 (0.6865284974093264)\n", + "Validated tf, stats are {'coverage_density': 0.625603296854599, 'coverage_time': 0.9820791377038234, 'coverage_max_gap': 0.08734838484384967}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=397, len(filtered_loc_df_b)=186\n", + "After filtering, retained 311 of 397 (0.783375314861461)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=423 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=202 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=423 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=202 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 13 of 22 (0.5909090909090909)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=311, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=324\n", + "Validated ct, stats are {'coverage_density': 0.7648885591731701, 'coverage_time': 0.9348637945449857, 'coverage_max_gap': 0.0566584117906052}\n", + "max_gap for tf = 0.08734838484384967 > ct = 0.0566584117906052 and density 0.625603296854599 < 0.7648885591731701, returning ct len = 324 not tf len = 265\n", + "Considering entry walk_urban_university walk_urban_university 2 and include_ends=True\n", + "After filtering, 659 of 689 (0.9564586357039188) for android and 617 of 617 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=713 -> len(loc_df_a)=55, ios: len(unfiltered_loc_b_df)=626 -> len(loc_df_b)=46\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=713 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=626 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 54 of 58 (0.9310344827586207)\n", + "START_END: After filtering the merged dataframe, retained 19 of 28 (0.6785714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=54, len(initial_reference_gpdf)=659, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=732\n", + "After merging, found 662 / 732 of android 689 (0.9608127721335269), ios 617 (1.072933549432739)\n", + "Validated tf, stats are {'coverage_density': 0.9310114666517981, 'coverage_time': 0.9928913828643045, 'coverage_max_gap': 0.03093995810625311}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=637, len(filtered_loc_df_b)=563\n", + "After filtering, retained 617 of 689 (0.895500725689405)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=713 -> len(loc_df_a)=55, ios: len(unfiltered_loc_b_df)=626 -> len(loc_df_b)=46\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=713 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=626 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 54 of 58 (0.9310344827586207)\n", + "START_END: After filtering the merged dataframe, retained 19 of 28 (0.6785714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=54, len(initial_reference_gpdf)=617, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=690\n", + "Validated ct, stats are {'coverage_density': 0.9703895951506658, 'coverage_time': 0.9928913828643045, 'coverage_max_gap': 0.01687634078522897}\n", + "max_gap for tf = 0.03093995810625311 > ct = 0.01687634078522897 and density 0.9310114666517981 < 0.9703895951506658, returning ct len = 690 not tf len = 662\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 2 and include_ends=True\n", + "After filtering, 194 of 194 (1.0) for android and 205 of 205 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1404 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1404 -> len(loc_df_a)=1185, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=757\n", + "START_END: After filtering the merged dataframe, retained 8 of 23 (0.34782608695652173)\n", + "START_END: After filtering the merged dataframe, retained 1161 of 1165 (0.9965665236051502)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=207, len(end_initial_ends_gpdf)=1161\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1376\n", + "After merging, found 1363 / 1376 of android 194 (7.025773195876289), ios 205 (6.648780487804878)\n", + "Validated tf, stats are {'coverage_density': 0.9842624683831882, 'coverage_time': 0.9950944104416973, 'coverage_max_gap': 0.010831942058509042}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=195, len(filtered_loc_df_b)=188\n", + "After filtering, retained 192 of 205 (0.9365853658536586)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1404 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1404 -> len(loc_df_a)=1185, ios: len(unfiltered_loc_b_df)=954 -> len(loc_df_b)=757\n", + "START_END: After filtering the merged dataframe, retained 8 of 23 (0.34782608695652173)\n", + "START_END: After filtering the merged dataframe, retained 1161 of 1165 (0.9965665236051502)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=192, len(end_initial_ends_gpdf)=1161\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1361\n", + "Validated ct, stats are {'coverage_density': 0.9828182094420537, 'coverage_time': 0.9950944104416973, 'coverage_max_gap': 0.011554071529076311}\n", + "for tf = 0.010831942058509042 v/s ct = 0.011554071529076311, density 0.9842624683831882 v/s 0.9828182094420537, returning tf len = 1363 not cf len = 1361\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 2 and include_ends=True\n", + "After filtering, 1176 of 1285 (0.9151750972762646) for android and 1175 of 1280 (0.91796875) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1283 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=910 -> len(loc_df_b)=24\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1283 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=910 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 39 of 40 (0.975)\n", + "START_END: After filtering the merged dataframe, retained 33 of 49 (0.673469387755102)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=39, len(initial_reference_gpdf)=1177, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1249\n", + "After merging, found 1176 / 1249 of android 1285 (0.9151750972762646), ios 1280 (0.91875)\n", + "Validated tf, stats are {'coverage_density': 0.9146656058128793, 'coverage_time': 0.9504433420946756, 'coverage_max_gap': 0.030333298151957733}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1205, len(filtered_loc_df_b)=869\n", + "After filtering, retained 1280 of 1285 (0.9961089494163424)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1283 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=910 -> len(loc_df_b)=24\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1283 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=910 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 39 of 40 (0.975)\n", + "START_END: After filtering the merged dataframe, retained 33 of 49 (0.673469387755102)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=39, len(initial_reference_gpdf)=1280, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1352\n", + "Validated ct, stats are {'coverage_density': 1.0515543359345347, 'coverage_time': 0.9947766240090754, 'coverage_max_gap': 0.000777776875691224}\n", + "max_gap for tf = 0.030333298151957733 > ct = 0.000777776875691224 and density 0.9146656058128793 < 1.0515543359345347, returning ct len = 1352 not tf len = 1176\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 2 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1768 of 1841 (0.9603476371537208) for android and 1811 of 1842 (0.9831704668838219) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1911 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1649 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1911 -> len(loc_df_a)=105, ios: len(unfiltered_loc_b_df)=1649 -> len(loc_df_b)=79\n", + "START_END: After filtering the merged dataframe, retained 6 of 13 (0.46153846153846156)\n", + "START_END: After filtering the merged dataframe, retained 100 of 110 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1842, len(end_initial_ends_gpdf)=100\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1948\n", + "After merging, found 1571 / 1948 of android 1841 (0.8533405757740359), ios 1842 (0.8528773072747015)\n", + "Validated tf, stats are {'coverage_density': 0.7986102603164856, 'coverage_time': 0.995339840674525, 'coverage_max_gap': 0.043209339355124936}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1792, len(filtered_loc_df_b)=1562\n", + "After filtering, retained 1461 of 1842 (0.7931596091205212)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1911 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1649 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1911 -> len(loc_df_a)=105, ios: len(unfiltered_loc_b_df)=1649 -> len(loc_df_b)=79\n", + "START_END: After filtering the merged dataframe, retained 6 of 13 (0.46153846153846156)\n", + "START_END: After filtering the merged dataframe, retained 100 of 110 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1461, len(end_initial_ends_gpdf)=100\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1567\n", + "Validated ct, stats are {'coverage_density': 0.7965768796409503, 'coverage_time': 0.995339840674525, 'coverage_max_gap': 0.01626704540428233}\n", + "for tf = 0.043209339355124936 v/s ct = 0.01626704540428233, density 0.7986102603164856 v/s 0.7965768796409503, returning tf len = 1571 not cf len = 1567\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 2 and include_ends=True\n", + "After filtering, 280 of 453 (0.6181015452538632) for android and 212 of 458 (0.462882096069869) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=493 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=402 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=493 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=402 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 83 of 95 (0.8736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 0 of 33 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=83, len(initial_reference_gpdf)=300, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=383\n", + "After merging, found 337 / 383 of android 453 (0.7439293598233996), ios 458 (0.7358078602620087)\n", + "Validated tf, stats are {'coverage_density': 0.6083754458277608, 'coverage_time': 0.7058599386310223, 'coverage_max_gap': 0.04874224640163069}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=388, len(filtered_loc_df_b)=342\n", + "After filtering, retained 200 of 458 (0.4366812227074236)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=493 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=402 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=493 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=402 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 83 of 95 (0.8736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 0 of 33 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=83, len(initial_reference_gpdf)=200, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=283\n", + "Validated ct, stats are {'coverage_density': 0.5108909530244995, 'coverage_time': 0.9513764390244213, 'coverage_max_gap': 0.26537445263110043}\n", + "for tf = 0.04874224640163069 v/s ct = 0.26537445263110043, density 0.6083754458277608 v/s 0.5108909530244995, returning tf len = 337 not cf len = 283\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 2 and include_ends=True\n", + "After filtering, 903 of 1084 (0.8330258302583026) for android and 915 of 1073 (0.8527493010251631) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=778 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=388 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=778 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=388 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 21 of 22 (0.9545454545454546)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=925, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=946\n", + "After merging, found 303 / 946 of android 1084 (0.279520295202952), ios 1073 (0.28238583410997203)\n", + "Validated tf, stats are {'coverage_density': 0.27450306170318184, 'coverage_time': 0.8597472130571603, 'coverage_max_gap': 0.34516721620103064}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=760, len(filtered_loc_df_b)=368\n", + "After filtering, retained 551 of 1084 (0.5083025830258303)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=778 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=388 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=778 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=388 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 21 of 22 (0.9545454545454546)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=551, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=572\n", + "Validated ct, stats are {'coverage_density': 0.5182037996508911, 'coverage_time': 0.9911100643672638, 'coverage_max_gap': 0.14857591458522054}\n", + "max_gap for tf = 0.34516721620103064 > ct = 0.14857591458522054 and density 0.27450306170318184 < 0.5182037996508911, returning ct len = 572 not tf len = 303\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 2 and include_ends=True\n", + "After filtering, 3913 of 4074 (0.9604810996563574) for android and 2384 of 4064 (0.5866141732283464) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3875 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1337 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3875 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1337 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 12 of 19 (0.631578947368421)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3992, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=4004\n", + "After merging, found 2838 / 4004 of android 4074 (0.6966126656848306), ios 4064 (0.6983267716535433)\n", + "Validated tf, stats are {'coverage_density': 0.6929272744867313, 'coverage_time': 0.9954420359698393, 'coverage_max_gap': 0.05371529259587065}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3855, len(filtered_loc_df_b)=1323\n", + "After filtering, retained 1012 of 4074 (0.24840451644575356)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3875 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1337 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3875 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1337 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 12 of 19 (0.631578947368421)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1012, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1024\n", + "Validated ct, stats are {'coverage_density': 0.25002027099168883, 'coverage_time': 0.993000431760936, 'coverage_max_gap': 0.0832587035235995}\n", + "for tf = 0.05371529259587065 v/s ct = 0.0832587035235995, density 0.6929272744867313 v/s 0.25002027099168883, returning tf len = 2838 not cf len = 1024\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 2 and include_ends=True\n", + "After filtering, 971 of 1010 (0.9613861386138614) for android and 1004 of 1004 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1111 -> len(loc_df_a)=106, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=89\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1111 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 102 of 107 (0.9532710280373832)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=102, len(initial_reference_gpdf)=1016, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1118\n", + "After merging, found 1100 / 1118 of android 1010 (1.0891089108910892), ios 1004 (1.095617529880478)\n", + "Validated tf, stats are {'coverage_density': 0.9906684464900264, 'coverage_time': 0.9960720925617901, 'coverage_max_gap': 0.003602430714509187}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=981, len(filtered_loc_df_b)=875\n", + "After filtering, retained 981 of 1010 (0.9712871287128713)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1111 -> len(loc_df_a)=106, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=89\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1111 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=964 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 102 of 107 (0.9532710280373832)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=102, len(initial_reference_gpdf)=981, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1083\n", + "Validated ct, stats are {'coverage_density': 0.9753581159533623, 'coverage_time': 0.9762587236319896, 'coverage_max_gap': 0.0027018230358818902}\n", + "for tf = 0.003602430714509187 v/s ct = 0.0027018230358818902, density 0.9906684464900264 v/s 0.9753581159533623, returning tf len = 1100 not cf len = 1083\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 3 and include_ends=True\n", + "After filtering, 655 of 734 (0.8923705722070845) for android and 728 of 728 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1419 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=806 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1419 -> len(loc_df_a)=192, ios: len(unfiltered_loc_b_df)=806 -> len(loc_df_b)=105\n", + "START_END: After filtering the merged dataframe, retained 125 of 132 (0.946969696969697)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=735, len(end_initial_ends_gpdf)=125\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=860\n", + "After merging, found 823 / 860 of android 734 (1.1212534059945505), ios 728 (1.1304945054945055)\n", + "Validated tf, stats are {'coverage_density': 0.9499679855810126, 'coverage_time': 0.993830419909176, 'coverage_max_gap': 0.01269702046341572}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1227, len(filtered_loc_df_b)=701\n", + "After filtering, retained 647 of 734 (0.8814713896457765)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1419 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=806 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1419 -> len(loc_df_a)=192, ios: len(unfiltered_loc_b_df)=806 -> len(loc_df_b)=105\n", + "START_END: After filtering the merged dataframe, retained 125 of 132 (0.946969696969697)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=647, len(end_initial_ends_gpdf)=125\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=772\n", + "Validated ct, stats are {'coverage_density': 0.891099981614267, 'coverage_time': 0.9003341783149329, 'coverage_max_gap': 0.011542745875832473}\n", + "for tf = 0.01269702046341572 v/s ct = 0.011542745875832473, density 0.9499679855810126 v/s 0.891099981614267, returning tf len = 823 not cf len = 772\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 3 and include_ends=True\n", + "After filtering, 1826 of 2183 (0.8364635822262941) for android and 1060 of 2173 (0.4878048780487805) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1316 -> len(loc_df_a)=31, ios: len(unfiltered_loc_b_df)=550 -> len(loc_df_b)=22\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1316 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=550 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 21 of 30 (0.7)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=21, len(initial_reference_gpdf)=1929, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1960\n", + "After merging, found 1310 / 1960 of android 2183 (0.6000916170407696), ios 2173 (0.6028531983433042)\n", + "Validated tf, stats are {'coverage_density': 0.5913923808611223, 'coverage_time': 0.9972410452841368, 'coverage_max_gap': 0.06049357178274076}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1279, len(filtered_loc_df_b)=512\n", + "After filtering, retained 245 of 2183 (0.11223087494273935)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1316 -> len(loc_df_a)=31, ios: len(unfiltered_loc_b_df)=550 -> len(loc_df_b)=22\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1316 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=550 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 21 of 30 (0.7)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=21, len(initial_reference_gpdf)=245, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=276\n", + "Validated ct, stats are {'coverage_density': 0.12459870008982424, 'coverage_time': 0.9972410452841368, 'coverage_max_gap': 0.1905096066590791}\n", + "for tf = 0.06049357178274076 v/s ct = 0.1905096066590791, density 0.5913923808611223 v/s 0.12459870008982424, returning tf len = 1310 not cf len = 276\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 3 and include_ends=True\n", + "After filtering, 1870 of 3234 (0.5782312925170068) for android and 502 of 3209 (0.1564350264880025) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=587 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=587 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 2 of 9 (0.2222222222222222)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=2026, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2028\n", + "After merging, found 702 / 2028 of android 3234 (0.21706864564007422), ios 3209 (0.21875973823621067)\n", + "Validated tf, stats are {'coverage_density': 0.21596214823350826, 'coverage_time': 0.9469109576392285, 'coverage_max_gap': 0.32978835171840576}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1153, len(filtered_loc_df_b)=580\n", + "After filtering, retained 84 of 3234 (0.025974025974025976)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=587 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1163 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=587 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 2 of 9 (0.2222222222222222)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=84, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=86\n", + "Validated ct, stats are {'coverage_density': 0.026456901350543748, 'coverage_time': 0.9035339449598486, 'coverage_max_gap': 0.4205416761185268}\n", + "for tf = 0.32978835171840576 v/s ct = 0.4205416761185268, density 0.21596214823350826 v/s 0.026456901350543748, returning tf len = 702 not cf len = 86\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 3 and include_ends=True\n", + "After filtering, 81 of 285 (0.28421052631578947) for android and 70 of 70 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=359 -> len(loc_df_a)=209, ios: len(unfiltered_loc_b_df)=153 -> len(loc_df_b)=88\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=359 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=153 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 154 of 201 (0.7661691542288557)\n", + "START_END: After filtering the merged dataframe, retained 9 of 15 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=154, len(initial_reference_gpdf)=81, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=244\n", + "After merging, found 235 / 244 of android 285 (0.8245614035087719), ios 70 (3.357142857142857)\n", + "Validated tf, stats are {'coverage_density': 0.7753544019548714, 'coverage_time': 0.8380426301980312, 'coverage_max_gap': 0.023095663036953613}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=132, len(filtered_loc_df_b)=54\n", + "After filtering, retained 70 of 285 (0.24561403508771928)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=359 -> len(loc_df_a)=209, ios: len(unfiltered_loc_b_df)=153 -> len(loc_df_b)=88\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=359 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=153 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 154 of 201 (0.7661691542288557)\n", + "START_END: After filtering the merged dataframe, retained 9 of 15 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=154, len(initial_reference_gpdf)=70, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=233\n", + "Validated ct, stats are {'coverage_density': 0.7687556410871703, 'coverage_time': 0.8380426301980312, 'coverage_max_gap': 0.029694423904654647}\n", + "for tf = 0.023095663036953613 v/s ct = 0.029694423904654647, density 0.7753544019548714 v/s 0.7687556410871703, returning tf len = 235 not cf len = 233\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 3 and include_ends=True\n", + "After filtering, 263 of 263 (1.0) for android and 254 of 267 (0.951310861423221) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=323 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=187 -> len(loc_df_b)=11\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=323 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=187 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 10 of 15 (0.6666666666666666)\n", + "START_END: After filtering the merged dataframe, retained 6 of 21 (0.2857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=267, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=283\n", + "After merging, found 202 / 283 of android 263 (0.7680608365019012), ios 267 (0.7565543071161048)\n", + "Validated tf, stats are {'coverage_density': 0.6693797535194995, 'coverage_time': 0.9477356906266181, 'coverage_max_gap': 0.05964770080866827}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=282, len(filtered_loc_df_b)=170\n", + "After filtering, retained 226 of 267 (0.846441947565543)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=323 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=187 -> len(loc_df_b)=11\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=323 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=187 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 10 of 15 (0.6666666666666666)\n", + "START_END: After filtering the merged dataframe, retained 6 of 21 (0.2857142857142857)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=226, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=242\n", + "Validated ct, stats are {'coverage_density': 0.8019301997609846, 'coverage_time': 0.9477356906266181, 'coverage_max_gap': 0.05964770080866827}\n", + "for tf = 0.05964770080866827 v/s ct = 0.05964770080866827, density 0.6693797535194995 v/s 0.8019301997609846, returning tf len = 202 not cf len = 242\n", + "Considering entry walk_urban_university walk_urban_university 3 and include_ends=True\n", + "After filtering, 612 of 660 (0.9272727272727272) for android and 653 of 653 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1063 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=622 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1063 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=622 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 57 of 63 (0.9047619047619048)\n", + "START_END: After filtering the merged dataframe, retained 26 of 28 (0.9285714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=57, len(initial_reference_gpdf)=656, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=739\n", + "After merging, found 656 / 739 of android 660 (0.9939393939393939), ios 653 (1.004594180704441)\n", + "Validated tf, stats are {'coverage_density': 0.9006303160521545, 'coverage_time': 0.987123776282773, 'coverage_max_gap': 0.026085329275900817}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=964, len(filtered_loc_df_b)=551\n", + "After filtering, retained 602 of 660 (0.9121212121212121)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1063 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=622 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1063 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=622 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 57 of 63 (0.9047619047619048)\n", + "START_END: After filtering the merged dataframe, retained 26 of 28 (0.9285714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=57, len(initial_reference_gpdf)=602, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=685\n", + "Validated ct, stats are {'coverage_density': 0.9404447659995822, 'coverage_time': 0.987123776282773, 'coverage_max_gap': 0.046679010283190936}\n", + "for tf = 0.026085329275900817 v/s ct = 0.046679010283190936, density 0.9006303160521545 v/s 0.9404447659995822, returning tf len = 656 not cf len = 685\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 3 and include_ends=True\n", + "After filtering, 410 of 410 (1.0) for android and 440 of 451 (0.975609756097561) for ios\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=711 -> len(loc_df_a)=54, ios: len(unfiltered_loc_b_df)=360 -> len(loc_df_b)=17\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=711 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=360 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 28 of 35 (0.8)\n", + "START_END: After filtering the merged dataframe, retained 13 of 33 (0.3939393939393939)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=28, len(initial_reference_gpdf)=440, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=481\n", + "After merging, found 403 / 481 of android 410 (0.9829268292682927), ios 451 (0.893569844789357)\n", + "Validated tf, stats are {'coverage_density': 0.8314745254168656, 'coverage_time': 0.9532040465076722, 'coverage_max_gap': 0.10109739887202585}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=613, len(filtered_loc_df_b)=332\n", + "After filtering, retained 410 of 451 (0.9090909090909091)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=711 -> len(loc_df_a)=54, ios: len(unfiltered_loc_b_df)=360 -> len(loc_df_b)=17\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=711 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=360 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 28 of 35 (0.8)\n", + "START_END: After filtering the merged dataframe, retained 13 of 33 (0.3939393939393939)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=28, len(initial_reference_gpdf)=410, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=451\n", + "Validated ct, stats are {'coverage_density': 0.9305087120670134, 'coverage_time': 0.9532040465076722, 'coverage_max_gap': 0.014442485553146549}\n", + "max_gap for tf = 0.10109739887202585 > ct = 0.014442485553146549 and density 0.8314745254168656 < 0.9305087120670134, returning ct len = 451 not tf len = 403\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 3 and include_ends=True\n", + "After filtering, 1303 of 1316 (0.9901215805471124) for android and 1293 of 1308 (0.9885321100917431) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1090 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1090 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1303, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1323\n", + "After merging, found 1211 / 1323 of android 1316 (0.9202127659574468), ios 1308 (0.9258409785932722)\n", + "Validated tf, stats are {'coverage_density': 0.911527832039854, 'coverage_time': 0.9898093304148703, 'coverage_max_gap': 0.05344217677525155}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1338, len(filtered_loc_df_b)=1068\n", + "After filtering, retained 1308 of 1316 (0.993920972644377)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=1090 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=1090 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1308, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1328\n", + "Validated ct, stats are {'coverage_density': 0.9995945177117473, 'coverage_time': 0.9928201572754479, 'coverage_max_gap': 0.0022581201454331644}\n", + "max_gap for tf = 0.05344217677525155 > ct = 0.0022581201454331644 and density 0.911527832039854 < 0.9995945177117473, returning ct len = 1328 not tf len = 1211\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 3 and include_ends=True\n", + "After filtering, 2236 of 2236 (1.0) for android and 1910 of 2225 (0.8584269662921349) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2333 -> len(loc_df_a)=53, ios: len(unfiltered_loc_b_df)=1473 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2333 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=1473 -> len(loc_df_b)=34\n", + "START_END: After filtering the merged dataframe, retained 51 of 52 (0.9807692307692307)\n", + "START_END: After filtering the merged dataframe, retained 11 of 75 (0.14666666666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=51, len(initial_reference_gpdf)=2236, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2298\n", + "After merging, found 1916 / 2298 of android 2236 (0.8568872987477638), ios 2225 (0.861123595505618)\n", + "Validated tf, stats are {'coverage_density': 0.8117074768400929, 'coverage_time': 0.9942992944382557, 'coverage_max_gap': 0.05846327338409855}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2222, len(filtered_loc_df_b)=1421\n", + "After filtering, retained 1068 of 2236 (0.4776386404293381)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2333 -> len(loc_df_a)=53, ios: len(unfiltered_loc_b_df)=1473 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2333 -> len(loc_df_a)=58, ios: len(unfiltered_loc_b_df)=1473 -> len(loc_df_b)=34\n", + "START_END: After filtering the merged dataframe, retained 51 of 52 (0.9807692307692307)\n", + "START_END: After filtering the merged dataframe, retained 11 of 75 (0.14666666666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=51, len(initial_reference_gpdf)=1068, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1130\n", + "Validated ct, stats are {'coverage_density': 0.4787210066958794, 'coverage_time': 0.9942992944382557, 'coverage_max_gap': 0.15251288708895272}\n", + "for tf = 0.05846327338409855 v/s ct = 0.15251288708895272, density 0.8117074768400929 v/s 0.4787210066958794, returning tf len = 1916 not cf len = 1130\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 3 and include_ends=True\n", + "After filtering, 267 of 436 (0.6123853211009175) for android and 294 of 650 (0.4523076923076923) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1099 -> len(loc_df_a)=262, ios: len(unfiltered_loc_b_df)=508 -> len(loc_df_b)=71\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1099 -> len(loc_df_a)=159, ios: len(unfiltered_loc_b_df)=508 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 126 of 315 (0.4)\n", + "START_END: After filtering the merged dataframe, retained 1 of 124 (0.008064516129032258)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=126, len(initial_reference_gpdf)=294, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=421\n", + "After merging, found 313 / 421 of android 436 (0.7178899082568807), ios 650 (0.4815384615384615)\n", + "Validated tf, stats are {'coverage_density': 0.40357373646650385, 'coverage_time': 0.8355136780520591, 'coverage_max_gap': 0.18953782511366157}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=678, len(filtered_loc_df_b)=423\n", + "After filtering, retained 336 of 650 (0.5169230769230769)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1099 -> len(loc_df_a)=262, ios: len(unfiltered_loc_b_df)=508 -> len(loc_df_b)=71\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1099 -> len(loc_df_a)=159, ios: len(unfiltered_loc_b_df)=508 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 126 of 315 (0.4)\n", + "START_END: After filtering the merged dataframe, retained 1 of 124 (0.008064516129032258)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=126, len(initial_reference_gpdf)=336, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=463\n", + "Validated ct, stats are {'coverage_density': 0.5969796804600361, 'coverage_time': 0.8355136780520591, 'coverage_max_gap': 0.0838092423971973}\n", + "max_gap for tf = 0.18953782511366157 > ct = 0.0838092423971973 and density 0.40357373646650385 < 0.5969796804600361, returning ct len = 463 not tf len = 313\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 3 and include_ends=True\n", + "After filtering, 625 of 734 (0.8514986376021798) for android and 683 of 791 (0.8634639696586599) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=679 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=398 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=679 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=398 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 20 of 22 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=692, len(end_initial_ends_gpdf)=20\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=712\n", + "After merging, found 507 / 712 of android 734 (0.6907356948228883), ios 791 (0.640960809102402)\n", + "Validated tf, stats are {'coverage_density': 0.6217411489047443, 'coverage_time': 0.8952091493105786, 'coverage_max_gap': 0.07971040370573645}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=648, len(filtered_loc_df_b)=377\n", + "After filtering, retained 453 of 791 (0.572692793931732)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=679 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=398 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=679 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=398 -> len(loc_df_b)=21\n", + "START_END: After filtering the merged dataframe, retained 20 of 22 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=453, len(end_initial_ends_gpdf)=20\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=473\n", + "Validated ct, stats are {'coverage_density': 0.5800464761971283, 'coverage_time': 0.8792670685694313, 'coverage_max_gap': 0.13244190154183902}\n", + "for tf = 0.07971040370573645 v/s ct = 0.13244190154183902, density 0.6217411489047443 v/s 0.5800464761971283, returning tf len = 507 not cf len = 473\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 3 and include_ends=True\n", + "After filtering, 1403 of 2848 (0.492626404494382) for android and 1860 of 2848 (0.6530898876404494) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1287 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1847 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1287 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=1847 -> len(loc_df_b)=28\n", + "START_END: After filtering the merged dataframe, retained 15 of 27 (0.5555555555555556)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=2307, len(end_initial_ends_gpdf)=15\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2322\n", + "After merging, found 1833 / 2322 of android 2848 (0.6436095505617978), ios 2848 (0.6436095505617978)\n", + "Validated tf, stats are {'coverage_density': 0.6363931454744826, 'coverage_time': 0.9985088305426142, 'coverage_max_gap': 0.047217385588941424}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1261, len(filtered_loc_df_b)=1819\n", + "After filtering, retained 341 of 2848 (0.11973314606741572)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1287 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1847 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1287 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=1847 -> len(loc_df_b)=28\n", + "START_END: After filtering the merged dataframe, retained 15 of 27 (0.5555555555555556)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=341, len(end_initial_ends_gpdf)=15\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=356\n", + "Validated ct, stats are {'coverage_density': 0.12359845051222902, 'coverage_time': 0.9985088305426142, 'coverage_max_gap': 0.1597058630214195}\n", + "for tf = 0.047217385588941424 v/s ct = 0.1597058630214195, density 0.6363931454744826 v/s 0.12359845051222902, returning tf len = 1833 not cf len = 356\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 3 and include_ends=True\n", + "After filtering, 1013 of 1013 (1.0) for android and 1011 of 1011 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1708 -> len(loc_df_a)=125, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1708 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 80 of 81 (0.9876543209876543)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=80, len(initial_reference_gpdf)=1013, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1093\n", + "After merging, found 1059 / 1093 of android 1013 (1.0454096742349457), ios 1011 (1.0474777448071217)\n", + "Validated tf, stats are {'coverage_density': 0.9595886815722594, 'coverage_time': 0.9913031328045815, 'coverage_max_gap': 0.017216416383260557}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1576, len(filtered_loc_df_b)=841\n", + "After filtering, retained 1011 of 1013 (0.998025666337611)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1708 -> len(loc_df_a)=125, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1708 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 80 of 81 (0.9876543209876543)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=80, len(initial_reference_gpdf)=1011, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1091\n", + "Validated ct, stats are {'coverage_density': 0.9885847512703825, 'coverage_time': 0.9913031328045815, 'coverage_max_gap': 0.004530635890331725}\n", + "max_gap for tf = 0.017216416383260557 > ct = 0.004530635890331725 and density 0.9595886815722594 < 0.9885847512703825, returning ct len = 1091 not tf len = 1059\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 4 and include_ends=True\n", + "After filtering, 680 of 794 (0.8564231738035264) for android and 760 of 760 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=827 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=128, ios: len(unfiltered_loc_b_df)=827 -> len(loc_df_b)=105\n", + "START_END: After filtering the merged dataframe, retained 80 of 113 (0.7079646017699115)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=760, len(end_initial_ends_gpdf)=80\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=840\n", + "After merging, found 786 / 840 of android 794 (0.9899244332493703), ios 760 (1.0342105263157895)\n", + "Validated tf, stats are {'coverage_density': 0.8954283738123127, 'coverage_time': 0.9956798965801034, 'coverage_max_gap': 0.04101198658682348}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1284, len(filtered_loc_df_b)=722\n", + "After filtering, retained 701 of 794 (0.8828715365239295)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=827 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=128, ios: len(unfiltered_loc_b_df)=827 -> len(loc_df_b)=105\n", + "START_END: After filtering the merged dataframe, retained 80 of 113 (0.7079646017699115)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=701, len(end_initial_ends_gpdf)=80\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=781\n", + "Validated ct, stats are {'coverage_density': 0.8897322645641427, 'coverage_time': 0.9808700125348616, 'coverage_max_gap': 0.04101198658682348}\n", + "for tf = 0.04101198658682348 v/s ct = 0.04101198658682348, density 0.8954283738123127 v/s 0.8897322645641427, returning tf len = 786 not cf len = 781\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 4 and include_ends=True\n", + "After filtering, 1983 of 2264 (0.8758833922261484) for android and 1164 of 2258 (0.5155004428697962) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=62, ios: len(unfiltered_loc_b_df)=759 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=759 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 12 of 1551 (0.007736943907156673)\n", + "START_END: After filtering the merged dataframe, retained 1 of 26 (0.038461538461538464)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=2123, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2136\n", + "After merging, found 1504 / 2136 of android 2264 (0.6643109540636042), ios 2258 (0.6660761736049602)\n", + "Validated tf, stats are {'coverage_density': 0.6560721998526883, 'coverage_time': 0.9841082997790325, 'coverage_max_gap': 0.05714458655631793}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1464, len(filtered_loc_df_b)=740\n", + "After filtering, retained 351 of 2264 (0.15503533568904593)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=62, ios: len(unfiltered_loc_b_df)=759 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=759 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 12 of 1551 (0.007736943907156673)\n", + "START_END: After filtering the merged dataframe, retained 1 of 26 (0.038461538461538464)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=351, len(end_initial_ends_gpdf)=1\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=364\n", + "Validated ct, stats are {'coverage_density': 0.15878343134732617, 'coverage_time': 0.9841082997790325, 'coverage_max_gap': 0.14831419411563432}\n", + "for tf = 0.05714458655631793 v/s ct = 0.14831419411563432, density 0.6560721998526883 v/s 0.15878343134732617, returning tf len = 1504 not cf len = 364\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 4 and include_ends=True\n", + "After filtering, 348 of 3242 (0.10734114743985194) for android and 325 of 3163 (0.10275055327220993) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=481 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=358 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=481 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=358 -> len(loc_df_b)=0\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=650, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=650\n", + "After merging, found 419 / 650 of android 3242 (0.12924120913016657), ios 3163 (0.13246917483401835)\n", + "Validated tf, stats are {'coverage_density': 0.12844084813034298, 'coverage_time': 0.9407755678091233, 'coverage_max_gap': 0.35129644858561593}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=475, len(filtered_loc_df_b)=357\n", + "After filtering, retained 0 of 3242 (0.0)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=481 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=358 -> len(loc_df_b)=1\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=481 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=358 -> len(loc_df_b)=0\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=10, len(end_initial_ends_gpdf)=0\n", + "Found exception 'ts' while computing ct_ref_df, skipping\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 4 and include_ends=True\n", + "After filtering, 89 of 89 (1.0) for android and 83 of 83 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=362 -> len(loc_df_a)=217, ios: len(unfiltered_loc_b_df)=132 -> len(loc_df_b)=70\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=362 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=132 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 189 of 212 (0.8915094339622641)\n", + "START_END: After filtering the merged dataframe, retained 5 of 8 (0.625)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=189, len(initial_reference_gpdf)=89, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=283\n", + "After merging, found 282 / 283 of android 89 (3.168539325842697), ios 83 (3.397590361445783)\n", + "Validated tf, stats are {'coverage_density': 0.9020578213176074, 'coverage_time': 0.9084553945184415, 'coverage_max_gap': 0.006397573200834095}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=133, len(filtered_loc_df_b)=55\n", + "After filtering, retained 83 of 89 (0.9325842696629213)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=362 -> len(loc_df_a)=217, ios: len(unfiltered_loc_b_df)=132 -> len(loc_df_b)=70\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=362 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=132 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 189 of 212 (0.8915094339622641)\n", + "START_END: After filtering the merged dataframe, retained 5 of 8 (0.625)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=189, len(initial_reference_gpdf)=83, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=277\n", + "Validated ct, stats are {'coverage_density': 0.8860638883155222, 'coverage_time': 0.9084553945184415, 'coverage_max_gap': 0.019192719602502285}\n", + "for tf = 0.006397573200834095 v/s ct = 0.019192719602502285, density 0.9020578213176074 v/s 0.8860638883155222, returning tf len = 282 not cf len = 277\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 4 and include_ends=True\n", + "After filtering, 226 of 229 (0.9868995633187773) for android and 229 of 229 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=275 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=207 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=275 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=207 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 18 of 22 (0.8181818181818182)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=232, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=260\n", + "After merging, found 191 / 260 of android 229 (0.834061135371179), ios 229 (0.834061135371179)\n", + "Validated tf, stats are {'coverage_density': 0.7108368401791223, 'coverage_time': 0.9750746184656023, 'coverage_max_gap': 0.17863962475705691}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=235, len(filtered_loc_df_b)=182\n", + "After filtering, retained 218 of 229 (0.9519650655021834)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=275 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=207 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=275 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=207 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 18 of 22 (0.8181818181818182)\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=218, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=246\n", + "Validated ct, stats are {'coverage_density': 0.9155280768799167, 'coverage_time': 0.9750746184656023, 'coverage_max_gap': 0.04093824734015888}\n", + "max_gap for tf = 0.17863962475705691 > ct = 0.04093824734015888 and density 0.7108368401791223 < 0.9155280768799167, returning ct len = 246 not tf len = 191\n", + "Considering entry walk_urban_university walk_urban_university 4 and include_ends=True\n", + "After filtering, 617 of 647 (0.9536321483771252) for android and 616 of 616 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1094 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=597 -> len(loc_df_b)=60\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1094 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=597 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 89 of 91 (0.978021978021978)\n", + "START_END: After filtering the merged dataframe, retained 19 of 25 (0.76)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=89, len(initial_reference_gpdf)=656, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=764\n", + "After merging, found 683 / 764 of android 647 (1.0556414219474497), ios 616 (1.1087662337662338)\n", + "Validated tf, stats are {'coverage_density': 0.937853326671833, 'coverage_time': 0.9859131603958653, 'coverage_max_gap': 0.027462762128018535}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1023, len(filtered_loc_df_b)=523\n", + "After filtering, retained 546 of 647 (0.8438948995363215)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1094 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=597 -> len(loc_df_b)=60\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1094 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=597 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 89 of 91 (0.978021978021978)\n", + "START_END: After filtering the merged dataframe, retained 19 of 25 (0.76)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=89, len(initial_reference_gpdf)=546, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=654\n", + "Validated ct, stats are {'coverage_density': 0.898032321586206, 'coverage_time': 0.9859131603958653, 'coverage_max_gap': 0.03844786697922595}\n", + "for tf = 0.027462762128018535 v/s ct = 0.03844786697922595, density 0.937853326671833 v/s 0.898032321586206, returning tf len = 683 not cf len = 654\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 4 and include_ends=True\n", + "After filtering, 355 of 363 (0.977961432506887) for android and 371 of 371 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=581 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=323 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=581 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=323 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 5 of 24 (0.20833333333333334)\n", + "START_END: After filtering the merged dataframe, retained 9 of 12 (0.75)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=371, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=385\n", + "After merging, found 317 / 385 of android 363 (0.8732782369146006), ios 371 (0.8544474393530997)\n", + "Validated tf, stats are {'coverage_density': 0.8107656914905019, 'coverage_time': 0.9386467153849029, 'coverage_max_gap': 0.14066912628384104}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=545, len(filtered_loc_df_b)=300\n", + "After filtering, retained 352 of 371 (0.9487870619946092)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=581 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=323 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=581 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=323 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 5 of 24 (0.20833333333333334)\n", + "START_END: After filtering the merged dataframe, retained 9 of 12 (0.75)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=352, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=366\n", + "Validated ct, stats are {'coverage_density': 0.9360890949070149, 'coverage_time': 0.956550058730119, 'coverage_max_gap': 0.025576204778880188}\n", + "max_gap for tf = 0.14066912628384104 > ct = 0.025576204778880188 and density 0.8107656914905019 < 0.9360890949070149, returning ct len = 366 not tf len = 317\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 4 and include_ends=True\n", + "After filtering, 1015 of 1029 (0.9863945578231292) for android and 1012 of 1023 (0.989247311827957) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1066 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=842 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1066 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=842 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 3 of 5 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=1015, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1026\n", + "After merging, found 983 / 1026 of android 1029 (0.9552964042759962), ios 1023 (0.9608993157380255)\n", + "Validated tf, stats are {'coverage_density': 0.9454045111050129, 'coverage_time': 0.9838746844968751, 'coverage_max_gap': 0.019235086695931086}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1048, len(filtered_loc_df_b)=831\n", + "After filtering, retained 1021 of 1029 (0.9922254616132167)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1066 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=842 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1066 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=842 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 3 of 5 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=1021, len(end_initial_ends_gpdf)=3\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1032\n", + "Validated ct, stats are {'coverage_density': 0.9925304735100441, 'coverage_time': 0.9925304735100441, 'coverage_max_gap': 0.002885263004389663}\n", + "max_gap for tf = 0.019235086695931086 > ct = 0.002885263004389663 and density 0.9454045111050129 < 0.9925304735100441, returning ct len = 1032 not tf len = 983\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 4 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 2065 of 2280 (0.9057017543859649) for android and 2037 of 2256 (0.9029255319148937) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2195 -> len(loc_df_a)=65, ios: len(unfiltered_loc_b_df)=1846 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2195 -> len(loc_df_a)=31, ios: len(unfiltered_loc_b_df)=1846 -> len(loc_df_b)=40\n", + "START_END: After filtering the merged dataframe, retained 15 of 64 (0.234375)\n", + "START_END: After filtering the merged dataframe, retained 32 of 111 (0.2882882882882883)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=15, len(initial_reference_gpdf)=2247, len(end_initial_ends_gpdf)=32\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2294\n", + "After merging, found 1852 / 2294 of android 2280 (0.8122807017543859), ios 2256 (0.8209219858156028)\n", + "Validated tf, stats are {'coverage_density': 0.7758273082394904, 'coverage_time': 0.9940811028360209, 'coverage_max_gap': 0.036026538071596205}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2099, len(filtered_loc_df_b)=1793\n", + "After filtering, retained 1402 of 2280 (0.6149122807017544)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2195 -> len(loc_df_a)=65, ios: len(unfiltered_loc_b_df)=1846 -> len(loc_df_b)=13\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2195 -> len(loc_df_a)=31, ios: len(unfiltered_loc_b_df)=1846 -> len(loc_df_b)=40\n", + "START_END: After filtering the merged dataframe, retained 15 of 64 (0.234375)\n", + "START_END: After filtering the merged dataframe, retained 32 of 111 (0.2882882882882883)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=15, len(initial_reference_gpdf)=1402, len(end_initial_ends_gpdf)=32\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1449\n", + "Validated ct, stats are {'coverage_density': 0.607005275183057, 'coverage_time': 0.9940811028360209, 'coverage_max_gap': 0.07414764231014569}\n", + "for tf = 0.036026538071596205 v/s ct = 0.07414764231014569, density 0.7758273082394904 v/s 0.607005275183057, returning tf len = 1852 not cf len = 1449\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 4 and include_ends=True\n", + "After filtering, 316 of 551 (0.573502722323049) for android and 301 of 564 (0.5336879432624113) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=992 -> len(loc_df_a)=163, ios: len(unfiltered_loc_b_df)=509 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=992 -> len(loc_df_a)=126, ios: len(unfiltered_loc_b_df)=509 -> len(loc_df_b)=35\n", + "START_END: After filtering the merged dataframe, retained 104 of 215 (0.48372093023255813)\n", + "START_END: After filtering the merged dataframe, retained 0 of 143 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=104, len(initial_reference_gpdf)=342, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=446\n", + "After merging, found 366 / 446 of android 551 (0.6642468239564429), ios 564 (0.648936170212766)\n", + "Validated tf, stats are {'coverage_density': 0.5410380692818316, 'coverage_time': 0.7184276001939076, 'coverage_max_gap': 0.15225934736619853}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=703, len(filtered_loc_df_b)=375\n", + "After filtering, retained 418 of 564 (0.7411347517730497)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=992 -> len(loc_df_a)=163, ios: len(unfiltered_loc_b_df)=509 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=992 -> len(loc_df_a)=126, ios: len(unfiltered_loc_b_df)=509 -> len(loc_df_b)=35\n", + "START_END: After filtering the merged dataframe, retained 104 of 215 (0.48372093023255813)\n", + "START_END: After filtering the merged dataframe, retained 0 of 143 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=104, len(initial_reference_gpdf)=418, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=522\n", + "Validated ct, stats are {'coverage_density': 0.7716444594675304, 'coverage_time': 0.9682511895617478, 'coverage_max_gap': 0.07982528891043418}\n", + "max_gap for tf = 0.15225934736619853 > ct = 0.07982528891043418 and density 0.5410380692818316 < 0.7716444594675304, returning ct len = 522 not tf len = 366\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 4 and include_ends=True\n", + "After filtering, 763 of 766 (0.9960835509138382) for android and 757 of 823 (0.9198055893074119) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=844 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=490 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=844 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=490 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 12 of 28 (0.42857142857142855)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=766, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=778\n", + "After merging, found 536 / 778 of android 766 (0.6997389033942559), ios 823 (0.6512758201701093)\n", + "Validated tf, stats are {'coverage_density': 0.6202361402031036, 'coverage_time': 0.9002681288768929, 'coverage_max_gap': 0.05207206400958892}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=800, len(filtered_loc_df_b)=475\n", + "After filtering, retained 710 of 823 (0.8626974483596598)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=844 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=490 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=844 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=490 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 12 of 28 (0.42857142857142855)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=710, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=722\n", + "Validated ct, stats are {'coverage_density': 0.8354673381094044, 'coverage_time': 0.8967966579429203, 'coverage_max_gap': 0.037029023295707675}\n", + "max_gap for tf = 0.05207206400958892 > ct = 0.037029023295707675 and density 0.6202361402031036 < 0.8354673381094044, returning ct len = 722 not tf len = 536\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 4 and include_ends=True\n", + "After filtering, 4080 of 4113 (0.9919766593727206) for android and 4069 of 4112 (0.9895428015564203) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=4084 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2810 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=4084 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=2810 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 22 of 24 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=4113, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=4135\n", + "After merging, found 3237 / 4135 of android 4113 (0.7870167760758571), ios 4112 (0.7872081712062257)\n", + "Validated tf, stats are {'coverage_density': 0.7820784968522129, 'coverage_time': 0.999040650134044, 'coverage_max_gap': 0.05339491745577357}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=4058, len(filtered_loc_df_b)=2790\n", + "After filtering, retained 3928 of 4113 (0.9550206661804036)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=4084 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2810 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=4084 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=2810 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 22 of 24 (0.9166666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3928, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3950\n", + "Validated ct, stats are {'coverage_density': 0.9543435472864507, 'coverage_time': 0.999040650134044, 'coverage_max_gap': 0.0074897848014886005}\n", + "max_gap for tf = 0.05339491745577357 > ct = 0.0074897848014886005 and density 0.7820784968522129 < 0.9543435472864507, returning ct len = 3950 not tf len = 3237\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 4 and include_ends=True\n", + "After filtering, 898 of 898 (1.0) for android and 910 of 910 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1509 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=877 -> len(loc_df_b)=75\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1509 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=877 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 82 of 87 (0.9425287356321839)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=82, len(initial_reference_gpdf)=910, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=992\n", + "After merging, found 964 / 992 of android 898 (1.0734966592427617), ios 910 (1.0593406593406594)\n", + "Validated tf, stats are {'coverage_density': 0.9656040093960938, 'coverage_time': 0.9946522627907896, 'coverage_max_gap': 0.01702828647275269}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1352, len(filtered_loc_df_b)=802\n", + "After filtering, retained 898 of 910 (0.9868131868131869)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1509 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=877 -> len(loc_df_b)=75\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1509 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=877 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 82 of 87 (0.9425287356321839)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=82, len(initial_reference_gpdf)=898, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=980\n", + "Validated ct, stats are {'coverage_density': 0.9816306319586846, 'coverage_time': 0.9866389515094942, 'coverage_max_gap': 0.007011647371133461}\n", + "max_gap for tf = 0.01702828647275269 > ct = 0.007011647371133461 and density 0.9656040093960938 < 0.9816306319586846, returning ct len = 980 not tf len = 964\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 5 and include_ends=True\n", + "After filtering, 722 of 816 (0.8848039215686274) for android and 763 of 763 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=794 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=133, ios: len(unfiltered_loc_b_df)=794 -> len(loc_df_b)=77\n", + "START_END: After filtering the merged dataframe, retained 86 of 94 (0.9148936170212766)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=788, len(end_initial_ends_gpdf)=86\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=874\n", + "After merging, found 810 / 874 of android 816 (0.9926470588235294), ios 763 (1.0615989515072084)\n", + "Validated tf, stats are {'coverage_density': 0.9311495795073284, 'coverage_time': 0.9874783812306112, 'coverage_max_gap': 0.03678615622745001}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1238, len(filtered_loc_df_b)=713\n", + "After filtering, retained 679 of 816 (0.8321078431372549)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=794 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=133, ios: len(unfiltered_loc_b_df)=794 -> len(loc_df_b)=77\n", + "START_END: After filtering the merged dataframe, retained 86 of 94 (0.9148936170212766)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=679, len(end_initial_ends_gpdf)=86\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=765\n", + "Validated ct, stats are {'coverage_density': 0.8794190473124768, 'coverage_time': 0.9127565013936033, 'coverage_max_gap': 0.013794808585293753}\n", + "for tf = 0.03678615622745001 v/s ct = 0.013794808585293753, density 0.9311495795073284 v/s 0.8794190473124768, returning tf len = 810 not cf len = 765\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 5 and include_ends=True\n", + "After filtering, 1504 of 2307 (0.6519289120069354) for android and 1215 of 2444 (0.4971358428805237) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1342 -> len(loc_df_a)=169, ios: len(unfiltered_loc_b_df)=647 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1342 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=647 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 146 of 165 (0.8848484848484849)\n", + "START_END: After filtering the merged dataframe, retained 12 of 14 (0.8571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=146, len(initial_reference_gpdf)=1850, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2008\n", + "After merging, found 1456 / 2008 of android 2307 (0.6311226701343736), ios 2444 (0.5957446808510638)\n", + "Validated tf, stats are {'coverage_density': 0.5847446290206029, 'coverage_time': 0.9980016504918943, 'coverage_max_gap': 0.04417713543424884}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1158, len(filtered_loc_df_b)=588\n", + "After filtering, retained 236 of 2444 (0.09656301145662848)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1342 -> len(loc_df_a)=169, ios: len(unfiltered_loc_b_df)=647 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1342 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=647 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 146 of 165 (0.8848484848484849)\n", + "START_END: After filtering the merged dataframe, retained 12 of 14 (0.8571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=146, len(initial_reference_gpdf)=236, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=394\n", + "Validated ct, stats are {'coverage_density': 0.15823446691903675, 'coverage_time': 0.9980016504918943, 'coverage_max_gap': 0.12851530308145118}\n", + "for tf = 0.04417713543424884 v/s ct = 0.12851530308145118, density 0.5847446290206029 v/s 0.15823446691903675, returning tf len = 1456 not cf len = 394\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 5 and include_ends=True\n", + "After filtering, 932 of 3276 (0.2844932844932845) for android and 844 of 3194 (0.26424546023794615) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=754 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=528 -> len(loc_df_b)=19\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=754 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=528 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 5 of 26 (0.19230769230769232)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=1418, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1423\n", + "After merging, found 768 / 1423 of android 3276 (0.23443223443223443), ios 3194 (0.24045084533500313)\n", + "Validated tf, stats are {'coverage_density': 0.23341306023102631, 'coverage_time': 0.9932211990038985, 'coverage_max_gap': 0.10910844872778444}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=748, len(filtered_loc_df_b)=509\n", + "After filtering, retained 78 of 3276 (0.023809523809523808)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=754 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=528 -> len(loc_df_b)=19\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=754 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=528 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 5 of 26 (0.19230769230769232)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=78, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=83\n", + "Validated ct, stats are {'coverage_density': 0.025225630207259354, 'coverage_time': 0.9558386385762732, 'coverage_max_gap': 0.690209713261277}\n", + "for tf = 0.10910844872778444 v/s ct = 0.690209713261277, density 0.23341306023102631 v/s 0.025225630207259354, returning tf len = 768 not cf len = 83\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 5 and include_ends=True\n", + "After filtering, 158 of 288 (0.5486111111111112) for android and 85 of 85 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=367 -> len(loc_df_a)=229, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=81\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=367 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 158 of 207 (0.7632850241545893)\n", + "START_END: After filtering the merged dataframe, retained 7 of 14 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=158, len(initial_reference_gpdf)=158, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=323\n", + "After merging, found 253 / 323 of android 288 (0.8784722222222222), ios 85 (2.976470588235294)\n", + "Validated tf, stats are {'coverage_density': 0.816610819325823, 'coverage_time': 0.816610819325823, 'coverage_max_gap': 0.0290493967349107}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=126, len(filtered_loc_df_b)=42\n", + "After filtering, retained 85 of 288 (0.2951388888888889)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=367 -> len(loc_df_a)=229, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=81\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=367 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 158 of 207 (0.7632850241545893)\n", + "START_END: After filtering the merged dataframe, retained 7 of 14 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=158, len(initial_reference_gpdf)=85, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=250\n", + "Validated ct, stats are {'coverage_density': 0.8069276870808527, 'coverage_time': 0.816610819325823, 'coverage_max_gap': 0.035504818231557524}\n", + "for tf = 0.0290493967349107 v/s ct = 0.035504818231557524, density 0.816610819325823 v/s 0.8069276870808527, returning tf len = 253 not cf len = 250\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 5 and include_ends=True\n", + "After filtering, 173 of 215 (0.8046511627906977) for android and 198 of 201 (0.9850746268656716) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=244 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=130 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=244 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=130 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 2 of 5 (0.4)\n", + "START_END: After filtering the merged dataframe, retained 14 of 16 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=209, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=225\n", + "After merging, found 167 / 225 of android 215 (0.7767441860465116), ios 201 (0.8308457711442786)\n", + "Validated tf, stats are {'coverage_density': 0.7170612537629185, 'coverage_time': 0.9703942715593987, 'coverage_max_gap': 0.08587559925304414}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=220, len(filtered_loc_df_b)=108\n", + "After filtering, retained 102 of 215 (0.4744186046511628)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=244 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=130 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=244 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=130 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 2 of 5 (0.4)\n", + "START_END: After filtering the merged dataframe, retained 14 of 16 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=102, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=118\n", + "Validated ct, stats are {'coverage_density': 0.5066660355929604, 'coverage_time': 0.9703942715593987, 'coverage_max_gap': 0.11163827902895737}\n", + "for tf = 0.08587559925304414 v/s ct = 0.11163827902895737, density 0.7170612537629185 v/s 0.5066660355929604, returning tf len = 167 not cf len = 118\n", + "Considering entry walk_urban_university walk_urban_university 5 and include_ends=True\n", + "After filtering, 674 of 711 (0.9479606188466948) for android and 680 of 732 (0.9289617486338798) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1102 -> len(loc_df_a)=56, ios: len(unfiltered_loc_b_df)=605 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1102 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=605 -> len(loc_df_b)=29\n", + "START_END: After filtering the merged dataframe, retained 42 of 64 (0.65625)\n", + "START_END: After filtering the merged dataframe, retained 16 of 41 (0.3902439024390244)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=42, len(initial_reference_gpdf)=694, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=752\n", + "After merging, found 701 / 752 of android 711 (0.9859353023909986), ios 732 (0.9576502732240437)\n", + "Validated tf, stats are {'coverage_density': 0.9261265037970333, 'coverage_time': 0.9393380088440666, 'coverage_max_gap': 0.01585380605643994}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1020, len(filtered_loc_df_b)=546\n", + "After filtering, retained 681 of 732 (0.930327868852459)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1102 -> len(loc_df_a)=56, ios: len(unfiltered_loc_b_df)=605 -> len(loc_df_b)=30\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1102 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=605 -> len(loc_df_b)=29\n", + "START_END: After filtering the merged dataframe, retained 42 of 64 (0.65625)\n", + "START_END: After filtering the merged dataframe, retained 16 of 41 (0.3902439024390244)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=42, len(initial_reference_gpdf)=681, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=739\n", + "Validated ct, stats are {'coverage_density': 0.9763302229757598, 'coverage_time': 0.9723667714616497, 'coverage_max_gap': 0.011890354542329956}\n", + "max_gap for tf = 0.01585380605643994 > ct = 0.011890354542329956 and density 0.9261265037970333 < 0.9763302229757598, returning ct len = 739 not tf len = 701\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 5 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 281 of 281 (1.0) for android and 302 of 309 (0.9773462783171522) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=520 -> len(loc_df_a)=38, ios: len(unfiltered_loc_b_df)=295 -> len(loc_df_b)=20\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=520 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=295 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 20 of 26 (0.7692307692307693)\n", + "START_END: After filtering the merged dataframe, retained 8 of 10 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=302, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=330\n", + "After merging, found 302 / 330 of android 281 (1.0747330960854093), ios 309 (0.9773462783171522)\n", + "Validated tf, stats are {'coverage_density': 0.940161474175315, 'coverage_time': 0.9775188837451951, 'coverage_max_gap': 0.031131174641566724}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=463, len(filtered_loc_df_b)=265\n", + "After filtering, retained 281 of 309 (0.9093851132686084)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=520 -> len(loc_df_a)=38, ios: len(unfiltered_loc_b_df)=295 -> len(loc_df_b)=20\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=520 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=295 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 20 of 26 (0.7692307692307693)\n", + "START_END: After filtering the merged dataframe, retained 8 of 10 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=281, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=309\n", + "Validated ct, stats are {'coverage_density': 0.9619532964244117, 'coverage_time': 0.9775188837451951, 'coverage_max_gap': 0.015565587320783362}\n", + "max_gap for tf = 0.031131174641566724 > ct = 0.015565587320783362 and density 0.940161474175315 < 0.9619532964244117, returning ct len = 309 not tf len = 302\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 5 and include_ends=True\n", + "After filtering, 1135 of 1147 (0.9895379250217959) for android and 1084 of 1142 (0.9492119089316988) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1201 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=864 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1201 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=864 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 5 of 7 (0.7142857142857143)\n", + "START_END: After filtering the merged dataframe, retained 104 of 109 (0.9541284403669725)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=1135, len(end_initial_ends_gpdf)=104\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1244\n", + "After merging, found 1136 / 1244 of android 1147 (0.990409764603313), ios 1142 (0.9947460595446584)\n", + "Validated tf, stats are {'coverage_density': 0.9818419429673467, 'coverage_time': 0.9861634303923791, 'coverage_max_gap': 0.02160743712516168}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1163, len(filtered_loc_df_b)=847\n", + "After filtering, retained 1093 of 1147 (0.952920662598082)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1201 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=864 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1201 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=864 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 5 of 7 (0.7142857142857143)\n", + "START_END: After filtering the merged dataframe, retained 104 of 109 (0.9541284403669725)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=5, len(initial_reference_gpdf)=1093, len(end_initial_ends_gpdf)=104\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1202\n", + "Validated ct, stats are {'coverage_density': 1.0388855769777736, 'coverage_time': 0.9922135127874243, 'coverage_max_gap': 0.002592892455019402}\n", + "max_gap for tf = 0.02160743712516168 > ct = 0.002592892455019402 and density 0.9818419429673467 < 1.0388855769777736, returning ct len = 1202 not tf len = 1136\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 5 and include_ends=True\n", + "After filtering, 1713 of 1831 (0.9355543418896778) for android and 1818 of 1837 (0.9896570495372891) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1560 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=1463 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1560 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=1463 -> len(loc_df_b)=40\n", + "START_END: After filtering the merged dataframe, retained 6 of 50 (0.12)\n", + "START_END: After filtering the merged dataframe, retained 58 of 132 (0.4393939393939394)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1860, len(end_initial_ends_gpdf)=58\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1924\n", + "After merging, found 1496 / 1924 of android 1831 (0.8170398689240852), ios 1837 (0.8143712574850299)\n", + "Validated tf, stats are {'coverage_density': 0.7477532944185394, 'coverage_time': 0.9956714989851141, 'coverage_max_gap': 0.04948367389534453}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1480, len(filtered_loc_df_b)=1407\n", + "After filtering, retained 1003 of 1837 (0.5459989112683723)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1560 -> len(loc_df_a)=45, ios: len(unfiltered_loc_b_df)=1463 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1560 -> len(loc_df_a)=35, ios: len(unfiltered_loc_b_df)=1463 -> len(loc_df_b)=40\n", + "START_END: After filtering the merged dataframe, retained 6 of 50 (0.12)\n", + "START_END: After filtering the merged dataframe, retained 58 of 132 (0.4393939393939394)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=6, len(initial_reference_gpdf)=1003, len(end_initial_ends_gpdf)=58\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1067\n", + "Validated ct, stats are {'coverage_density': 0.5333240408720465, 'coverage_time': 0.9956714989851141, 'coverage_max_gap': 0.05398218970401221}\n", + "for tf = 0.04948367389534453 v/s ct = 0.05398218970401221, density 0.7477532944185394 v/s 0.5333240408720465, returning tf len = 1496 not cf len = 1067\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 5 and include_ends=True\n", + "After filtering, 249 of 419 (0.594272076372315) for android and 263 of 538 (0.4888475836431227) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=937 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=486 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=937 -> len(loc_df_a)=187, ios: len(unfiltered_loc_b_df)=486 -> len(loc_df_b)=36\n", + "START_END: After filtering the merged dataframe, retained 124 of 225 (0.5511111111111111)\n", + "START_END: After filtering the merged dataframe, retained 33 of 181 (0.18232044198895028)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=124, len(initial_reference_gpdf)=283, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=440\n", + "After merging, found 404 / 440 of android 419 (0.964200477326969), ios 538 (0.7509293680297398)\n", + "Validated tf, stats are {'coverage_density': 0.6277106946814248, 'coverage_time': 0.7768696716354268, 'coverage_max_gap': 0.12740662614821}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=569, len(filtered_loc_df_b)=351\n", + "After filtering, retained 365 of 538 (0.6784386617100372)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=937 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=486 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=937 -> len(loc_df_a)=187, ios: len(unfiltered_loc_b_df)=486 -> len(loc_df_b)=36\n", + "START_END: After filtering the merged dataframe, retained 124 of 225 (0.5511111111111111)\n", + "START_END: After filtering the merged dataframe, retained 33 of 181 (0.18232044198895028)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=124, len(initial_reference_gpdf)=365, len(end_initial_ends_gpdf)=33\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=522\n", + "Validated ct, stats are {'coverage_density': 0.8110519371873856, 'coverage_time': 0.8498954207691568, 'coverage_max_gap': 0.046612180298125604}\n", + "max_gap for tf = 0.12740662614821 > ct = 0.046612180298125604 and density 0.6277106946814248 < 0.8110519371873856, returning ct len = 522 not tf len = 404\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 5 and include_ends=True\n", + "After filtering, 528 of 661 (0.7987897125567323) for android and 493 of 664 (0.7424698795180723) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=588 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=386 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=588 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=386 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 11 of 19 (0.5789473684210527)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=538, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=549\n", + "After merging, found 298 / 549 of android 661 (0.4508320726172466), ios 664 (0.44879518072289154)\n", + "Validated tf, stats are {'coverage_density': 0.4307705586957868, 'coverage_time': 0.8615411173915736, 'coverage_max_gap': 0.2601969817625558}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=563, len(filtered_loc_df_b)=374\n", + "After filtering, retained 392 of 664 (0.5903614457831325)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=588 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=386 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=588 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=386 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 11 of 19 (0.5789473684210527)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=392, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=403\n", + "Validated ct, stats are {'coverage_density': 0.582552131390611, 'coverage_time': 0.806610643463923, 'coverage_max_gap': 0.11275202543044084}\n", + "max_gap for tf = 0.2601969817625558 > ct = 0.11275202543044084 and density 0.4307705586957868 < 0.582552131390611, returning ct len = 403 not tf len = 298\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 5 and include_ends=True\n", + "After filtering, 3481 of 3524 (0.9877979568671964) for android and 3029 of 3522 (0.860022714366837) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3420 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2369 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3420 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=2369 -> len(loc_df_b)=23\n", + "START_END: After filtering the merged dataframe, retained 23 of 27 (0.8518518518518519)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3524, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3547\n", + "After merging, found 2868 / 3547 of android 3524 (0.8138479001135074), ios 3522 (0.8143100511073254)\n", + "Validated tf, stats are {'coverage_density': 0.8071286829587901, 'coverage_time': 0.9982166800749054, 'coverage_max_gap': 0.04024386389927022}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=3391, len(filtered_loc_df_b)=2346\n", + "After filtering, retained 1838 of 3524 (0.521566401816118)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=3420 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2369 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=3420 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=2369 -> len(loc_df_b)=23\n", + "START_END: After filtering the merged dataframe, retained 23 of 27 (0.8518518518518519)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1838, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1861\n", + "Validated ct, stats are {'coverage_density': 0.5237330819338594, 'coverage_time': 0.9979352544532322, 'coverage_max_gap': 0.051782314387872175}\n", + "for tf = 0.04024386389927022 v/s ct = 0.051782314387872175, density 0.8071286829587901 v/s 0.5237330819338594, returning tf len = 2868 not cf len = 1861\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 5 and include_ends=True\n", + "After filtering, 882 of 882 (1.0) for android and 878 of 878 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=148, ios: len(unfiltered_loc_b_df)=865 -> len(loc_df_b)=76\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=865 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 92 of 95 (0.968421052631579)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=92, len(initial_reference_gpdf)=882, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=974\n", + "After merging, found 961 / 974 of android 882 (1.0895691609977325), ios 878 (1.0945330296127562)\n", + "Validated tf, stats are {'coverage_density': 0.9797948929970621, 'coverage_time': 0.9930491423300088, 'coverage_max_gap': 0.007136903486971317}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1400, len(filtered_loc_df_b)=788\n", + "After filtering, retained 878 of 882 (0.9954648526077098)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=148, ios: len(unfiltered_loc_b_df)=865 -> len(loc_df_b)=76\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1553 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=865 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 92 of 95 (0.968421052631579)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=92, len(initial_reference_gpdf)=878, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=970\n", + "Validated ct, stats are {'coverage_density': 0.9889709117660253, 'coverage_time': 0.9930491423300088, 'coverage_max_gap': 0.006117345845975414}\n", + "max_gap for tf = 0.007136903486971317 > ct = 0.006117345845975414 and density 0.9797948929970621 < 0.9889709117660253, returning ct len = 970 not tf len = 961\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 6 and include_ends=True\n", + "After filtering, 784 of 840 (0.9333333333333333) for android and 780 of 780 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1385 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1385 -> len(loc_df_a)=92, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=65\n", + "START_END: After filtering the merged dataframe, retained 76 of 77 (0.987012987012987)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=800, len(end_initial_ends_gpdf)=76\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=876\n", + "After merging, found 773 / 876 of android 840 (0.9202380952380952), ios 780 (0.9910256410256411)\n", + "Validated tf, stats are {'coverage_density': 0.8951804770597231, 'coverage_time': 0.9936155877325258, 'coverage_max_gap': 0.04053210439468345}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1274, len(filtered_loc_df_b)=743\n", + "After filtering, retained 706 of 840 (0.8404761904761905)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1385 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1385 -> len(loc_df_a)=92, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=65\n", + "START_END: After filtering the merged dataframe, retained 76 of 77 (0.987012987012987)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=706, len(end_initial_ends_gpdf)=76\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=782\n", + "Validated ct, stats are {'coverage_density': 0.9056030181897846, 'coverage_time': 0.9380287017055313, 'coverage_max_gap': 0.02895150313905961}\n", + "max_gap for tf = 0.04053210439468345 > ct = 0.02895150313905961 and density 0.8951804770597231 < 0.9056030181897846, returning ct len = 782 not tf len = 773\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 6 and include_ends=True\n", + "After filtering, 1811 of 2387 (0.7586929199832425) for android and 1794 of 2403 (0.7465667915106118) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1668 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1827 -> len(loc_df_b)=26\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1668 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1827 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 17 of 30 (0.5666666666666667)\n", + "START_END: After filtering the merged dataframe, retained 5 of 16 (0.3125)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=17, len(initial_reference_gpdf)=2289, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2311\n", + "After merging, found 1551 / 2311 of android 2387 (0.6497695852534562), ios 2403 (0.6454431960049938)\n", + "Validated tf, stats are {'coverage_density': 0.63737934072551, 'coverage_time': 0.9944925883660439, 'coverage_max_gap': 0.050546524119431155}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1622, len(filtered_loc_df_b)=1794\n", + "After filtering, retained 667 of 2403 (0.27756970453599666)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1668 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1827 -> len(loc_df_b)=26\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1668 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1827 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 17 of 30 (0.5666666666666667)\n", + "START_END: After filtering the merged dataframe, retained 5 of 16 (0.3125)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=17, len(initial_reference_gpdf)=667, len(end_initial_ends_gpdf)=5\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=689\n", + "Validated ct, stats are {'coverage_density': 0.28314272453892736, 'coverage_time': 0.9944925883660439, 'coverage_max_gap': 0.10972294260071641}\n", + "for tf = 0.050546524119431155 v/s ct = 0.10972294260071641, density 0.63737934072551 v/s 0.28314272453892736, returning tf len = 1551 not cf len = 689\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 6 and include_ends=True\n", + "After filtering, 2065 of 3251 (0.6351891725622886) for android and 1640 of 3241 (0.5060166615242209) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1262 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=1028 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1262 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=1028 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 4 of 8 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 0 of 10 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=2319, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2323\n", + "After merging, found 1468 / 2323 of android 3251 (0.4515533681944017), ios 3241 (0.45294662141314407)\n", + "Validated tf, stats are {'coverage_density': 0.44736758842808183, 'coverage_time': 0.9709217552669406, 'coverage_max_gap': 0.20661800065002692}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1250, len(filtered_loc_df_b)=1019\n", + "After filtering, retained 754 of 3251 (0.2319286373423562)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1262 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=1028 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1262 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=1028 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 4 of 8 (0.5)\n", + "START_END: After filtering the merged dataframe, retained 0 of 10 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=754, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=758\n", + "Validated ct, stats are {'coverage_density': 0.23099770574147552, 'coverage_time': 0.9413613628435592, 'coverage_max_gap': 0.24867299193277576}\n", + "for tf = 0.20661800065002692 v/s ct = 0.24867299193277576, density 0.44736758842808183 v/s 0.23099770574147552, returning tf len = 1468 not cf len = 758\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 6 and include_ends=True\n", + "After filtering, 89 of 254 (0.35039370078740156) for android and 79 of 79 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=354 -> len(loc_df_a)=201, ios: len(unfiltered_loc_b_df)=136 -> len(loc_df_b)=76\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=354 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=136 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 157 of 213 (0.7370892018779343)\n", + "START_END: After filtering the merged dataframe, retained 9 of 14 (0.6428571428571429)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=157, len(initial_reference_gpdf)=89, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=255\n", + "After merging, found 230 / 255 of android 254 (0.905511811023622), ios 79 (2.911392405063291)\n", + "Validated tf, stats are {'coverage_density': 0.7964960906408316, 'coverage_time': 0.8796087261859619, 'coverage_max_gap': 0.06926052962094188}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=130, len(filtered_loc_df_b)=48\n", + "After filtering, retained 79 of 254 (0.3110236220472441)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=354 -> len(loc_df_a)=201, ios: len(unfiltered_loc_b_df)=136 -> len(loc_df_b)=76\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=354 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=136 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 157 of 213 (0.7370892018779343)\n", + "START_END: After filtering the merged dataframe, retained 9 of 14 (0.6428571428571429)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=157, len(initial_reference_gpdf)=79, len(end_initial_ends_gpdf)=9\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=245\n", + "Validated ct, stats are {'coverage_density': 0.8484414878565381, 'coverage_time': 0.8796087261859619, 'coverage_max_gap': 0.027704211848376754}\n", + "max_gap for tf = 0.06926052962094188 > ct = 0.027704211848376754 and density 0.7964960906408316 < 0.8484414878565381, returning ct len = 245 not tf len = 230\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 6 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 274 of 274 (1.0) for android and 272 of 272 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=318 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=198 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=318 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=198 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 17 of 20 (0.85)\n", + "START_END: After filtering the merged dataframe, retained 6 of 9 (0.6666666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=17, len(initial_reference_gpdf)=274, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=297\n", + "After merging, found 214 / 297 of android 274 (0.781021897810219), ios 272 (0.7867647058823529)\n", + "Validated tf, stats are {'coverage_density': 0.6977399957760964, 'coverage_time': 0.9716192464545641, 'coverage_max_gap': 0.09781401809945277}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=286, len(filtered_loc_df_b)=180\n", + "After filtering, retained 272 of 274 (0.9927007299270073)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=318 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=198 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=318 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=198 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 17 of 20 (0.85)\n", + "START_END: After filtering the merged dataframe, retained 6 of 9 (0.6666666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=17, len(initial_reference_gpdf)=272, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=295\n", + "Validated ct, stats are {'coverage_density': 0.9618378446446189, 'coverage_time': 0.9716192464545641, 'coverage_max_gap': 0.009781401809945276}\n", + "max_gap for tf = 0.09781401809945277 > ct = 0.009781401809945276 and density 0.6977399957760964 < 0.9618378446446189, returning ct len = 295 not tf len = 214\n", + "Considering entry walk_urban_university walk_urban_university 6 and include_ends=True\n", + "After filtering, 684 of 713 (0.9593267882187938) for android and 656 of 700 (0.9371428571428572) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1215 -> len(loc_df_a)=106, ios: len(unfiltered_loc_b_df)=619 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1215 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=619 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 66 of 84 (0.7857142857142857)\n", + "START_END: After filtering the merged dataframe, retained 25 of 34 (0.7352941176470589)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=66, len(initial_reference_gpdf)=696, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=787\n", + "After merging, found 743 / 787 of android 713 (1.0420757363253856), ios 700 (1.0614285714285714)\n", + "Validated tf, stats are {'coverage_density': 0.9836478046499509, 'coverage_time': 0.9743805978766674, 'coverage_max_gap': 0.007943320091385877}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1068, len(filtered_loc_df_b)=546\n", + "After filtering, retained 672 of 713 (0.9424964936886395)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1215 -> len(loc_df_a)=106, ios: len(unfiltered_loc_b_df)=619 -> len(loc_df_b)=51\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1215 -> len(loc_df_a)=41, ios: len(unfiltered_loc_b_df)=619 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 66 of 84 (0.7857142857142857)\n", + "START_END: After filtering the merged dataframe, retained 25 of 34 (0.7352941176470589)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=66, len(initial_reference_gpdf)=672, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=763\n", + "Validated ct, stats are {'coverage_density': 1.010125538287904, 'coverage_time': 0.9743805978766674, 'coverage_max_gap': 0.009267206773283522}\n", + "for tf = 0.007943320091385877 v/s ct = 0.009267206773283522, density 0.9836478046499509 v/s 1.010125538287904, returning tf len = 743 not cf len = 763\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 6 and include_ends=True\n", + "After filtering, 368 of 382 (0.9633507853403142) for android and 369 of 381 (0.968503937007874) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=346 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=346 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 16 of 18 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=16, len(initial_reference_gpdf)=370, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=396\n", + "After merging, found 386 / 396 of android 382 (1.0104712041884816), ios 381 (1.0131233595800524)\n", + "Validated tf, stats are {'coverage_density': 0.9733096185930233, 'coverage_time': 0.9531373985185565, 'coverage_max_gap': 0.017650692565158454}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=566, len(filtered_loc_df_b)=319\n", + "After filtering, retained 381 of 382 (0.9973821989528796)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=29, ios: len(unfiltered_loc_b_df)=346 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=614 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=346 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 16 of 18 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=16, len(initial_reference_gpdf)=381, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=407\n", + "Validated ct, stats are {'coverage_density': 1.0262616962884987, 'coverage_time': 0.9884387836488735, 'coverage_max_gap': 0.007564582527925052}\n", + "max_gap for tf = 0.017650692565158454 > ct = 0.007564582527925052 and density 0.9733096185930233 < 1.0262616962884987, returning ct len = 407 not tf len = 386\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 6 and include_ends=True\n", + "After filtering, 1209 of 1239 (0.9757869249394673) for android and 1206 of 1231 (0.9796913078797725) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1305 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=958 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1305 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=958 -> len(loc_df_b)=18\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "START_END: After filtering the merged dataframe, retained 23 of 35 (0.6571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1212, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1245\n", + "After merging, found 1086 / 1245 of android 1239 (0.8765133171912833), ios 1231 (0.8822095857026807)\n", + "Validated tf, stats are {'coverage_density': 0.8653204896143889, 'coverage_time': 0.9832463021953552, 'coverage_max_gap': 0.058962906290483216}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1261, len(filtered_loc_df_b)=934\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 1216 of 1239 (0.9814366424535916)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1305 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=958 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1305 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=958 -> len(loc_df_b)=18\n", + "START_END: After filtering the merged dataframe, retained 10 of 14 (0.7142857142857143)\n", + "START_END: After filtering the merged dataframe, retained 23 of 35 (0.6571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=1216, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1249\n", + "Validated ct, stats are {'coverage_density': 0.9951982426596424, 'coverage_time': 0.9896206704429751, 'coverage_max_gap': 0.010358348402382186}\n", + "max_gap for tf = 0.058962906290483216 > ct = 0.010358348402382186 and density 0.8653204896143889 < 0.9951982426596424, returning ct len = 1249 not tf len = 1086\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 6 and include_ends=True\n", + "After filtering, 1619 of 1875 (0.8634666666666667) for android and 1688 of 1717 (0.9831100757134537) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1721 -> len(loc_df_a)=261, ios: len(unfiltered_loc_b_df)=1505 -> len(loc_df_b)=44\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1721 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=1505 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 202 of 248 (0.8145161290322581)\n", + "START_END: After filtering the merged dataframe, retained 20 of 138 (0.14492753623188406)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=202, len(initial_reference_gpdf)=1740, len(end_initial_ends_gpdf)=20\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1962\n", + "After merging, found 1333 / 1962 of android 1875 (0.7109333333333333), ios 1717 (0.7763541059988351)\n", + "Validated tf, stats are {'coverage_density': 0.6531673123864017, 'coverage_time': 0.9956759030526393, 'coverage_max_gap': 0.23470903423337316}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1436, len(filtered_loc_df_b)=1397\n", + "After filtering, retained 1411 of 1875 (0.7525333333333334)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1721 -> len(loc_df_a)=261, ios: len(unfiltered_loc_b_df)=1505 -> len(loc_df_b)=44\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1721 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=1505 -> len(loc_df_b)=64\n", + "START_END: After filtering the merged dataframe, retained 202 of 248 (0.8145161290322581)\n", + "START_END: After filtering the merged dataframe, retained 20 of 138 (0.14492753623188406)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=202, len(initial_reference_gpdf)=1411, len(end_initial_ends_gpdf)=20\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1633\n", + "Validated ct, stats are {'coverage_density': 0.800166707522126, 'coverage_time': 0.9956759030526393, 'coverage_max_gap': 0.054389776200217996}\n", + "max_gap for tf = 0.23470903423337316 > ct = 0.054389776200217996 and density 0.6531673123864017 < 0.800166707522126, returning ct len = 1633 not tf len = 1333\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 6 and include_ends=True\n", + "After filtering, 226 of 533 (0.42401500938086306) for android and 242 of 540 (0.44814814814814813) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=990 -> len(loc_df_a)=173, ios: len(unfiltered_loc_b_df)=484 -> len(loc_df_b)=141\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=990 -> len(loc_df_a)=125, ios: len(unfiltered_loc_b_df)=484 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 64 of 217 (0.29493087557603687)\n", + "START_END: After filtering the merged dataframe, retained 18 of 157 (0.11464968152866242)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=64, len(initial_reference_gpdf)=290, len(end_initial_ends_gpdf)=18\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=372\n", + "After merging, found 264 / 372 of android 533 (0.49530956848030017), ios 540 (0.4888888888888889)\n", + "Validated tf, stats are {'coverage_density': 0.4032009518467295, 'coverage_time': 0.754474508379865, 'coverage_max_gap': 0.15425490960802907}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=692, len(filtered_loc_df_b)=323\n", + "After filtering, retained 349 of 540 (0.6462962962962963)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=990 -> len(loc_df_a)=173, ios: len(unfiltered_loc_b_df)=484 -> len(loc_df_b)=141\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=990 -> len(loc_df_a)=125, ios: len(unfiltered_loc_b_df)=484 -> len(loc_df_b)=20\n", + "START_END: After filtering the merged dataframe, retained 64 of 217 (0.29493087557603687)\n", + "START_END: After filtering the merged dataframe, retained 18 of 157 (0.11464968152866242)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=64, len(initial_reference_gpdf)=349, len(end_initial_ends_gpdf)=18\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=431\n", + "Validated ct, stats are {'coverage_density': 0.6582560994164409, 'coverage_time': 0.9774568529617684, 'coverage_max_gap': 0.14967308060977078}\n", + "max_gap for tf = 0.15425490960802907 > ct = 0.14967308060977078 and density 0.4032009518467295 < 0.6582560994164409, returning ct len = 431 not tf len = 264\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 6 and include_ends=True\n", + "After filtering, 661 of 783 (0.8441890166028098) for android and 662 of 815 (0.8122699386503067) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=727 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=413 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=727 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=413 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 0 of 19 (0.0)\n", + "CHECKME: len(merged_df)=14, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.776341 -122.394005 1.574215e+09 2019-11-19T17:55:43-08:00 \n", + "1 37.776290 -122.394067 1.574215e+09 2019-11-19T17:55:44-08:00 \n", + "2 37.776256 -122.394116 1.574215e+09 2019-11-19T17:55:45-08:00 \n", + "3 37.776231 -122.394168 1.574215e+09 2019-11-19T17:55:46-08:00 \n", + "4 37.776222 -122.394196 1.574215e+09 2019-11-19T17:55:47-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.39401 37.77634) 37.776271 -122.394342 \n", + "1 POINT (-122.39407 37.77629) 37.776201 -122.394429 \n", + "2 POINT (-122.39412 37.77626) 37.776162 -122.394478 \n", + "3 POINT (-122.39417 37.77623) 37.776126 -122.394523 \n", + "4 POINT (-122.39420 37.77622) 37.776087 -122.394571 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-11-19T17:55:43-08:00 POINT (-122.39434 37.77627) 30.666458 \n", + "1 2019-11-19T17:55:44-08:00 POINT (-122.39443 37.77620) 33.298584 \n", + "2 2019-11-19T17:55:45-08:00 POINT (-122.39448 37.77616) 33.543261 \n", + "3 2019-11-19T17:55:46-08:00 POINT (-122.39452 37.77613) 33.399629 \n", + "4 2019-11-19T17:55:47-08:00 POINT (-122.39457 37.77609) 36.292832 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=663, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=663\n", + "After merging, found 433 / 663 of android 783 (0.5530012771392082), ios 815 (0.5312883435582823)\n", + "Validated tf, stats are {'coverage_density': 0.524690420284833, 'coverage_time': 0.8009708263470546, 'coverage_max_gap': 0.07876415085107194}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=706, len(filtered_loc_df_b)=398\n", + "After filtering, retained 454 of 815 (0.5570552147239264)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=727 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=413 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=727 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=413 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 0 of 19 (0.0)\n", + "CHECKME: len(merged_df)=14, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.776341 -122.394005 1.574215e+09 2019-11-19T17:55:43-08:00 \n", + "1 37.776290 -122.394067 1.574215e+09 2019-11-19T17:55:44-08:00 \n", + "2 37.776256 -122.394116 1.574215e+09 2019-11-19T17:55:45-08:00 \n", + "3 37.776231 -122.394168 1.574215e+09 2019-11-19T17:55:46-08:00 \n", + "4 37.776222 -122.394196 1.574215e+09 2019-11-19T17:55:47-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.39401 37.77634) 37.776271 -122.394342 \n", + "1 POINT (-122.39407 37.77629) 37.776201 -122.394429 \n", + "2 POINT (-122.39412 37.77626) 37.776162 -122.394478 \n", + "3 POINT (-122.39417 37.77623) 37.776126 -122.394523 \n", + "4 POINT (-122.39420 37.77622) 37.776087 -122.394571 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-11-19T17:55:43-08:00 POINT (-122.39434 37.77627) 30.666458 \n", + "1 2019-11-19T17:55:44-08:00 POINT (-122.39443 37.77620) 33.298584 \n", + "2 2019-11-19T17:55:45-08:00 POINT (-122.39448 37.77616) 33.543261 \n", + "3 2019-11-19T17:55:46-08:00 POINT (-122.39452 37.77613) 33.399629 \n", + "4 2019-11-19T17:55:47-08:00 POINT (-122.39457 37.77609) 36.292832 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=454, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=454\n", + "Validated ct, stats are {'coverage_density': 0.550137299790564, 'coverage_time': 0.7900650208445985, 'coverage_max_gap': 0.15025776470050647}\n", + "for tf = 0.07876415085107194 v/s ct = 0.15025776470050647, density 0.524690420284833 v/s 0.550137299790564, returning tf len = 433 not cf len = 454\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 6 and include_ends=True\n", + "After filtering, 2966 of 3498 (0.8479130931961121) for android and 2716 of 3498 (0.7764436821040595) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2843 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2035 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2843 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=2035 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 17 of 18 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3127, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3144\n", + "After merging, found 2338 / 3144 of android 3498 (0.6683819325328759), ios 3498 (0.6683819325328759)\n", + "Validated tf, stats are {'coverage_density': 0.6646893015255868, 'coverage_time': 0.9993083382645156, 'coverage_max_gap': 0.037243070359218075}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2824, len(filtered_loc_df_b)=2020\n", + "After filtering, retained 1808 of 3498 (0.5168667810177244)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2843 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2035 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2843 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=2035 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 17 of 18 (0.9444444444444444)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1808, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1825\n", + "Validated ct, stats are {'coverage_density': 0.5188443008059007, 'coverage_time': 0.9919165838420754, 'coverage_max_gap': 0.07960350916474093}\n", + "for tf = 0.037243070359218075 v/s ct = 0.07960350916474093, density 0.6646893015255868 v/s 0.5188443008059007, returning tf len = 2338 not cf len = 1825\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 6 and include_ends=True\n", + "After filtering, 1025 of 1025 (1.0) for android and 1094 of 1094 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1704 -> len(loc_df_a)=115, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=59\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1704 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 66 of 77 (0.8571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=66, len(initial_reference_gpdf)=1094, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1160\n", + "After merging, found 1025 / 1160 of android 1025 (1.0), ios 1094 (0.9369287020109689)\n", + "Validated tf, stats are {'coverage_density': 0.9265401440819474, 'coverage_time': 0.9871042315487674, 'coverage_max_gap': 0.02802218972345402}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1587, len(filtered_loc_df_b)=834\n", + "After filtering, retained 1025 of 1094 (0.9369287020109689)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1704 -> len(loc_df_a)=115, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=59\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1704 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=893 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 66 of 77 (0.8571428571428571)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=66, len(initial_reference_gpdf)=1025, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1091\n", + "Validated ct, stats are {'coverage_density': 0.9862002899447849, 'coverage_time': 0.9852963483408026, 'coverage_max_gap': 0.0009039416039823877}\n", + "max_gap for tf = 0.02802218972345402 > ct = 0.0009039416039823877 and density 0.9265401440819474 < 0.9862002899447849, returning ct len = 1091 not tf len = 1025\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 7 and include_ends=True\n", + "After filtering, 841 of 899 (0.9354838709677419) for android and 841 of 962 (0.8742203742203742) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1559 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=899 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1559 -> len(loc_df_a)=197, ios: len(unfiltered_loc_b_df)=899 -> len(loc_df_b)=118\n", + "START_END: After filtering the merged dataframe, retained 162 of 165 (0.9818181818181818)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=842, len(end_initial_ends_gpdf)=162\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1004\n", + "After merging, found 970 / 1004 of android 899 (1.0789766407119021), ios 962 (1.0083160083160083)\n", + "Validated tf, stats are {'coverage_density': 0.9834877935731093, 'coverage_time': 0.9966685578168727, 'coverage_max_gap': 0.013180764243763321}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1362, len(filtered_loc_df_b)=781\n", + "After filtering, retained 887 of 962 (0.922037422037422)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1559 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=899 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1559 -> len(loc_df_a)=197, ios: len(unfiltered_loc_b_df)=899 -> len(loc_df_b)=118\n", + "START_END: After filtering the merged dataframe, retained 162 of 165 (0.9818181818181818)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=887, len(end_initial_ends_gpdf)=162\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1049\n", + "Validated ct, stats are {'coverage_density': 1.0635862839775172, 'coverage_time': 0.9956546528750447, 'coverage_max_gap': 0.008111239534623583}\n", + "max_gap for tf = 0.013180764243763321 > ct = 0.008111239534623583 and density 0.9834877935731093 < 1.0635862839775172, returning ct len = 1049 not tf len = 970\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 7 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 2155 of 2313 (0.9316904453091224) for android and 2021 of 2339 (0.864044463445917) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2361 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=1909 -> len(loc_df_b)=20\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2361 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1909 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 24 of 27 (0.8888888888888888)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=24, len(initial_reference_gpdf)=2300, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2324\n", + "After merging, found 1742 / 2324 of android 2313 (0.753134457414613), ios 2339 (0.7447627191107311)\n", + "Validated tf, stats are {'coverage_density': 0.7376479379187322, 'coverage_time': 0.9908703643684462, 'coverage_max_gap': 0.04530902948180502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2314, len(filtered_loc_df_b)=1888\n", + "After filtering, retained 982 of 2339 (0.4198375374091492)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2361 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=1909 -> len(loc_df_b)=20\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2361 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=1909 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 24 of 27 (0.8888888888888888)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=24, len(initial_reference_gpdf)=982, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1006\n", + "Validated ct, stats are {'coverage_density': 0.42598956690369955, 'coverage_time': 0.9904469154947845, 'coverage_max_gap': 0.04276833623983464}\n", + "for tf = 0.04530902948180502 v/s ct = 0.04276833623983464, density 0.7376479379187322 v/s 0.42598956690369955, returning tf len = 1742 not cf len = 1006\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 7 and include_ends=True\n", + "After filtering, 1521 of 3252 (0.4677121771217712) for android and 1366 of 3237 (0.4219956750077232) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1368 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1368 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 2 of 8 (0.25)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=1913, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1915\n", + "After merging, found 1160 / 1915 of android 3252 (0.35670356703567035), ios 3237 (0.3583565029348162)\n", + "Validated tf, stats are {'coverage_density': 0.3536493978755364, 'coverage_time': 0.9417439569289068, 'coverage_max_gap': 0.2570055538009286}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1357, len(filtered_loc_df_b)=924\n", + "After filtering, retained 692 of 3252 (0.21279212792127922)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1368 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1368 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 2 of 8 (0.25)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=2, len(initial_reference_gpdf)=692, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=694\n", + "Validated ct, stats are {'coverage_density': 0.2115798983841571, 'coverage_time': 0.987779352686843, 'coverage_max_gap': 0.3362717981523419}\n", + "for tf = 0.2570055538009286 v/s ct = 0.3362717981523419, density 0.3536493978755364 v/s 0.2115798983841571, returning tf len = 1160 not cf len = 694\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 7 and include_ends=True\n", + "After filtering, 104 of 257 (0.4046692607003891) for android and 46 of 46 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=364 -> len(loc_df_a)=193, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=103\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=364 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 157 of 204 (0.7696078431372549)\n", + "START_END: After filtering the merged dataframe, retained 2 of 20 (0.1)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=157, len(initial_reference_gpdf)=104, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=263\n", + "After merging, found 241 / 263 of android 257 (0.9377431906614786), ios 46 (5.239130434782608)\n", + "Validated tf, stats are {'coverage_density': 0.8324010528301377, 'coverage_time': 0.9463812799811523, 'coverage_max_gap': 0.04144735532764171}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=160, len(filtered_loc_df_b)=23\n", + "After filtering, retained 46 of 257 (0.17898832684824903)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=364 -> len(loc_df_a)=193, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=103\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=364 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=135 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 157 of 204 (0.7696078431372549)\n", + "START_END: After filtering the merged dataframe, retained 2 of 20 (0.1)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=157, len(initial_reference_gpdf)=46, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=205\n", + "Validated ct, stats are {'coverage_density': 0.7080589868472125, 'coverage_time': 0.9463812799811523, 'coverage_max_gap': 0.14161179736944252}\n", + "for tf = 0.04144735532764171 v/s ct = 0.14161179736944252, density 0.8324010528301377 v/s 0.7080589868472125, returning tf len = 241 not cf len = 205\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 7 and include_ends=True\n", + "After filtering, 204 of 204 (1.0) for android and 201 of 201 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=252 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=167 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=252 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=167 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 19 of 20 (0.95)\n", + "START_END: After filtering the merged dataframe, retained 10 of 17 (0.5882352941176471)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=19, len(initial_reference_gpdf)=204, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=233\n", + "After merging, found 223 / 233 of android 204 (1.0931372549019607), ios 201 (1.109452736318408)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Validated tf, stats are {'coverage_density': 0.9199778058809002, 'coverage_time': 0.9653578770230073, 'coverage_max_gap': 0.037129149116269515}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=213, len(filtered_loc_df_b)=151\n", + "After filtering, retained 201 of 204 (0.9852941176470589)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=252 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=167 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=252 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=167 -> len(loc_df_b)=11\n", + "START_END: After filtering the merged dataframe, retained 19 of 20 (0.95)\n", + "START_END: After filtering the merged dataframe, retained 10 of 17 (0.5882352941176471)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=19, len(initial_reference_gpdf)=201, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=230\n", + "Validated ct, stats are {'coverage_density': 0.948856032971332, 'coverage_time': 0.9653578770230073, 'coverage_max_gap': 0.01650184405167534}\n", + "max_gap for tf = 0.037129149116269515 > ct = 0.01650184405167534 and density 0.9199778058809002 < 0.948856032971332, returning ct len = 230 not tf len = 223\n", + "Considering entry walk_urban_university walk_urban_university 7 and include_ends=True\n", + "After filtering, 685 of 749 (0.9145527369826435) for android and 666 of 666 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1251 -> len(loc_df_a)=115, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=56\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1251 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 94 of 96 (0.9791666666666666)\n", + "START_END: After filtering the merged dataframe, retained 25 of 29 (0.8620689655172413)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=94, len(initial_reference_gpdf)=697, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=816\n", + "After merging, found 759 / 816 of android 749 (1.0133511348464619), ios 666 (1.1396396396396395)\n", + "Validated tf, stats are {'coverage_density': 0.9708751105481368, 'coverage_time': 0.9964581174137004, 'coverage_max_gap': 0.012791503432781777}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1096, len(filtered_loc_df_b)=576\n", + "After filtering, retained 654 of 749 (0.8731642189586115)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1251 -> len(loc_df_a)=115, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=56\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1251 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=17\n", + "START_END: After filtering the merged dataframe, retained 94 of 96 (0.9791666666666666)\n", + "START_END: After filtering the merged dataframe, retained 25 of 29 (0.8620689655172413)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=94, len(initial_reference_gpdf)=654, len(end_initial_ends_gpdf)=25\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=773\n", + "Validated ct, stats are {'coverage_density': 0.9887832153540312, 'coverage_time': 0.9964581174137004, 'coverage_max_gap': 0.007674902059669066}\n", + "max_gap for tf = 0.012791503432781777 > ct = 0.007674902059669066 and density 0.9708751105481368 < 0.9887832153540312, returning ct len = 773 not tf len = 759\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 7 and include_ends=True\n", + "After filtering, 362 of 362 (1.0) for android and 378 of 382 (0.9895287958115183) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=598 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=343 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=598 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=343 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 12 of 20 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=380, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=392\n", + "After merging, found 324 / 392 of android 362 (0.8950276243093923), ios 382 (0.8481675392670157)\n", + "Validated tf, stats are {'coverage_density': 0.7968297764170651, 'coverage_time': 0.9222566856678994, 'coverage_max_gap': 0.11067080228014793}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=570, len(filtered_loc_df_b)=330\n", + "After filtering, retained 360 of 382 (0.9424083769633508)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=598 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=343 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=598 -> len(loc_df_a)=28, ios: len(unfiltered_loc_b_df)=343 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 12 of 20 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=360, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=372\n", + "Validated ct, stats are {'coverage_density': 0.9148786321825563, 'coverage_time': 0.9222566856678994, 'coverage_max_gap': 0.012296755808905326}\n", + "max_gap for tf = 0.11067080228014793 > ct = 0.012296755808905326 and density 0.7968297764170651 < 0.9148786321825563, returning ct len = 372 not tf len = 324\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 7 and include_ends=True\n", + "After filtering, 1055 of 1072 (0.9841417910447762) for android and 1056 of 1063 (0.993414863593603) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1110 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=846 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1110 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=846 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 9 of 12 (0.75)\n", + "START_END: After filtering the merged dataframe, retained 6 of 6 (1.0)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1056, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1071\n", + "After merging, found 957 / 1071 of android 1072 (0.8927238805970149), ios 1063 (0.9002822201317028)\n", + "Validated tf, stats are {'coverage_density': 0.8812717199193508, 'coverage_time': 0.9834881890009056, 'coverage_max_gap': 0.04880606181371535}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1088, len(filtered_loc_df_b)=830\n", + "After filtering, retained 1062 of 1072 (0.9906716417910447)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1110 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=846 -> len(loc_df_b)=8\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1110 -> len(loc_df_a)=7, ios: len(unfiltered_loc_b_df)=846 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 9 of 12 (0.75)\n", + "START_END: After filtering the merged dataframe, retained 6 of 6 (1.0)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1062, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1077\n", + "Validated ct, stats are {'coverage_density': 0.9917760108183289, 'coverage_time': 0.9880925344550296, 'coverage_max_gap': 0.003683476363299272}\n", + "max_gap for tf = 0.04880606181371535 > ct = 0.003683476363299272 and density 0.8812717199193508 < 0.9917760108183289, returning ct len = 1077 not tf len = 957\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 7 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1808 of 1875 (0.9642666666666667) for android and 1862 of 1875 (0.9930666666666667) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1891 -> len(loc_df_a)=103, ios: len(unfiltered_loc_b_df)=1632 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1891 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=1632 -> len(loc_df_b)=32\n", + "START_END: After filtering the merged dataframe, retained 0 of 82 (0.0)\n", + "CHECKME: len(merged_df)=66, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.789476 -122.396668 1.574301e+09 2019-11-20T17:46:37-08:00 \n", + "1 37.789547 -122.396554 1.574301e+09 2019-11-20T17:46:38-08:00 \n", + "2 37.789619 -122.396440 1.574301e+09 2019-11-20T17:46:39-08:00 \n", + "3 37.789691 -122.396326 1.574301e+09 2019-11-20T17:46:40-08:00 \n", + "4 37.789762 -122.396212 1.574301e+09 2019-11-20T17:46:41-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.39667 37.78948) 37.790148 -122.396488 \n", + "1 POINT (-122.39655 37.78955) 37.790137 -122.396454 \n", + "2 POINT (-122.39644 37.78962) 37.790126 -122.396420 \n", + "3 POINT (-122.39633 37.78969) 37.790113 -122.396384 \n", + "4 POINT (-122.39621 37.78976) 37.790100 -122.396347 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-11-20T17:46:37-08:00 POINT (-122.39649 37.79015) 76.232254 \n", + "1 2019-11-20T17:46:38-08:00 POINT (-122.39645 37.79014) 65.991816 \n", + "2 2019-11-20T17:46:39-08:00 POINT (-122.39642 37.79013) 56.268319 \n", + "3 2019-11-20T17:46:40-08:00 POINT (-122.39638 37.79011) 47.197805 \n", + "4 2019-11-20T17:46:41-08:00 POINT (-122.39635 37.79010) 39.299970 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1879, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1879\n", + "After merging, found 1496 / 1879 of android 1875 (0.7978666666666666), ios 1875 (0.7978666666666666)\n", + "Validated tf, stats are {'coverage_density': 0.7601994145728699, 'coverage_time': 0.946692185393888, 'coverage_max_gap': 0.046750231377475956}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1751, len(filtered_loc_df_b)=1600\n", + "After filtering, retained 1399 of 1875 (0.7461333333333333)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1891 -> len(loc_df_a)=103, ios: len(unfiltered_loc_b_df)=1632 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1891 -> len(loc_df_a)=37, ios: len(unfiltered_loc_b_df)=1632 -> len(loc_df_b)=32\n", + "START_END: After filtering the merged dataframe, retained 0 of 82 (0.0)\n", + "CHECKME: len(merged_df)=66, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.789476 -122.396668 1.574301e+09 2019-11-20T17:46:37-08:00 \n", + "1 37.789547 -122.396554 1.574301e+09 2019-11-20T17:46:38-08:00 \n", + "2 37.789619 -122.396440 1.574301e+09 2019-11-20T17:46:39-08:00 \n", + "3 37.789691 -122.396326 1.574301e+09 2019-11-20T17:46:40-08:00 \n", + "4 37.789762 -122.396212 1.574301e+09 2019-11-20T17:46:41-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.39667 37.78948) 37.790148 -122.396488 \n", + "1 POINT (-122.39655 37.78955) 37.790137 -122.396454 \n", + "2 POINT (-122.39644 37.78962) 37.790126 -122.396420 \n", + "3 POINT (-122.39633 37.78969) 37.790113 -122.396384 \n", + "4 POINT (-122.39621 37.78976) 37.790100 -122.396347 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-11-20T17:46:37-08:00 POINT (-122.39649 37.79015) 76.232254 \n", + "1 2019-11-20T17:46:38-08:00 POINT (-122.39645 37.79014) 65.991816 \n", + "2 2019-11-20T17:46:39-08:00 POINT (-122.39642 37.79013) 56.268319 \n", + "3 2019-11-20T17:46:40-08:00 POINT (-122.39638 37.79011) 47.197805 \n", + "4 2019-11-20T17:46:41-08:00 POINT (-122.39635 37.79010) 39.299970 \n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1399, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1399\n", + "Validated ct, stats are {'coverage_density': 0.7109084097509658, 'coverage_time': 0.9421187931939176, 'coverage_max_gap': 0.024391425066509192}\n", + "for tf = 0.046750231377475956 v/s ct = 0.024391425066509192, density 0.7601994145728699 v/s 0.7109084097509658, returning tf len = 1496 not cf len = 1399\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 7 and include_ends=True\n", + "After filtering, 247 of 432 (0.5717592592592593) for android and 254 of 521 (0.4875239923224568) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=931 -> len(loc_df_a)=148, ios: len(unfiltered_loc_b_df)=478 -> len(loc_df_b)=104\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=931 -> len(loc_df_a)=188, ios: len(unfiltered_loc_b_df)=478 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 70 of 123 (0.5691056910569106)\n", + "START_END: After filtering the merged dataframe, retained 4 of 178 (0.02247191011235955)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=70, len(initial_reference_gpdf)=318, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=392\n", + "After merging, found 254 / 392 of android 432 (0.5879629629629629), ios 521 (0.4875239923224568)\n", + "Validated tf, stats are {'coverage_density': 0.39238540352126433, 'coverage_time': 0.7075295858769255, 'coverage_max_gap': 0.09268946539872386}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=595, len(filtered_loc_df_b)=368\n", + "After filtering, retained 398 of 521 (0.763915547024952)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=931 -> len(loc_df_a)=148, ios: len(unfiltered_loc_b_df)=478 -> len(loc_df_b)=104\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=931 -> len(loc_df_a)=188, ios: len(unfiltered_loc_b_df)=478 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 70 of 123 (0.5691056910569106)\n", + "START_END: After filtering the merged dataframe, retained 4 of 178 (0.02247191011235955)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=70, len(initial_reference_gpdf)=398, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=472\n", + "Validated ct, stats are {'coverage_density': 0.7291571278032943, 'coverage_time': 0.8141224710854579, 'coverage_max_gap': 0.021627541926368902}\n", + "max_gap for tf = 0.09268946539872386 > ct = 0.021627541926368902 and density 0.39238540352126433 < 0.7291571278032943, returning ct len = 472 not tf len = 254\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 7 and include_ends=True\n", + "After filtering, 537 of 669 (0.8026905829596412) for android and 588 of 749 (0.7850467289719626) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=722 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=297 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=722 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=297 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 17 of 20 (0.85)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=707, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=724\n", + "After merging, found 490 / 724 of android 669 (0.7324364723467862), ios 749 (0.6542056074766355)\n", + "Validated tf, stats are {'coverage_density': 0.6325872292925979, 'coverage_time': 0.9592087987028576, 'coverage_max_gap': 0.07229568334772547}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=690, len(filtered_loc_df_b)=283\n", + "After filtering, retained 81 of 749 (0.1081441922563418)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=722 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=297 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=722 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=297 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 17 of 20 (0.85)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=81, len(end_initial_ends_gpdf)=17\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=98\n", + "Validated ct, stats are {'coverage_density': 0.12651744585851957, 'coverage_time': 0.8520562680267645, 'coverage_max_gap': 0.37051537715709304}\n", + "for tf = 0.07229568334772547 v/s ct = 0.37051537715709304, density 0.6325872292925979 v/s 0.12651744585851957, returning tf len = 490 not cf len = 98\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 7 and include_ends=True\n", + "After filtering, 2272 of 2775 (0.8187387387387387) for android and 2705 of 2766 (0.9779464931308749) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2242 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2318 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2242 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=2318 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 22 of 30 (0.7333333333333333)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=2724, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2746\n", + "After merging, found 2350 / 2746 of android 2775 (0.8468468468468469), ios 2766 (0.8496023138105567)\n", + "Validated tf, stats are {'coverage_density': 0.8371791356841269, 'coverage_time': 0.9921463373958695, 'coverage_max_gap': 0.04951825525961432}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2210, len(filtered_loc_df_b)=2299\n", + "After filtering, retained 1634 of 2775 (0.5888288288288288)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2242 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2318 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2242 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=2318 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 22 of 30 (0.7333333333333333)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1634, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1656\n", + "Validated ct, stats are {'coverage_density': 0.589944105826772, 'coverage_time': 0.9935713231587362, 'coverage_max_gap': 0.04702453017459777}\n", + "for tf = 0.04951825525961432 v/s ct = 0.04702453017459777, density 0.8371791356841269 v/s 0.589944105826772, returning tf len = 2350 not cf len = 1656\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 7 and include_ends=True\n", + "After filtering, 992 of 992 (1.0) for android and 976 of 976 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1727 -> len(loc_df_a)=163, ios: len(unfiltered_loc_b_df)=923 -> len(loc_df_b)=89\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1727 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=923 -> len(loc_df_b)=4\n", + "START_END: After filtering the merged dataframe, retained 105 of 109 (0.963302752293578)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, fmt_time_a, geometry_a, latitude_i, longitude_i, ts, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=105, len(initial_reference_gpdf)=992, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1097\n", + "After merging, found 1074 / 1097 of android 992 (1.0826612903225807), ios 976 (1.1004098360655739)\n", + "Validated tf, stats are {'coverage_density': 0.9759176311382491, 'coverage_time': 0.9877304143829393, 'coverage_max_gap': 0.011812783244690166}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1562, len(filtered_loc_df_b)=830\n", + "After filtering, retained 965 of 992 (0.9727822580645161)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1727 -> len(loc_df_a)=163, ios: len(unfiltered_loc_b_df)=923 -> len(loc_df_b)=89\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1727 -> len(loc_df_a)=2, ios: len(unfiltered_loc_b_df)=923 -> len(loc_df_b)=4\n", + "START_END: After filtering the merged dataframe, retained 105 of 109 (0.963302752293578)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, fmt_time_a, geometry_a, latitude_i, longitude_i, ts, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=105, len(initial_reference_gpdf)=965, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1070\n", + "Validated ct, stats are {'coverage_density': 0.9722829286014214, 'coverage_time': 0.9877304143829393, 'coverage_max_gap': 0.010904107610483231}\n", + "for tf = 0.011812783244690166 v/s ct = 0.010904107610483231, density 0.9759176311382491 v/s 0.9722829286014214, returning tf len = 1074 not cf len = 1070\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 8 and include_ends=True\n", + "After filtering, 720 of 769 (0.9362808842652796) for android and 706 of 706 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1417 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=792 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1417 -> len(loc_df_a)=162, ios: len(unfiltered_loc_b_df)=792 -> len(loc_df_b)=101\n", + "START_END: After filtering the merged dataframe, retained 0 of 8 (0.0)\n", + "CHECKME: len(merged_df)=7, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.390007 -122.083584 1.575390e+09 2019-12-03T08:15:11-08:00 \n", + "1 37.390006 -122.083585 1.575390e+09 2019-12-03T08:15:12-08:00 \n", + "2 37.390004 -122.083586 1.575390e+09 2019-12-03T08:15:13-08:00 \n", + "3 37.390003 -122.083587 1.575390e+09 2019-12-03T08:15:14-08:00 \n", + "4 37.390001 -122.083588 1.575390e+09 2019-12-03T08:15:15-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.08358 37.39001) 37.390228 -122.083416 \n", + "1 POINT (-122.08359 37.39001) 37.390229 -122.083411 \n", + "2 POINT (-122.08359 37.39000) 37.390229 -122.083407 \n", + "3 POINT (-122.08359 37.39000) 37.390230 -122.083402 \n", + "4 POINT (-122.08359 37.39000) 37.390230 -122.083395 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-12-03T08:15:11-08:00 POINT (-122.08342 37.39023) 28.761203 \n", + "1 2019-12-03T08:15:12-08:00 POINT (-122.08341 37.39023) 29.170118 \n", + "2 2019-12-03T08:15:13-08:00 POINT (-122.08341 37.39023) 29.610527 \n", + "3 2019-12-03T08:15:14-08:00 POINT (-122.08340 37.39023) 30.054447 \n", + "4 2019-12-03T08:15:15-08:00 POINT (-122.08340 37.39023) 30.577854 \n", + "START_END: After filtering the merged dataframe, retained 112 of 125 (0.896)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=742, len(end_initial_ends_gpdf)=112\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=854\n", + "After merging, found 813 / 854 of android 769 (1.0572171651495448), ios 706 (1.151558073654391)\n", + "Validated tf, stats are {'coverage_density': 0.9589706133407168, 'coverage_time': 0.983741071987894, 'coverage_max_gap': 0.015334093448252544}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1247, len(filtered_loc_df_b)=685\n", + "After filtering, retained 645 of 769 (0.8387516254876463)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1417 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=792 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1417 -> len(loc_df_a)=162, ios: len(unfiltered_loc_b_df)=792 -> len(loc_df_b)=101\n", + "START_END: After filtering the merged dataframe, retained 0 of 8 (0.0)\n", + "CHECKME: len(merged_df)=7, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()= latitude_a longitude_a ts fmt_time_a \\\n", + "0 37.390007 -122.083584 1.575390e+09 2019-12-03T08:15:11-08:00 \n", + "1 37.390006 -122.083585 1.575390e+09 2019-12-03T08:15:12-08:00 \n", + "2 37.390004 -122.083586 1.575390e+09 2019-12-03T08:15:13-08:00 \n", + "3 37.390003 -122.083587 1.575390e+09 2019-12-03T08:15:14-08:00 \n", + "4 37.390001 -122.083588 1.575390e+09 2019-12-03T08:15:15-08:00 \n", + "\n", + " geometry_a latitude_i longitude_i \\\n", + "0 POINT (-122.08358 37.39001) 37.390228 -122.083416 \n", + "1 POINT (-122.08359 37.39001) 37.390229 -122.083411 \n", + "2 POINT (-122.08359 37.39000) 37.390229 -122.083407 \n", + "3 POINT (-122.08359 37.39000) 37.390230 -122.083402 \n", + "4 POINT (-122.08359 37.39000) 37.390230 -122.083395 \n", + "\n", + " fmt_time_i geometry_i t_distance \n", + "0 2019-12-03T08:15:11-08:00 POINT (-122.08342 37.39023) 28.761203 \n", + "1 2019-12-03T08:15:12-08:00 POINT (-122.08341 37.39023) 29.170118 \n", + "2 2019-12-03T08:15:13-08:00 POINT (-122.08341 37.39023) 29.610527 \n", + "3 2019-12-03T08:15:14-08:00 POINT (-122.08340 37.39023) 30.054447 \n", + "4 2019-12-03T08:15:15-08:00 POINT (-122.08340 37.39023) 30.577854 \n", + "START_END: After filtering the merged dataframe, retained 112 of 125 (0.896)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=645, len(end_initial_ends_gpdf)=112\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=757\n", + "Validated ct, stats are {'coverage_density': 0.8929160569482443, 'coverage_time': 0.9094296960463625, 'coverage_max_gap': 0.018872730397849286}\n", + "for tf = 0.015334093448252544 v/s ct = 0.018872730397849286, density 0.9589706133407168 v/s 0.8929160569482443, returning tf len = 813 not cf len = 757\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 8 and include_ends=True\n", + "After filtering, 2122 of 2384 (0.8901006711409396) for android and 1863 of 2226 (0.8369272237196765) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2429 -> len(loc_df_a)=190, ios: len(unfiltered_loc_b_df)=1727 -> len(loc_df_b)=32\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2429 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=1727 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 183 of 196 (0.9336734693877551)\n", + "START_END: After filtering the merged dataframe, retained 0 of 17 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=183, len(initial_reference_gpdf)=2176, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2359\n", + "After merging, found 1994 / 2359 of android 2384 (0.8364093959731543), ios 2226 (0.8957771787960467)\n", + "Validated tf, stats are {'coverage_density': 0.819595132281265, 'coverage_time': 0.9905838860570957, 'coverage_max_gap': 0.034115544623543125}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2221, len(filtered_loc_df_b)=1693\n", + "After filtering, retained 1327 of 2384 (0.5566275167785235)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2429 -> len(loc_df_a)=190, ios: len(unfiltered_loc_b_df)=1727 -> len(loc_df_b)=32\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2429 -> len(loc_df_a)=18, ios: len(unfiltered_loc_b_df)=1727 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 183 of 196 (0.9336734693877551)\n", + "START_END: After filtering the merged dataframe, retained 0 of 17 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=183, len(initial_reference_gpdf)=1327, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1510\n", + "Validated ct, stats are {'coverage_density': 0.620656293753616, 'coverage_time': 0.9893507940827507, 'coverage_max_gap': 0.04973470963191227}\n", + "for tf = 0.034115544623543125 v/s ct = 0.04973470963191227, density 0.819595132281265 v/s 0.620656293753616, returning tf len = 1994 not cf len = 1510\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 8 and include_ends=True\n", + "After filtering, 1771 of 3331 (0.5316721705193636) for android and 1221 of 3294 (0.37067395264116576) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1388 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1388 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 3 of 8 (0.375)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=2253, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2256\n", + "After merging, found 1283 / 2256 of android 3331 (0.3851696187331132), ios 3294 (0.38949605343047966)\n", + "Validated tf, stats are {'coverage_density': 0.38454742432212036, 'coverage_time': 0.9681123776776686, 'coverage_max_gap': 0.1342768870586983}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1384, len(filtered_loc_df_b)=920\n", + "After filtering, retained 298 of 3331 (0.08946262383668568)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1388 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1388 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=930 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 3 of 8 (0.375)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=298, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=301\n", + "Validated ct, stats are {'coverage_density': 0.09021728349256292, 'coverage_time': 0.94323518654849, 'coverage_max_gap': 0.41781692089246747}\n", + "for tf = 0.1342768870586983 v/s ct = 0.41781692089246747, density 0.38454742432212036 v/s 0.09021728349256292, returning tf len = 1283 not cf len = 301\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 8 and include_ends=True\n", + "After filtering, 63 of 296 (0.21283783783783783) for android and 45 of 45 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=366 -> len(loc_df_a)=276, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=100\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=366 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 219 of 247 (0.8866396761133604)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=219, len(initial_reference_gpdf)=63, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=282\n", + "After merging, found 268 / 282 of android 296 (0.9054054054054054), ios 45 (5.955555555555556)\n", + "Validated tf, stats are {'coverage_density': 0.8767640416854677, 'coverage_time': 0.9323796711953668, 'coverage_max_gap': 0.04252959903698164}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=85, len(filtered_loc_df_b)=23\n", + "After filtering, retained 45 of 296 (0.15202702702702703)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=366 -> len(loc_df_a)=276, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=100\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=366 -> len(loc_df_a)=5, ios: len(unfiltered_loc_b_df)=129 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 219 of 247 (0.8866396761133604)\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=219, len(initial_reference_gpdf)=45, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=264\n", + "Validated ct, stats are {'coverage_density': 0.8636780112125503, 'coverage_time': 0.9127506254859906, 'coverage_max_gap': 0.04252959903698164}\n", + "for tf = 0.04252959903698164 v/s ct = 0.04252959903698164, density 0.8767640416854677 v/s 0.8636780112125503, returning tf len = 268 not cf len = 264\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 8 and include_ends=True\n", + "After filtering, 229 of 238 (0.9621848739495799) for android and 230 of 238 (0.9663865546218487) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=251 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=192 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=251 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=192 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=230, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=238\n", + "After merging, found 212 / 238 of android 238 (0.8907563025210085), ios 238 (0.8907563025210085)\n", + "Validated tf, stats are {'coverage_density': 0.8831672136686864, 'coverage_time': 0.9706507584188866, 'coverage_max_gap': 0.06248824625014291}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=239, len(filtered_loc_df_b)=182\n", + "After filtering, retained 237 of 238 (0.9957983193277311)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=251 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=192 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=251 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=192 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=237, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=245\n", + "Validated ct, stats are {'coverage_density': 1.0206413554190008, 'coverage_time': 0.9831484076689151, 'coverage_max_gap': 0.004165883083342861}\n", + "max_gap for tf = 0.06248824625014291 > ct = 0.004165883083342861 and density 0.8831672136686864 < 1.0206413554190008, returning ct len = 245 not tf len = 212\n", + "Considering entry walk_urban_university walk_urban_university 8 and include_ends=True\n", + "After filtering, 710 of 721 (0.984743411927878) for android and 690 of 690 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1265 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=61\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1265 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 62 of 82 (0.7560975609756098)\n", + "START_END: After filtering the merged dataframe, retained 26 of 27 (0.9629629629629629)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=62, len(initial_reference_gpdf)=713, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=801\n", + "After merging, found 765 / 801 of android 721 (1.0610263522884882), ios 690 (1.108695652173913)\n", + "Validated tf, stats are {'coverage_density': 0.9485732065991221, 'coverage_time': 0.9944519107091451, 'coverage_max_gap': 0.012399649759465649}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1131, len(filtered_loc_df_b)=575\n", + "After filtering, retained 690 of 721 (0.957004160887656)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1265 -> len(loc_df_a)=95, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=61\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1265 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=658 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 62 of 82 (0.7560975609756098)\n", + "START_END: After filtering the merged dataframe, retained 26 of 27 (0.9629629629629629)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=62, len(initial_reference_gpdf)=690, len(end_initial_ends_gpdf)=26\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=778\n", + "Validated ct, stats are {'coverage_density': 0.9646927512864275, 'coverage_time': 0.9944519107091451, 'coverage_max_gap': 0.028519194446770993}\n", + "for tf = 0.012399649759465649 v/s ct = 0.028519194446770993, density 0.9485732065991221 v/s 0.9646927512864275, returning tf len = 765 not cf len = 778\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 8 and include_ends=True\n", + "After filtering, 355 of 358 (0.9916201117318436) for android and 323 of 323 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=596 -> len(loc_df_a)=36, ios: len(unfiltered_loc_b_df)=334 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=596 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=334 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 26 of 33 (0.7878787878787878)\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=355, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=391\n", + "After merging, found 348 / 391 of android 358 (0.9720670391061452), ios 323 (1.0773993808049536)\n", + "Validated tf, stats are {'coverage_density': 0.9341410229297812, 'coverage_time': 0.9878272886154008, 'coverage_max_gap': 0.048317639117057644}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=539, len(filtered_loc_df_b)=301\n", + "After filtering, retained 323 of 358 (0.9022346368715084)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=596 -> len(loc_df_a)=36, ios: len(unfiltered_loc_b_df)=334 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=596 -> len(loc_df_a)=21, ios: len(unfiltered_loc_b_df)=334 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 26 of 33 (0.7878787878787878)\n", + "START_END: After filtering the merged dataframe, retained 10 of 12 (0.8333333333333334)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=323, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=359\n", + "Validated ct, stats are {'coverage_density': 0.963668469056872, 'coverage_time': 0.9878272886154008, 'coverage_max_gap': 0.024158819558528822}\n", + "max_gap for tf = 0.048317639117057644 > ct = 0.024158819558528822 and density 0.9341410229297812 < 0.963668469056872, returning ct len = 359 not tf len = 348\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 8 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1231 of 1246 (0.9879614767255217) for android and 1208 of 1245 (0.970281124497992) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1286 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=938 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1286 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=938 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 7 of 12 (0.5833333333333334)\n", + "START_END: After filtering the merged dataframe, retained 8 of 11 (0.7272727272727273)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1233, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1248\n", + "After merging, found 1144 / 1248 of android 1246 (0.9181380417335474), ios 1245 (0.9188755020080321)\n", + "Validated tf, stats are {'coverage_density': 0.9079912338937625, 'coverage_time': 0.986567398365338, 'coverage_max_gap': 0.06349589048208129}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1256, len(filtered_loc_df_b)=921\n", + "After filtering, retained 1224 of 1246 (0.9823434991974318)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1286 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=938 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1286 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=938 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 7 of 12 (0.5833333333333334)\n", + "START_END: After filtering the merged dataframe, retained 8 of 11 (0.7272727272727273)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1224, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1239\n", + "Validated ct, stats are {'coverage_density': 0.983392603841234, 'coverage_time': 0.9945043846755982, 'coverage_max_gap': 0.012699178096416259}\n", + "max_gap for tf = 0.06349589048208129 > ct = 0.012699178096416259 and density 0.9079912338937625 < 0.983392603841234, returning ct len = 1239 not tf len = 1144\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 8 and include_ends=True\n", + "After filtering, 2020 of 2023 (0.9985170538803757) for android and 2107 of 2119 (0.9943369513921662) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2111 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=1870 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2111 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1870 -> len(loc_df_b)=57\n", + "START_END: After filtering the merged dataframe, retained 3 of 96 (0.03125)\n", + "START_END: After filtering the merged dataframe, retained 21 of 85 (0.24705882352941178)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=2116, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2140\n", + "After merging, found 1796 / 2140 of android 2023 (0.8877904102817598), ios 2119 (0.8475696083058046)\n", + "Validated tf, stats are {'coverage_density': 0.8119071133471102, 'coverage_time': 0.9968013279122372, 'coverage_max_gap': 0.04385021714625261}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1987, len(filtered_loc_df_b)=1808\n", + "After filtering, retained 1934 of 2119 (0.9126946672958943)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2111 -> len(loc_df_a)=97, ios: len(unfiltered_loc_b_df)=1870 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2111 -> len(loc_df_a)=27, ios: len(unfiltered_loc_b_df)=1870 -> len(loc_df_b)=57\n", + "START_END: After filtering the merged dataframe, retained 3 of 96 (0.03125)\n", + "START_END: After filtering the merged dataframe, retained 21 of 85 (0.24705882352941178)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=1934, len(end_initial_ends_gpdf)=21\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1958\n", + "Validated ct, stats are {'coverage_density': 0.885141496622295, 'coverage_time': 0.9968013279122372, 'coverage_max_gap': 0.04249402486337882}\n", + "max_gap for tf = 0.04385021714625261 > ct = 0.04249402486337882 and density 0.8119071133471102 < 0.885141496622295, returning ct len = 1958 not tf len = 1796\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 8 and include_ends=True\n", + "After filtering, 242 of 501 (0.48303393213572854) for android and 263 of 450 (0.5844444444444444) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=891 -> len(loc_df_a)=154, ios: len(unfiltered_loc_b_df)=423 -> len(loc_df_b)=154\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=891 -> len(loc_df_a)=30, ios: len(unfiltered_loc_b_df)=423 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 107 of 216 (0.49537037037037035)\n", + "START_END: After filtering the merged dataframe, retained 0 of 22 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=107, len(initial_reference_gpdf)=282, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=389\n", + "After merging, found 311 / 389 of android 501 (0.6207584830339321), ios 450 (0.6911111111111111)\n", + "Validated tf, stats are {'coverage_density': 0.5267172283251583, 'coverage_time': 0.9281062415504396, 'coverage_max_gap': 0.1507325830255276}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=707, len(filtered_loc_df_b)=256\n", + "After filtering, retained 369 of 501 (0.7365269461077845)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=891 -> len(loc_df_a)=154, ios: len(unfiltered_loc_b_df)=423 -> len(loc_df_b)=154\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=891 -> len(loc_df_a)=30, ios: len(unfiltered_loc_b_df)=423 -> len(loc_df_b)=13\n", + "START_END: After filtering the merged dataframe, retained 107 of 216 (0.49537037037037035)\n", + "START_END: After filtering the merged dataframe, retained 0 of 22 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=107, len(initial_reference_gpdf)=369, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=476\n", + "Validated ct, stats are {'coverage_density': 0.8061652755073162, 'coverage_time': 0.9568978585328438, 'coverage_max_gap': 0.045727862266171294}\n", + "max_gap for tf = 0.1507325830255276 > ct = 0.045727862266171294 and density 0.5267172283251583 < 0.8061652755073162, returning ct len = 476 not tf len = 311\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 8 and include_ends=True\n", + "After filtering, 542 of 624 (0.8685897435897436) for android and 546 of 638 (0.8557993730407524) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=615 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=393 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=615 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=393 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 12 of 21 (0.5714285714285714)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=587, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=599\n", + "After merging, found 458 / 599 of android 624 (0.7339743589743589), ios 638 (0.7178683385579937)\n", + "Validated tf, stats are {'coverage_density': 0.6851526598623093, 'coverage_time': 0.8975799037497502, 'coverage_max_gap': 0.07180639229998001}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=587, len(filtered_loc_df_b)=379\n", + "After filtering, retained 289 of 638 (0.45297805642633227)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=615 -> len(loc_df_a)=3, ios: len(unfiltered_loc_b_df)=393 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=615 -> len(loc_df_a)=25, ios: len(unfiltered_loc_b_df)=393 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 12 of 21 (0.5714285714285714)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=289, len(end_initial_ends_gpdf)=12\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=301\n", + "Validated ct, stats are {'coverage_density': 0.45028591838112464, 'coverage_time': 0.8990758702559998, 'coverage_max_gap': 0.14361278459996002}\n", + "for tf = 0.07180639229998001 v/s ct = 0.14361278459996002, density 0.6851526598623093 v/s 0.45028591838112464, returning tf len = 458 not cf len = 301\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 8 and include_ends=True\n", + "After filtering, 2848 of 3117 (0.9136990696182227) for android and 3010 of 3117 (0.9656721206288098) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2992 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2439 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2992 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=2439 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 22 of 25 (0.88)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3083, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3105\n", + "After merging, found 2618 / 3105 of android 3117 (0.8399101700352903), ios 3117 (0.8399101700352903)\n", + "Validated tf, stats are {'coverage_density': 0.8328663117829053, 'coverage_time': 0.9989305649344242, 'coverage_max_gap': 0.023541675734123375}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2966, len(filtered_loc_df_b)=2420\n", + "After filtering, retained 2134 of 3117 (0.684632659608598)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2992 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2439 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2992 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=2439 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 22 of 25 (0.88)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=2134, len(end_initial_ends_gpdf)=22\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2156\n", + "Validated ct, stats are {'coverage_density': 0.6858899038212162, 'coverage_time': 0.9989305649344242, 'coverage_max_gap': 0.028949898537908473}\n", + "for tf = 0.023541675734123375 v/s ct = 0.028949898537908473, density 0.8328663117829053 v/s 0.6858899038212162, returning tf len = 2618 not cf len = 2156\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 8 and include_ends=True\n", + "After filtering, 973 of 978 (0.9948875255623721) for android and 1006 of 1006 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1710 -> len(loc_df_a)=170, ios: len(unfiltered_loc_b_df)=1006 -> len(loc_df_b)=96\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1710 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1006 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 116 of 117 (0.9914529914529915)\n", + "START_END: After filtering the merged dataframe, retained 13 of 24 (0.5416666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=116, len(initial_reference_gpdf)=1006, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1135\n", + "After merging, found 1111 / 1135 of android 978 (1.1359918200408998), ios 1006 (1.1043737574552683)\n", + "Validated tf, stats are {'coverage_density': 0.9858412531409455, 'coverage_time': 0.9849539072785324, 'coverage_max_gap': 0.0044367293120654615}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1520, len(filtered_loc_df_b)=902\n", + "After filtering, retained 978 of 1006 (0.9721669980119284)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1710 -> len(loc_df_a)=170, ios: len(unfiltered_loc_b_df)=1006 -> len(loc_df_b)=96\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1710 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=1006 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 116 of 117 (0.9914529914529915)\n", + "START_END: After filtering the merged dataframe, retained 13 of 24 (0.5416666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=116, len(initial_reference_gpdf)=978, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1107\n", + "Validated ct, stats are {'coverage_density': 0.9822918696912931, 'coverage_time': 0.9849539072785324, 'coverage_max_gap': 0.0026620375872392766}\n", + "for tf = 0.0044367293120654615 v/s ct = 0.0026620375872392766, density 0.9858412531409455 v/s 0.9822918696912931, returning tf len = 1111 not cf len = 1107\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 9 and include_ends=True\n", + "After filtering, 743 of 756 (0.9828042328042328) for android and 740 of 756 (0.9788359788359788) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=171, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=97\n", + "START_END: After filtering the merged dataframe, retained 119 of 127 (0.937007874015748)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=743, len(end_initial_ends_gpdf)=119\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=862\n", + "After merging, found 826 / 862 of android 756 (1.0925925925925926), ios 756 (1.0925925925925926)\n", + "Validated tf, stats are {'coverage_density': 0.9575136272926746, 'coverage_time': 0.9876532814205313, 'coverage_max_gap': 0.016229044530384318}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1185, len(filtered_loc_df_b)=711\n", + "After filtering, retained 756 of 756 (1.0)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1367 -> len(loc_df_a)=171, ios: len(unfiltered_loc_b_df)=808 -> len(loc_df_b)=97\n", + "START_END: After filtering the merged dataframe, retained 119 of 127 (0.937007874015748)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=756, len(end_initial_ends_gpdf)=119\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=875\n", + "Validated ct, stats are {'coverage_density': 1.0143152831490199, 'coverage_time': 0.9876532814205313, 'coverage_max_gap': 0.0011592174664560226}\n", + "max_gap for tf = 0.016229044530384318 > ct = 0.0011592174664560226 and density 0.9575136272926746 < 1.0143152831490199, returning ct len = 875 not tf len = 826\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 9 and include_ends=True\n", + "After filtering, 2175 of 2242 (0.9701159678858162) for android and 1262 of 2262 (0.5579133510167993) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2262 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=1482 -> len(loc_df_b)=12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2262 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1482 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 10 of 21 (0.47619047619047616)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=2222, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2232\n", + "After merging, found 1762 / 2232 of android 2242 (0.7859054415700267), ios 2262 (0.7789566755083996)\n", + "Validated tf, stats are {'coverage_density': 0.7780296842111513, 'coverage_time': 0.990861867973793, 'coverage_max_gap': 0.03885732815583502}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2240, len(filtered_loc_df_b)=1468\n", + "After filtering, retained 604 of 2262 (0.26702033598585323)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2262 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=1482 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2262 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1482 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 10 of 21 (0.47619047619047616)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=10, len(initial_reference_gpdf)=604, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=614\n", + "Validated ct, stats are {'coverage_density': 0.2711181759963944, 'coverage_time': 0.9970437156349486, 'coverage_max_gap': 0.1995853673458799}\n", + "for tf = 0.03885732815583502 v/s ct = 0.1995853673458799, density 0.7780296842111513 v/s 0.2711181759963944, returning tf len = 1762 not cf len = 614\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 9 and include_ends=True\n", + "After filtering, 775 of 3252 (0.23831488314883148) for android and 1505 of 3239 (0.4646495832046928) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=563 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=904 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=563 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=904 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1993, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1993\n", + "After merging, found 1226 / 1993 of android 3252 (0.3769987699876999), ios 3239 (0.37851188638468664)\n", + "Validated tf, stats are {'coverage_density': 0.373255190077196, 'coverage_time': 0.9590161898394514, 'coverage_max_gap': 0.08372363562090449}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=550, len(filtered_loc_df_b)=899\n", + "After filtering, retained 63 of 3252 (0.01937269372693727)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=563 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=904 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=563 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=904 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 0 of 5 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=63, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=63\n", + "Validated ct, stats are {'coverage_density': 0.019180323796789026, 'coverage_time': 0.2874004073677594, 'coverage_max_gap': 0.14096015742719556}\n", + "for tf = 0.08372363562090449 v/s ct = 0.14096015742719556, density 0.373255190077196 v/s 0.019180323796789026, returning tf len = 1226 not cf len = 63\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 9 and include_ends=True\n", + "After filtering, 75 of 75 (1.0) for android and 23 of 23 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=384 -> len(loc_df_a)=265, ios: len(unfiltered_loc_b_df)=127 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=384 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=127 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 177 of 235 (0.7531914893617021)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=177, len(initial_reference_gpdf)=75, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=252\n", + "After merging, found 239 / 252 of android 75 (3.1866666666666665), ios 23 (10.391304347826088)\n", + "Validated tf, stats are {'coverage_density': 0.8256543991569293, 'coverage_time': 0.9292930266661673, 'coverage_max_gap': 0.062183176505542795}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=119, len(filtered_loc_df_b)=21\n", + "After filtering, retained 23 of 75 (0.30666666666666664)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=384 -> len(loc_df_a)=265, ios: len(unfiltered_loc_b_df)=127 -> len(loc_df_b)=99\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=384 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=127 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 177 of 235 (0.7531914893617021)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=177, len(initial_reference_gpdf)=23, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=200\n", + "Validated ct, stats are {'coverage_density': 0.6909241833949199, 'coverage_time': 0.8947468174964214, 'coverage_max_gap': 0.15200332034688238}\n", + "for tf = 0.062183176505542795 v/s ct = 0.15200332034688238, density 0.8256543991569293 v/s 0.6909241833949199, returning tf len = 239 not cf len = 200\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 9 and include_ends=True\n", + "After filtering, 269 of 277 (0.9711191335740073) for android and 276 of 276 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=324 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=324 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 4 of 7 (0.5714285714285714)\n", + "START_END: After filtering the merged dataframe, retained 13 of 15 (0.8666666666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=277, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=294\n", + "After merging, found 217 / 294 of android 277 (0.7833935018050542), ios 276 (0.7862318840579711)\n", + "Validated tf, stats are {'coverage_density': 0.716462659479157, 'coverage_time': 0.9772946875844722, 'coverage_max_gap': 0.12216183594805903}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=297, len(filtered_loc_df_b)=186\n", + "After filtering, retained 189 of 277 (0.6823104693140795)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=324 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=324 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 4 of 7 (0.5714285714285714)\n", + "START_END: After filtering the merged dataframe, retained 13 of 15 (0.8666666666666667)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=189, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=206\n", + "Validated ct, stats are {'coverage_density': 0.6801442758189232, 'coverage_time': 0.9772946875844722, 'coverage_max_gap': 0.12546350718989846}\n", + "for tf = 0.12216183594805903 v/s ct = 0.12546350718989846, density 0.716462659479157 v/s 0.6801442758189232, returning tf len = 217 not cf len = 206\n", + "Considering entry walk_urban_university walk_urban_university 9 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 680 of 732 (0.9289617486338798) for android and 693 of 693 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1254 -> len(loc_df_a)=66, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1254 -> len(loc_df_a)=47, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=28\n", + "START_END: After filtering the merged dataframe, retained 32 of 50 (0.64)\n", + "START_END: After filtering the merged dataframe, retained 31 of 37 (0.8378378378378378)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=32, len(initial_reference_gpdf)=699, len(end_initial_ends_gpdf)=31\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=762\n", + "After merging, found 735 / 762 of android 732 (1.0040983606557377), ios 693 (1.0606060606060606)\n", + "Validated tf, stats are {'coverage_density': 0.9567580881024845, 'coverage_time': 0.9827923217923481, 'coverage_max_gap': 0.02473252200537035}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1141, len(filtered_loc_df_b)=596\n", + "After filtering, retained 681 of 732 (0.930327868852459)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1254 -> len(loc_df_a)=66, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=25\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1254 -> len(loc_df_a)=47, ios: len(unfiltered_loc_b_df)=649 -> len(loc_df_b)=28\n", + "START_END: After filtering the merged dataframe, retained 32 of 50 (0.64)\n", + "START_END: After filtering the merged dataframe, retained 31 of 37 (0.8378378378378378)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=32, len(initial_reference_gpdf)=681, len(end_initial_ends_gpdf)=31\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=744\n", + "Validated ct, stats are {'coverage_density': 0.9684734932629232, 'coverage_time': 0.9827923217923481, 'coverage_max_gap': 0.016922251898411293}\n", + "max_gap for tf = 0.02473252200537035 > ct = 0.016922251898411293 and density 0.9567580881024845 < 0.9684734932629232, returning ct len = 744 not tf len = 735\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 9 and include_ends=True\n", + "After filtering, 354 of 358 (0.9888268156424581) for android and 370 of 370 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=612 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=350 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=612 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=350 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 26 of 31 (0.8387096774193549)\n", + "START_END: After filtering the merged dataframe, retained 2 of 9 (0.2222222222222222)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=371, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=399\n", + "After merging, found 329 / 399 of android 358 (0.9189944134078212), ios 370 (0.8891891891891892)\n", + "Validated tf, stats are {'coverage_density': 0.8294359131639059, 'coverage_time': 0.9781797395367643, 'coverage_max_gap': 0.13361733555527966}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=560, len(filtered_loc_df_b)=324\n", + "After filtering, retained 349 of 370 (0.9432432432432433)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=612 -> len(loc_df_a)=39, ios: len(unfiltered_loc_b_df)=350 -> len(loc_df_b)=18\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=612 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=350 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 26 of 31 (0.8387096774193549)\n", + "START_END: After filtering the merged dataframe, retained 2 of 9 (0.2222222222222222)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=26, len(initial_reference_gpdf)=349, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=377\n", + "Validated ct, stats are {'coverage_density': 0.9504478397045365, 'coverage_time': 0.9781797395367643, 'coverage_max_gap': 0.02016865442343844}\n", + "max_gap for tf = 0.13361733555527966 > ct = 0.02016865442343844 and density 0.8294359131639059 < 0.9504478397045365, returning ct len = 377 not tf len = 329\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 9 and include_ends=True\n", + "After filtering, 1338 of 1338 (1.0) for android and 1341 of 1349 (0.994069681245367) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1403 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=916 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1403 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=916 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 7 of 10 (0.7)\n", + "START_END: After filtering the merged dataframe, retained 4 of 15 (0.26666666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1342, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1353\n", + "After merging, found 1022 / 1353 of android 1338 (0.7638266068759342), ios 1349 (0.7575982209043736)\n", + "Validated tf, stats are {'coverage_density': 0.7480988775129087, 'coverage_time': 0.98819323350531, 'coverage_max_gap': 0.06514755391257229}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1373, len(filtered_loc_df_b)=904\n", + "After filtering, retained 1337 of 1349 (0.9911045218680504)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1403 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=916 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1403 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=916 -> len(loc_df_b)=6\n", + "START_END: After filtering the merged dataframe, retained 7 of 10 (0.7)\n", + "START_END: After filtering the merged dataframe, retained 4 of 15 (0.26666666666666666)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=7, len(initial_reference_gpdf)=1337, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1348\n", + "Validated ct, stats are {'coverage_density': 0.9867292435297466, 'coverage_time': 0.98819323350531, 'coverage_max_gap': 0.0021959849633451335}\n", + "max_gap for tf = 0.06514755391257229 > ct = 0.0021959849633451335 and density 0.7480988775129087 < 0.9867292435297466, returning ct len = 1348 not tf len = 1022\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 9 and include_ends=True\n", + "After filtering, 1796 of 1811 (0.9917172832689122) for android and 1825 of 1831 (0.9967231021299836) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1850 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=1528 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1850 -> len(loc_df_a)=54, ios: len(unfiltered_loc_b_df)=1528 -> len(loc_df_b)=51\n", + "START_END: After filtering the merged dataframe, retained 12 of 38 (0.3157894736842105)\n", + "START_END: After filtering the merged dataframe, retained 4 of 83 (0.04819277108433735)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=1831, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1847\n", + "After merging, found 1459 / 1847 of android 1811 (0.8056322473771397), ios 1831 (0.7968323320589842)\n", + "Validated tf, stats are {'coverage_density': 0.753337151781158, 'coverage_time': 0.957807002435948, 'coverage_max_gap': 0.05989520877766575}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1756, len(filtered_loc_df_b)=1467\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, retained 1661 of 1831 (0.9071545603495358)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1850 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=1528 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1850 -> len(loc_df_a)=54, ios: len(unfiltered_loc_b_df)=1528 -> len(loc_df_b)=51\n", + "START_END: After filtering the merged dataframe, retained 12 of 38 (0.3157894736842105)\n", + "START_END: After filtering the merged dataframe, retained 4 of 83 (0.04819277108433735)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=12, len(initial_reference_gpdf)=1661, len(end_initial_ends_gpdf)=4\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1677\n", + "Validated ct, stats are {'coverage_density': 0.8658988372426333, 'coverage_time': 0.957807002435948, 'coverage_max_gap': 0.031496618408944924}\n", + "max_gap for tf = 0.05989520877766575 > ct = 0.031496618408944924 and density 0.753337151781158 < 0.8658988372426333, returning ct len = 1677 not tf len = 1459\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 9 and include_ends=True\n", + "After filtering, 268 of 478 (0.5606694560669456) for android and 281 of 502 (0.5597609561752988) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=964 -> len(loc_df_a)=235, ios: len(unfiltered_loc_b_df)=465 -> len(loc_df_b)=120\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=964 -> len(loc_df_a)=188, ios: len(unfiltered_loc_b_df)=465 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 104 of 198 (0.5252525252525253)\n", + "START_END: After filtering the merged dataframe, retained 30 of 198 (0.15151515151515152)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=104, len(initial_reference_gpdf)=340, len(end_initial_ends_gpdf)=30\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=474\n", + "After merging, found 300 / 474 of android 478 (0.6276150627615062), ios 502 (0.5976095617529881)\n", + "Validated tf, stats are {'coverage_density': 0.4407648681171482, 'coverage_time': 0.8065997086543812, 'coverage_max_gap': 0.09549905475871545}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=541, len(filtered_loc_df_b)=329\n", + "After filtering, retained 116 of 502 (0.23107569721115537)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=964 -> len(loc_df_a)=235, ios: len(unfiltered_loc_b_df)=465 -> len(loc_df_b)=120\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=964 -> len(loc_df_a)=188, ios: len(unfiltered_loc_b_df)=465 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 104 of 198 (0.5252525252525253)\n", + "START_END: After filtering the merged dataframe, retained 30 of 198 (0.15151515151515152)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=104, len(initial_reference_gpdf)=116, len(end_initial_ends_gpdf)=30\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=250\n", + "Validated ct, stats are {'coverage_density': 0.3673040567642902, 'coverage_time': 0.840391681876696, 'coverage_max_gap': 0.2615204884161746}\n", + "for tf = 0.09549905475871545 v/s ct = 0.2615204884161746, density 0.4407648681171482 v/s 0.3673040567642902, returning tf len = 300 not cf len = 250\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 9 and include_ends=True\n", + "After filtering, 635 of 985 (0.6446700507614214) for android and 845 of 1049 (0.8055290753098189) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=676 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=328 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=676 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=328 -> len(loc_df_b)=25\n", + "START_END: After filtering the merged dataframe, retained 14 of 26 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=906, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=920\n", + "After merging, found 556 / 920 of android 985 (0.5644670050761421), ios 1049 (0.5300285986653956)\n", + "Validated tf, stats are {'coverage_density': 0.5261562331573728, 'coverage_time': 0.9075248697804326, 'coverage_max_gap': 0.06151107042307416}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=650, len(filtered_loc_df_b)=303\n", + "After filtering, retained 399 of 1049 (0.38036224976167776)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=676 -> len(loc_df_a)=11, ios: len(unfiltered_loc_b_df)=328 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=676 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=328 -> len(loc_df_b)=25\n", + "START_END: After filtering the merged dataframe, retained 14 of 26 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=399, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=413\n", + "Validated ct, stats are {'coverage_density': 0.39083187822660964, 'coverage_time': 0.9122564905822076, 'coverage_max_gap': 0.15046554149644295}\n", + "for tf = 0.06151107042307416 v/s ct = 0.15046554149644295, density 0.5261562331573728 v/s 0.39083187822660964, returning tf len = 556 not cf len = 413\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 9 and include_ends=True\n", + "After filtering, 1123 of 2814 (0.39907604832977966) for android and 2300 of 2814 (0.8173418621179815) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1698 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2092 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1698 -> len(loc_df_a)=53, ios: len(unfiltered_loc_b_df)=2092 -> len(loc_df_b)=35\n", + "START_END: After filtering the merged dataframe, retained 46 of 50 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=2388, len(end_initial_ends_gpdf)=46\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2434\n", + "After merging, found 1849 / 2434 of android 2814 (0.6570717839374556), ios 2814 (0.6570717839374556)\n", + "Validated tf, stats are {'coverage_density': 0.645050358149871, 'coverage_time': 0.9900772939044532, 'coverage_max_gap': 0.07012175337378262}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1645, len(filtered_loc_df_b)=2057\n", + "After filtering, retained 674 of 2814 (0.23951670220326937)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1698 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2092 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1698 -> len(loc_df_a)=53, ios: len(unfiltered_loc_b_df)=2092 -> len(loc_df_b)=35\n", + "START_END: After filtering the merged dataframe, retained 46 of 50 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=674, len(end_initial_ends_gpdf)=46\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=720\n", + "Validated ct, stats are {'coverage_density': 0.25118240014489296, 'coverage_time': 0.985890920568705, 'coverage_max_gap': 0.20269024233914282}\n", + "for tf = 0.07012175337378262 v/s ct = 0.20269024233914282, density 0.645050358149871 v/s 0.25118240014489296, returning tf len = 1849 not cf len = 720\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 9 and include_ends=True\n", + "After filtering, 1021 of 1022 (0.9990215264187867) for android and 1030 of 1030 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1788 -> len(loc_df_a)=167, ios: len(unfiltered_loc_b_df)=944 -> len(loc_df_b)=75\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1788 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=944 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 93 of 107 (0.8691588785046729)\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=93, len(initial_reference_gpdf)=1030, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1130\n", + "After merging, found 1123 / 1130 of android 1022 (1.098825831702544), ios 1030 (1.0902912621359224)\n", + "Validated tf, stats are {'coverage_density': 0.9791438591779228, 'coverage_time': 0.9887347607371011, 'coverage_max_gap': 0.006103300992204327}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1597, len(filtered_loc_df_b)=864\n", + "After filtering, retained 1022 of 1030 (0.9922330097087378)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1788 -> len(loc_df_a)=167, ios: len(unfiltered_loc_b_df)=944 -> len(loc_df_b)=75\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1788 -> len(loc_df_a)=24, ios: len(unfiltered_loc_b_df)=944 -> len(loc_df_b)=5\n", + "START_END: After filtering the merged dataframe, retained 93 of 107 (0.8691588785046729)\n", + "START_END: After filtering the merged dataframe, retained 7 of 13 (0.5384615384615384)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=93, len(initial_reference_gpdf)=1022, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1122\n", + "Validated ct, stats are {'coverage_density': 0.9782719590361794, 'coverage_time': 0.9887347607371011, 'coverage_max_gap': 0.006975201133947803}\n", + "for tf = 0.006103300992204327 v/s ct = 0.006975201133947803, density 0.9791438591779228 v/s 0.9782719590361794, returning tf len = 1123 not cf len = 1122\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 10 and include_ends=True\n", + "After filtering, 774 of 784 (0.9872448979591837) for android and 773 of 773 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1526 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=878 -> len(loc_df_b)=2\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1526 -> len(loc_df_a)=264, ios: len(unfiltered_loc_b_df)=878 -> len(loc_df_b)=143\n", + "START_END: After filtering the merged dataframe, retained 166 of 172 (0.9651162790697675)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=784, len(end_initial_ends_gpdf)=166\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=950\n", + "After merging, found 938 / 950 of android 784 (1.1964285714285714), ios 773 (1.2134540750323415)\n", + "Validated tf, stats are {'coverage_density': 0.9823730697833787, 'coverage_time': 0.9949407423179208, 'coverage_max_gap': 0.007331142311816259}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1262, len(filtered_loc_df_b)=733\n", + "After filtering, retained 773 of 784 (0.985969387755102)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1526 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=878 -> len(loc_df_b)=2\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1526 -> len(loc_df_a)=264, ios: len(unfiltered_loc_b_df)=878 -> len(loc_df_b)=143\n", + "START_END: After filtering the merged dataframe, retained 166 of 172 (0.9651162790697675)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=773, len(end_initial_ends_gpdf)=166\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=939\n", + "Validated ct, stats are {'coverage_density': 0.9834203758279239, 'coverage_time': 0.9907515181397402, 'coverage_max_gap': 0.009425754400906618}\n", + "for tf = 0.007331142311816259 v/s ct = 0.009425754400906618, density 0.9823730697833787 v/s 0.9834203758279239, returning tf len = 938 not cf len = 939\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 10 and include_ends=True\n", + "After filtering, 1877 of 2262 (0.8297966401414677) for android and 1560 of 2312 (0.6747404844290658) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2285 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=1756 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2285 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=1756 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 4 of 29 (0.13793103448275862)\n", + "START_END: After filtering the merged dataframe, retained 27 of 29 (0.9310344827586207)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=2072, len(end_initial_ends_gpdf)=27\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2103\n", + "After merging, found 1591 / 2103 of android 2262 (0.7033598585322723), ios 2312 (0.6881487889273357)\n", + "Validated tf, stats are {'coverage_density': 0.6851667553094464, 'coverage_time': 0.9900681146803376, 'coverage_max_gap': 0.048232983403304834}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2221, len(filtered_loc_df_b)=1735\n", + "After filtering, retained 955 of 2312 (0.4130622837370242)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2285 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=1756 -> len(loc_df_b)=9\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2285 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=1756 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 4 of 29 (0.13793103448275862)\n", + "START_END: After filtering the merged dataframe, retained 27 of 29 (0.9310344827586207)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=955, len(end_initial_ends_gpdf)=27\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=986\n", + "Validated ct, stats are {'coverage_density': 0.42462251460409434, 'coverage_time': 0.9900681146803376, 'coverage_max_gap': 0.05727666779142449}\n", + "for tf = 0.048232983403304834 v/s ct = 0.05727666779142449, density 0.6851667553094464 v/s 0.42462251460409434, returning tf len = 1591 not cf len = 986\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 10 and include_ends=True\n", + "After filtering, 907 of 4346 (0.208697653014266) for android and 2304 of 4322 (0.5330865340120314) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=308 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=850 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=308 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=850 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 4 of 8 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=2432, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2436\n", + "After merging, found 1048 / 2436 of android 4346 (0.24114127933732168), ios 4322 (0.24248033317908377)\n", + "Validated tf, stats are {'coverage_density': 0.2405136751273502, 'coverage_time': 0.9772015540956652, 'coverage_max_gap': 0.2010400566904187}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=299, len(filtered_loc_df_b)=843\n", + "After filtering, retained 553 of 4346 (0.12724344224574322)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=308 -> len(loc_df_a)=9, ios: len(unfiltered_loc_b_df)=850 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=308 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=850 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 4 of 8 (0.5)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=4, len(initial_reference_gpdf)=553, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=557\n", + "Validated ct, stats are {'coverage_density': 0.1278302643568073, 'coverage_time': 0.3470006457944213, 'coverage_max_gap': 0.16386141606958782}\n", + "for tf = 0.2010400566904187 v/s ct = 0.16386141606958782, density 0.2405136751273502 v/s 0.1278302643568073, returning tf len = 1048 not cf len = 557\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 10 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 79 of 287 (0.27526132404181186) for android and 35 of 35 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=351 -> len(loc_df_a)=235, ios: len(unfiltered_loc_b_df)=117 -> len(loc_df_b)=95\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=351 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=117 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 180 of 219 (0.821917808219178)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=180, len(initial_reference_gpdf)=79, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=259\n", + "After merging, found 247 / 259 of android 287 (0.8606271777003485), ios 35 (7.057142857142857)\n", + "Validated tf, stats are {'coverage_density': 0.846408679901145, 'coverage_time': 0.8909565051591, 'coverage_max_gap': 0.027414046312587693}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=116, len(filtered_loc_df_b)=10\n", + "After filtering, retained 35 of 287 (0.12195121951219512)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=351 -> len(loc_df_a)=235, ios: len(unfiltered_loc_b_df)=117 -> len(loc_df_b)=95\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=351 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=117 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 180 of 219 (0.821917808219178)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=180, len(initial_reference_gpdf)=35, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=215\n", + "Validated ct, stats are {'coverage_density': 0.7367524946507942, 'coverage_time': 0.8429819241120715, 'coverage_max_gap': 0.10280267367220385}\n", + "for tf = 0.027414046312587693 v/s ct = 0.10280267367220385, density 0.846408679901145 v/s 0.7367524946507942, returning tf len = 247 not cf len = 215\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 10 and include_ends=True\n", + "After filtering, 345 of 345 (1.0) for android and 349 of 353 (0.9886685552407932) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=385 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=385 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 11 of 11 (1.0)\n", + "START_END: After filtering the merged dataframe, retained 10 of 11 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=11, len(initial_reference_gpdf)=350, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=371\n", + "After merging, found 310 / 371 of android 345 (0.8985507246376812), ios 353 (0.8781869688385269)\n", + "Validated tf, stats are {'coverage_density': 0.8397739458081379, 'coverage_time': 0.9941839939083439, 'coverage_max_gap': 0.10835792849137263}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=361, len(filtered_loc_df_b)=182\n", + "After filtering, retained 344 of 353 (0.9745042492917847)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=385 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=385 -> len(loc_df_a)=12, ios: len(unfiltered_loc_b_df)=200 -> len(loc_df_b)=12\n", + "START_END: After filtering the merged dataframe, retained 11 of 11 (1.0)\n", + "START_END: After filtering the merged dataframe, retained 10 of 11 (0.9090909090909091)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=11, len(initial_reference_gpdf)=344, len(end_initial_ends_gpdf)=10\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=365\n", + "Validated ct, stats are {'coverage_density': 0.9887660974837752, 'coverage_time': 0.9941839939083439, 'coverage_max_gap': 0.008126844636852947}\n", + "max_gap for tf = 0.10835792849137263 > ct = 0.008126844636852947 and density 0.8397739458081379 < 0.9887660974837752, returning ct len = 365 not tf len = 310\n", + "Considering entry walk_urban_university walk_urban_university 10 and include_ends=True\n", + "After filtering, 632 of 651 (0.9708141321044547) for android and 637 of 637 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1155 -> len(loc_df_a)=87, ios: len(unfiltered_loc_b_df)=634 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1155 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=634 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 49 of 56 (0.875)\n", + "START_END: After filtering the merged dataframe, retained 11 of 23 (0.4782608695652174)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=49, len(initial_reference_gpdf)=657, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=717\n", + "After merging, found 685 / 717 of android 651 (1.0522273425499231), ios 637 (1.0753532182103611)\n", + "Validated tf, stats are {'coverage_density': 0.9511682394452204, 'coverage_time': 0.9886595423138642, 'coverage_max_gap': 0.01943993482077823}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1046, len(filtered_loc_df_b)=570\n", + "After filtering, retained 631 of 651 (0.9692780337941628)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1155 -> len(loc_df_a)=87, ios: len(unfiltered_loc_b_df)=634 -> len(loc_df_b)=45\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1155 -> len(loc_df_a)=22, ios: len(unfiltered_loc_b_df)=634 -> len(loc_df_b)=19\n", + "START_END: After filtering the merged dataframe, retained 49 of 56 (0.875)\n", + "START_END: After filtering the merged dataframe, retained 11 of 23 (0.4782608695652174)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=49, len(initial_reference_gpdf)=631, len(end_initial_ends_gpdf)=11\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=691\n", + "Validated ct, stats are {'coverage_density': 0.9594996400826968, 'coverage_time': 0.9886595423138642, 'coverage_max_gap': 0.02082850159369096}\n", + "for tf = 0.01943993482077823 v/s ct = 0.02082850159369096, density 0.9511682394452204 v/s 0.9594996400826968, returning tf len = 685 not cf len = 691\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 10 and include_ends=True\n", + "After filtering, 334 of 344 (0.9709302325581395) for android and 339 of 339 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=560 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=326 -> len(loc_df_b)=2\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=560 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=326 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 0 of 10 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "START_END: After filtering the merged dataframe, retained 6 of 8 (0.75)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=341, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=347\n", + "After merging, found 333 / 347 of android 344 (0.9680232558139535), ios 339 (0.9823008849557522)\n", + "Validated tf, stats are {'coverage_density': 0.9424386905205896, 'coverage_time': 0.965079860262826, 'coverage_max_gap': 0.011320584871118195}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=531, len(filtered_loc_df_b)=316\n", + "After filtering, retained 331 of 344 (0.9622093023255814)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=560 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=326 -> len(loc_df_b)=2\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=560 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=326 -> len(loc_df_b)=8\n", + "START_END: After filtering the merged dataframe, retained 0 of 10 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, ts, fmt_time_a, geometry_a, latitude_i, longitude_i, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "START_END: After filtering the merged dataframe, retained 6 of 8 (0.75)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=331, len(end_initial_ends_gpdf)=6\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=337\n", + "Validated ct, stats are {'coverage_density': 0.9537592753917078, 'coverage_time': 0.9622497140450464, 'coverage_max_gap': 0.014150731088897743}\n", + "for tf = 0.011320584871118195 v/s ct = 0.014150731088897743, density 0.9424386905205896 v/s 0.9537592753917078, returning tf len = 333 not cf len = 337\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 10 and include_ends=True\n", + "After filtering, 1078 of 1078 (1.0) for android and 1136 of 1184 (0.9594594594594594) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1253 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=914 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1253 -> len(loc_df_a)=110, ios: len(unfiltered_loc_b_df)=914 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 18 of 23 (0.782608695652174)\n", + "START_END: After filtering the merged dataframe, retained 95 of 102 (0.9313725490196079)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=1136, len(end_initial_ends_gpdf)=95\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1249\n", + "After merging, found 1049 / 1249 of android 1078 (0.9730983302411874), ios 1184 (0.8859797297297297)\n", + "Validated tf, stats are {'coverage_density': 0.8690932817137432, 'coverage_time': 0.9908823307241534, 'coverage_max_gap': 0.048881318990572784}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1117, len(filtered_loc_df_b)=887\n", + "After filtering, retained 1077 of 1184 (0.9096283783783784)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1253 -> len(loc_df_a)=26, ios: len(unfiltered_loc_b_df)=914 -> len(loc_df_b)=12\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1253 -> len(loc_df_a)=110, ios: len(unfiltered_loc_b_df)=914 -> len(loc_df_b)=15\n", + "START_END: After filtering the merged dataframe, retained 18 of 23 (0.782608695652174)\n", + "START_END: After filtering the merged dataframe, retained 95 of 102 (0.9313725490196079)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=18, len(initial_reference_gpdf)=1077, len(end_initial_ends_gpdf)=95\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1190\n", + "Validated ct, stats are {'coverage_density': 0.9859113491318917, 'coverage_time': 0.9908823307241534, 'coverage_max_gap': 0.004142484660218032}\n", + "max_gap for tf = 0.048881318990572784 > ct = 0.004142484660218032 and density 0.8690932817137432 < 0.9859113491318917, returning ct len = 1190 not tf len = 1049\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 10 and include_ends=True\n", + "After filtering, 2440 of 2445 (0.9979550102249489) for android and 2324 of 2419 (0.9607275733774286) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2519 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=1918 -> len(loc_df_b)=17\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2519 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=1918 -> len(loc_df_b)=41\n", + "START_END: After filtering the merged dataframe, retained 20 of 33 (0.6060606060606061)\n", + "START_END: After filtering the merged dataframe, retained 7 of 70 (0.1)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=2451, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2478\n", + "After merging, found 2108 / 2478 of android 2445 (0.8621676891615542), ios 2419 (0.871434477056635)\n", + "Validated tf, stats are {'coverage_density': 0.8345349468513162, 'coverage_time': 0.9980372870076699, 'coverage_max_gap': 0.05067384876516531}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2441, len(filtered_loc_df_b)=1860\n", + "After filtering, retained 1923 of 2445 (0.7865030674846626)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2519 -> len(loc_df_a)=34, ios: len(unfiltered_loc_b_df)=1918 -> len(loc_df_b)=17\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2519 -> len(loc_df_a)=44, ios: len(unfiltered_loc_b_df)=1918 -> len(loc_df_b)=41\n", + "START_END: After filtering the merged dataframe, retained 20 of 33 (0.6060606060606061)\n", + "START_END: After filtering the merged dataframe, retained 7 of 70 (0.1)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=20, len(initial_reference_gpdf)=1923, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1950\n", + "Validated ct, stats are {'coverage_density': 0.7719844147818152, 'coverage_time': 0.9980372870076699, 'coverage_max_gap': 0.0447355071129975}\n", + "for tf = 0.05067384876516531 v/s ct = 0.0447355071129975, density 0.8345349468513162 v/s 0.7719844147818152, returning tf len = 2108 not cf len = 1950\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 10 and include_ends=True\n", + "After filtering, 331 of 500 (0.662) for android and 313 of 502 (0.6235059760956175) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=917 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=446 -> len(loc_df_b)=124\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=917 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=446 -> len(loc_df_b)=34\n", + "START_END: After filtering the merged dataframe, retained 100 of 181 (0.5524861878453039)\n", + "START_END: After filtering the merged dataframe, retained 19 of 89 (0.21348314606741572)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=100, len(initial_reference_gpdf)=366, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=485\n", + "After merging, found 396 / 485 of android 500 (0.792), ios 502 (0.7888446215139442)\n", + "Validated tf, stats are {'coverage_density': 0.6524646659049107, 'coverage_time': 0.9243249433652901, 'coverage_max_gap': 0.10709647293893737}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=594, len(filtered_loc_df_b)=288\n", + "After filtering, retained 379 of 502 (0.7549800796812749)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=917 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=446 -> len(loc_df_b)=124\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=917 -> len(loc_df_a)=142, ios: len(unfiltered_loc_b_df)=446 -> len(loc_df_b)=34\n", + "START_END: After filtering the merged dataframe, retained 100 of 181 (0.5524861878453039)\n", + "START_END: After filtering the merged dataframe, retained 19 of 89 (0.21348314606741572)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=100, len(initial_reference_gpdf)=379, len(end_initial_ends_gpdf)=19\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=498\n", + "Validated ct, stats are {'coverage_density': 0.8205237465167816, 'coverage_time': 0.9243249433652901, 'coverage_max_gap': 0.10709647293893737}\n", + "for tf = 0.10709647293893737 v/s ct = 0.10709647293893737, density 0.6524646659049107 v/s 0.8205237465167816, returning tf len = 396 not cf len = 498\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 10 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 803 of 853 (0.9413833528722158) for android and 814 of 899 (0.9054505005561735) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=861 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=440 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=861 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=440 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 13 of 22 (0.5909090909090909)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=847, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=860\n", + "After merging, found 474 / 860 of android 853 (0.5556858147713951), ios 899 (0.5272525027808677)\n", + "Validated tf, stats are {'coverage_density': 0.5258552146722516, 'coverage_time': 0.9440987081984938, 'coverage_max_gap': 0.19081666017642884}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=839, len(filtered_loc_df_b)=418\n", + "After filtering, retained 551 of 899 (0.6129032258064516)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=861 -> len(loc_df_a)=8, ios: len(unfiltered_loc_b_df)=440 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=861 -> len(loc_df_a)=14, ios: len(unfiltered_loc_b_df)=440 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 13 of 22 (0.5909090909090909)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=551, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=564\n", + "Validated ct, stats are {'coverage_density': 0.625701141508755, 'coverage_time': 0.910816732586326, 'coverage_max_gap': 0.06545455203726339}\n", + "max_gap for tf = 0.19081666017642884 > ct = 0.06545455203726339 and density 0.5258552146722516 < 0.625701141508755, returning ct len = 564 not tf len = 474\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 10 and include_ends=True\n", + "After filtering, 1984 of 2766 (0.7172812725958062) for android and 1934 of 2769 (0.69844709281329) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2225 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1741 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2225 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=1741 -> len(loc_df_b)=13\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=2532, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2532\n", + "After merging, found 1977 / 2532 of android 2766 (0.7147505422993492), ios 2769 (0.71397616468039)\n", + "Validated tf, stats are {'coverage_density': 0.7127159167035766, 'coverage_time': 0.97552315154268, 'coverage_max_gap': 0.06092513400248075}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2224, len(filtered_loc_df_b)=1728\n", + "After filtering, retained 821 of 2769 (0.2964969302997472)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2225 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=1741 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2225 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=1741 -> len(loc_df_b)=13\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=821, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=821\n", + "Validated ct, stats are {'coverage_density': 0.2959735799765485, 'coverage_time': 0.9838147378270413, 'coverage_max_gap': 0.07246125405028776}\n", + "for tf = 0.06092513400248075 v/s ct = 0.07246125405028776, density 0.7127159167035766 v/s 0.2959735799765485, returning tf len = 1977 not cf len = 821\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 10 and include_ends=True\n", + "After filtering, 988 of 988 (1.0) for android and 1089 of 1089 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1678 -> len(loc_df_a)=161, ios: len(unfiltered_loc_b_df)=956 -> len(loc_df_b)=71\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1678 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=956 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 89 of 104 (0.8557692307692307)\n", + "START_END: After filtering the merged dataframe, retained 0 of 3 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, fmt_time_a, geometry_a, latitude_i, longitude_i, ts, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=89, len(initial_reference_gpdf)=1093, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1182\n", + "After merging, found 1003 / 1182 of android 988 (1.0151821862348178), ios 1089 (0.921028466483012)\n", + "Validated tf, stats are {'coverage_density': 0.9143174487505322, 'coverage_time': 0.9918019783056621, 'coverage_max_gap': 0.05469496203891519}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1513, len(filtered_loc_df_b)=882\n", + "After filtering, retained 984 of 1089 (0.9035812672176309)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1678 -> len(loc_df_a)=161, ios: len(unfiltered_loc_b_df)=956 -> len(loc_df_b)=71\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1678 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=956 -> len(loc_df_b)=3\n", + "START_END: After filtering the merged dataframe, retained 89 of 104 (0.8557692307692307)\n", + "START_END: After filtering the merged dataframe, retained 0 of 3 (0.0)\n", + "CHECKME: len(merged_df)=0, len(filtered_merged_df)=0, START_END: after merging, merged_df.head()=Empty GeoDataFrame\n", + "Columns: [latitude_a, longitude_a, fmt_time_a, geometry_a, latitude_i, longitude_i, ts, fmt_time_i, geometry_i, t_distance]\n", + "Index: []\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=89, len(initial_reference_gpdf)=984, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1073\n", + "Validated ct, stats are {'coverage_density': 0.9781282377959333, 'coverage_time': 0.9835977339998249, 'coverage_max_gap': 0.0072926616051886915}\n", + "max_gap for tf = 0.05469496203891519 > ct = 0.0072926616051886915 and density 0.9143174487505322 < 0.9781282377959333, returning ct len = 1073 not tf len = 1003\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_caltrain 11 and include_ends=True\n", + "After filtering, 695 of 784 (0.8864795918367347) for android and 667 of 677 (0.9852289512555391) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=807 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=240, ios: len(unfiltered_loc_b_df)=807 -> len(loc_df_b)=149\n", + "START_END: After filtering the merged dataframe, retained 195 of 201 (0.9701492537313433)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=695, len(end_initial_ends_gpdf)=195\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=890\n", + "After merging, found 812 / 890 of android 784 (1.0357142857142858), ios 677 (1.1994091580502215)\n", + "Validated tf, stats are {'coverage_density': 0.9205715763713551, 'coverage_time': 0.9953963596724751, 'coverage_max_gap': 0.015871923730540607}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1172, len(filtered_loc_df_b)=658\n", + "After filtering, retained 670 of 784 (0.8545918367346939)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=807 -> len(loc_df_b)=0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1412 -> len(loc_df_a)=240, ios: len(unfiltered_loc_b_df)=807 -> len(loc_df_b)=149\n", + "START_END: After filtering the merged dataframe, retained 195 of 201 (0.9701492537313433)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=670, len(end_initial_ends_gpdf)=195\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=865\n", + "Validated ct, stats are {'coverage_density': 0.9806581447798303, 'coverage_time': 0.9953963596724751, 'coverage_max_gap': 0.00906967070316606}\n", + "max_gap for tf = 0.015871923730540607 > ct = 0.00906967070316606 and density 0.9205715763713551 < 0.9806581447798303, returning ct len = 865 not tf len = 812\n", + "Considering entry mtv_to_berkeley_sf_bart commuter_rail_aboveground 11 and include_ends=True\n", + "After filtering, 1961 of 2168 (0.9045202952029521) for android and 1461 of 2192 (0.6665145985401459) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=801 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=801 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 19 of 31 (0.6129032258064516)\n", + "START_END: After filtering the merged dataframe, retained 13 of 14 (0.9285714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=19, len(initial_reference_gpdf)=2112, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2144\n", + "After merging, found 1594 / 2144 of android 2168 (0.735239852398524), ios 2192 (0.7271897810218978)\n", + "Validated tf, stats are {'coverage_density': 0.71932640147471, 'coverage_time': 0.9936993325265443, 'coverage_max_gap': 0.046480940622267965}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2170, len(filtered_loc_df_b)=771\n", + "After filtering, retained 404 of 2192 (0.1843065693430657)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=32, ios: len(unfiltered_loc_b_df)=801 -> len(loc_df_b)=16\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2217 -> len(loc_df_a)=15, ios: len(unfiltered_loc_b_df)=801 -> len(loc_df_b)=14\n", + "START_END: After filtering the merged dataframe, retained 19 of 31 (0.6129032258064516)\n", + "START_END: After filtering the merged dataframe, retained 13 of 14 (0.9285714285714286)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=19, len(initial_reference_gpdf)=404, len(end_initial_ends_gpdf)=13\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=436\n", + "Validated ct, stats are {'coverage_density': 0.1967542729253285, 'coverage_time': 0.9936993325265443, 'coverage_max_gap': 0.10334112041261519}\n", + "for tf = 0.046480940622267965 v/s ct = 0.10334112041261519, density 0.71932640147471 v/s 0.1967542729253285, returning tf len = 1594 not cf len = 436\n", + "Considering entry mtv_to_berkeley_sf_bart subway_underground 11 and include_ends=True\n", + "After filtering, 991 of 3245 (0.3053929121725732) for android and 786 of 3236 (0.24289245982694685) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=811 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=519 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=811 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=519 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 3 of 5 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=1613, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1616\n", + "After merging, found 948 / 1616 of android 3245 (0.2921417565485362), ios 3236 (0.29295426452410384)\n", + "Validated tf, stats are {'coverage_density': 0.2895165313697702, 'coverage_time': 0.9577255721261596, 'coverage_max_gap': 0.18781926876836358}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=801, len(filtered_loc_df_b)=513\n", + "After filtering, retained 39 of 3245 (0.01201848998459168)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=811 -> len(loc_df_a)=6, ios: len(unfiltered_loc_b_df)=519 -> len(loc_df_b)=5\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=811 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=519 -> len(loc_df_b)=1\n", + "START_END: After filtering the merged dataframe, retained 3 of 5 (0.6)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=3, len(initial_reference_gpdf)=39, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=42\n", + "Validated ct, stats are {'coverage_density': 0.01282668176954678, 'coverage_time': 0.2864625595198781, 'coverage_max_gap': 0.16980083485400024}\n", + "for tf = 0.18781926876836358 v/s ct = 0.16980083485400024, density 0.2895165313697702 v/s 0.01282668176954678, returning tf len = 948 not cf len = 42\n", + "Considering entry mtv_to_berkeley_sf_bart walk_to_bus 11 and include_ends=True\n", + "After filtering, 81 of 81 (1.0) for android and 143 of 147 (0.9727891156462585) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=293 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=93 -> len(loc_df_b)=65\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=293 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=93 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 154 of 176 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=154, len(initial_reference_gpdf)=144, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=298\n", + "After merging, found 227 / 298 of android 81 (2.802469135802469), ios 147 (1.5442176870748299)\n", + "Validated tf, stats are {'coverage_density': 0.8625769590598875, 'coverage_time': 0.8625769590598875, 'coverage_max_gap': 0.011399695494183536}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=112, len(filtered_loc_df_b)=28\n", + "After filtering, retained 60 of 147 (0.40816326530612246)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=293 -> len(loc_df_a)=181, ios: len(unfiltered_loc_b_df)=93 -> len(loc_df_b)=65\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=293 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=93 -> len(loc_df_b)=0\n", + "START_END: After filtering the merged dataframe, retained 154 of 176 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=154, len(initial_reference_gpdf)=60, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=214\n", + "Validated ct, stats are {'coverage_density': 0.8131782785850922, 'coverage_time': 0.8929761470443769, 'coverage_max_gap': 0.04939868047479532}\n", + "for tf = 0.011399695494183536 v/s ct = 0.04939868047479532, density 0.8625769590598875 v/s 0.8131782785850922, returning tf len = 227 not cf len = 214\n", + "Considering entry mtv_to_berkeley_sf_bart city_bus_short 11 and include_ends=True\n", + "After filtering, 254 of 254 (1.0) for android and 249 of 249 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=283 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=150 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=283 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=150 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 1 of 3 (0.3333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 8 of 13 (0.6153846153846154)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=254, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=263\n", + "After merging, found 184 / 263 of android 254 (0.7244094488188977), ios 249 (0.7389558232931727)\n", + "Validated tf, stats are {'coverage_density': 0.6823797619326709, 'coverage_time': 0.9753580292841981, 'coverage_max_gap': 0.1186747412056819}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MATCH TRAJECTORY: len(filtered_loc_df_a)=263, len(filtered_loc_df_b)=136\n", + "After filtering, retained 158 of 254 (0.6220472440944882)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=283 -> len(loc_df_a)=4, ios: len(unfiltered_loc_b_df)=150 -> len(loc_df_b)=4\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=283 -> len(loc_df_a)=16, ios: len(unfiltered_loc_b_df)=150 -> len(loc_df_b)=10\n", + "START_END: After filtering the merged dataframe, retained 1 of 3 (0.3333333333333333)\n", + "START_END: After filtering the merged dataframe, retained 8 of 13 (0.6153846153846154)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=1, len(initial_reference_gpdf)=158, len(end_initial_ends_gpdf)=8\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=167\n", + "Validated ct, stats are {'coverage_density': 0.6193338056671523, 'coverage_time': 0.967940857958843, 'coverage_max_gap': 0.2818525103634945}\n", + "for tf = 0.1186747412056819 v/s ct = 0.2818525103634945, density 0.6823797619326709 v/s 0.6193338056671523, returning tf len = 184 not cf len = 167\n", + "Considering entry walk_urban_university walk_urban_university 11 and include_ends=True\n", + "After filtering, 710 of 790 (0.8987341772151899) for android and 677 of 677 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1310 -> len(loc_df_a)=149, ios: len(unfiltered_loc_b_df)=656 -> len(loc_df_b)=55\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1310 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=656 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 111 of 114 (0.9736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 28 of 33 (0.8484848484848485)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=111, len(initial_reference_gpdf)=730, len(end_initial_ends_gpdf)=28\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=869\n", + "After merging, found 805 / 869 of android 790 (1.018987341772152), ios 677 (1.1890694239290989)\n", + "Validated tf, stats are {'coverage_density': 0.9705064502077035, 'coverage_time': 0.993412813628755, 'coverage_max_gap': 0.009644784598337426}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1121, len(filtered_loc_df_b)=579\n", + "After filtering, retained 676 of 790 (0.8556962025316456)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1310 -> len(loc_df_a)=149, ios: len(unfiltered_loc_b_df)=656 -> len(loc_df_b)=55\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1310 -> len(loc_df_a)=40, ios: len(unfiltered_loc_b_df)=656 -> len(loc_df_b)=22\n", + "START_END: After filtering the merged dataframe, retained 111 of 114 (0.9736842105263158)\n", + "START_END: After filtering the merged dataframe, retained 28 of 33 (0.8484848484848485)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=111, len(initial_reference_gpdf)=676, len(end_initial_ends_gpdf)=28\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=815\n", + "Validated ct, stats are {'coverage_density': 0.9825624309556253, 'coverage_time': 0.993412813628755, 'coverage_max_gap': 0.009644784598337426}\n", + "for tf = 0.009644784598337426 v/s ct = 0.009644784598337426, density 0.9705064502077035 v/s 0.9825624309556253, returning tf len = 805 not cf len = 815\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk to the bikeshare location 11 and include_ends=True\n", + "After filtering, 373 of 375 (0.9946666666666667) for android and 370 of 370 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=592 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=335 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=592 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=335 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 7 of 8 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=375, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=382\n", + "After merging, found 328 / 382 of android 375 (0.8746666666666667), ios 370 (0.8864864864864865)\n", + "Validated tf, stats are {'coverage_density': 0.8447016284768346, 'coverage_time': 0.9708918107797764, 'coverage_max_gap': 0.09528646418793561}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=578, len(filtered_loc_df_b)=320\n", + "After filtering, retained 370 of 375 (0.9866666666666667)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=592 -> len(loc_df_a)=1, ios: len(unfiltered_loc_b_df)=335 -> len(loc_df_b)=6\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=592 -> len(loc_df_a)=13, ios: len(unfiltered_loc_b_df)=335 -> len(loc_df_b)=9\n", + "START_END: After filtering the merged dataframe, retained 7 of 8 (0.875)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=370, len(end_initial_ends_gpdf)=7\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=377\n", + "Validated ct, stats are {'coverage_density': 0.9708918107797764, 'coverage_time': 0.9760424304656107, 'coverage_max_gap': 0.010301239371668715}\n", + "max_gap for tf = 0.09528646418793561 > ct = 0.010301239371668715 and density 0.8447016284768346 < 0.9708918107797764, returning ct len = 377 not tf len = 328\n", + "Considering entry berkeley_to_mtv_SF_express_bus ebike_bikeshare_urban_long 11 and include_ends=True\n", + "After filtering, 1281 of 1299 (0.9861431870669746) for android and 1280 of 1298 (0.9861325115562404) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=987 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=987 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 9 of 14 (0.6428571428571429)\n", + "START_END: After filtering the merged dataframe, retained 23 of 25 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1283, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1315\n", + "After merging, found 1190 / 1315 of android 1299 (0.9160892994611239), ios 1298 (0.9167950693374423)\n", + "Validated tf, stats are {'coverage_density': 0.904353145258762, 'coverage_time': 0.9887087747744953, 'coverage_max_gap': 0.05243728321248284}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1331, len(filtered_loc_df_b)=964\n", + "After filtering, retained 1289 of 1299 (0.9923017705927637)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=17, ios: len(unfiltered_loc_b_df)=987 -> len(loc_df_b)=7\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1371 -> len(loc_df_a)=23, ios: len(unfiltered_loc_b_df)=987 -> len(loc_df_b)=16\n", + "START_END: After filtering the merged dataframe, retained 9 of 14 (0.6428571428571429)\n", + "START_END: After filtering the merged dataframe, retained 23 of 25 (0.92)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=9, len(initial_reference_gpdf)=1289, len(end_initial_ends_gpdf)=23\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1321\n", + "Validated ct, stats are {'coverage_density': 1.0039079872998526, 'coverage_time': 0.9940284991583703, 'coverage_max_gap': 0.006079685010142938}\n", + "max_gap for tf = 0.05243728321248284 > ct = 0.006079685010142938 and density 0.904353145258762 < 1.0039079872998526, returning ct len = 1321 not tf len = 1190\n", + "Considering entry berkeley_to_mtv_SF_express_bus express_bus 11 and include_ends=True\n", + "After filtering, 2158 of 2158 (1.0) for android and 2124 of 2129 (0.9976514795678723) for ios\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2198 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=1840 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2198 -> len(loc_df_a)=49, ios: len(unfiltered_loc_b_df)=1840 -> len(loc_df_b)=47\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 14 of 68 (0.20588235294117646)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=2158, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=2180\n", + "After merging, found 1885 / 2180 of android 2158 (0.8734939759036144), ios 2129 (0.8853922029121654)\n", + "Validated tf, stats are {'coverage_density': 0.8494597452881215, 'coverage_time': 0.9846522776947191, 'coverage_max_gap': 0.03605134197509269}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2139, len(filtered_loc_df_b)=1783\n", + "After filtering, retained 1973 of 2158 (0.9142724745134384)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2198 -> len(loc_df_a)=10, ios: len(unfiltered_loc_b_df)=1840 -> len(loc_df_b)=10\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2198 -> len(loc_df_a)=49, ios: len(unfiltered_loc_b_df)=1840 -> len(loc_df_b)=47\n", + "START_END: After filtering the merged dataframe, retained 8 of 9 (0.8888888888888888)\n", + "START_END: After filtering the merged dataframe, retained 14 of 68 (0.20588235294117646)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=8, len(initial_reference_gpdf)=1973, len(end_initial_ends_gpdf)=14\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1995\n", + "Validated ct, stats are {'coverage_density': 0.8990303405038739, 'coverage_time': 0.9846522776947191, 'coverage_max_gap': 0.02523593938256488}\n", + "max_gap for tf = 0.03605134197509269 > ct = 0.02523593938256488 and density 0.8494597452881215 < 0.8990303405038739, returning ct len = 1995 not tf len = 1885\n", + "Considering entry berkeley_to_mtv_SF_express_bus walk_downtown_urban_canyon 11 and include_ends=True\n", + "After filtering, 266 of 506 (0.525691699604743) for android and 169 of 495 (0.3414141414141414) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=918 -> len(loc_df_a)=141, ios: len(unfiltered_loc_b_df)=459 -> len(loc_df_b)=107\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=918 -> len(loc_df_a)=111, ios: len(unfiltered_loc_b_df)=459 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 91 of 199 (0.457286432160804)\n", + "START_END: After filtering the merged dataframe, retained 2 of 167 (0.011976047904191617)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=91, len(initial_reference_gpdf)=279, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=372\n", + "After merging, found 293 / 372 of android 506 (0.5790513833992095), ios 495 (0.591919191919192)\n", + "Validated tf, stats are {'coverage_density': 0.48059871006547433, 'coverage_time': 0.7414014230361584, 'coverage_max_gap': 0.16730740077364636}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=666, len(filtered_loc_df_b)=345\n", + "After filtering, retained 272 of 506 (0.5375494071146245)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=918 -> len(loc_df_a)=141, ios: len(unfiltered_loc_b_df)=459 -> len(loc_df_b)=107\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=918 -> len(loc_df_a)=111, ios: len(unfiltered_loc_b_df)=459 -> len(loc_df_b)=7\n", + "START_END: After filtering the merged dataframe, retained 91 of 199 (0.457286432160804)\n", + "START_END: After filtering the merged dataframe, retained 2 of 167 (0.011976047904191617)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=91, len(initial_reference_gpdf)=272, len(end_initial_ends_gpdf)=2\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=365\n", + "Validated ct, stats are {'coverage_density': 0.5986980517880482, 'coverage_time': 0.9562766142258414, 'coverage_max_gap': 0.08529396902185893}\n", + "max_gap for tf = 0.16730740077364636 > ct = 0.08529396902185893 and density 0.48059871006547433 < 0.5986980517880482, returning ct len = 365 not tf len = 293\n", + "Considering entry berkeley_to_mtv_SF_express_bus light_rail_below_above_ground 11 and include_ends=True\n", + "After filtering, 592 of 681 (0.869309838472834) for android and 598 of 682 (0.8768328445747801) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=649 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=420 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=649 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=420 -> len(loc_df_b)=24\n", + "START_END: After filtering the merged dataframe, retained 16 of 23 (0.6956521739130435)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=599, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=615\n", + "After merging, found 375 / 615 of android 681 (0.5506607929515418), ios 682 (0.5498533724340176)\n", + "Validated tf, stats are {'coverage_density': 0.5466934116219831, 'coverage_time': 0.8922036477670766, 'coverage_max_gap': 0.1603634007424484}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=630, len(filtered_loc_df_b)=396\n", + "After filtering, retained 476 of 682 (0.6979472140762464)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=649 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=420 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=649 -> len(loc_df_a)=19, ios: len(unfiltered_loc_b_df)=420 -> len(loc_df_b)=24\n", + "START_END: After filtering the merged dataframe, retained 16 of 23 (0.6956521739130435)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=476, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=492\n", + "Validated ct, stats are {'coverage_density': 0.717261756048042, 'coverage_time': 0.9898795373102043, 'coverage_max_gap': 0.14432706066820356}\n", + "max_gap for tf = 0.1603634007424484 > ct = 0.14432706066820356 and density 0.5466934116219831 < 0.717261756048042, returning ct len = 492 not tf len = 375\n", + "Considering entry berkeley_to_mtv_SF_express_bus commuter_rail_with_tunnels 11 and include_ends=True\n", + "After filtering, 2554 of 3453 (0.7396466840428613) for android and 3174 of 3440 (0.9226744186046512) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2890 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2562 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2890 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=2562 -> len(loc_df_b)=18\n", + "START_END: After filtering the merged dataframe, retained 16 of 20 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=3321, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=3337\n", + "After merging, found 2692 / 3337 of android 3453 (0.7796119316536345), ios 3440 (0.7825581395348837)\n", + "Validated tf, stats are {'coverage_density': 0.7744945443156972, 'coverage_time': 0.9983269200503229, 'coverage_max_gap': 0.04488155605989924}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=2870, len(filtered_loc_df_b)=2544\n", + "After filtering, retained 1460 of 3453 (0.42282073559223865)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=2890 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=2562 -> len(loc_df_b)=0\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=2890 -> len(loc_df_a)=20, ios: len(unfiltered_loc_b_df)=2562 -> len(loc_df_b)=18\n", + "START_END: After filtering the merged dataframe, retained 16 of 20 (0.8)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=0, len(initial_reference_gpdf)=1460, len(end_initial_ends_gpdf)=16\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1476\n", + "Validated ct, stats are {'coverage_density': 0.42464856887443125, 'coverage_time': 0.980201676256902, 'coverage_max_gap': 0.07969353223456467}\n", + "for tf = 0.04488155605989924 v/s ct = 0.07969353223456467, density 0.7744945443156972 v/s 0.42464856887443125, returning tf len = 2692 not cf len = 1476\n", + "Considering entry berkeley_to_mtv_SF_express_bus inner_suburb_downtown_walk 11 and include_ends=True\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After filtering, 1064 of 1067 (0.9971883786316776) for android and 1059 of 1059 (1.0) for ios\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1786 -> len(loc_df_a)=156, ios: len(unfiltered_loc_b_df)=940 -> len(loc_df_b)=79\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1786 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=940 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 103 of 104 (0.9903846153846154)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=103, len(initial_reference_gpdf)=1067, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1170\n", + "After merging, found 1157 / 1170 of android 1067 (1.0843486410496719), ios 1059 (1.0925401322001889)\n", + "Validated tf, stats are {'coverage_density': 0.9861021985641916, 'coverage_time': 0.9912159524028995, 'coverage_max_gap': 0.0034091692258053294}\n", + "MATCH TRAJECTORY: len(filtered_loc_df_a)=1630, len(filtered_loc_df_b)=859\n", + "After filtering, retained 1059 of 1067 (0.9925023430178069)\n", + "START_END: for threshold 25, before merging, for key start_loc, android: len(unfiltered_loc_a_df)=1786 -> len(loc_df_a)=156, ios: len(unfiltered_loc_b_df)=940 -> len(loc_df_b)=79\n", + "START_END: for threshold 25, before merging, for key end_loc, android: len(unfiltered_loc_a_df)=1786 -> len(loc_df_a)=0, ios: len(unfiltered_loc_b_df)=940 -> len(loc_df_b)=2\n", + "START_END: After filtering the merged dataframe, retained 103 of 104 (0.9903846153846154)\n", + "CONCAT: include_ends=True, before concatenating len(start_initial_ends_gpdf)=103, len(initial_reference_gpdf)=1059, len(end_initial_ends_gpdf)=0\n", + "CONCAT: include_ends=True, after concatenating len(initial_reference_gpdf)=1162\n", + "Validated ct, stats are {'coverage_density': 0.9903636600964482, 'coverage_time': 0.9912159524028995, 'coverage_max_gap': 0.002556876919353997}\n", + "max_gap for tf = 0.0034091692258053294 > ct = 0.002556876919353997 and density 0.9861021985641916 < 0.9903636600964482, returning ct len = 1162 not tf len = 1157\n" + ] + } + ], + "source": [ + "%%capture --no-stdout\n", + "ref_tree_with_ends = {}\n", + "get_reference_trajectory_tree(pv_la, ref_tree_with_ends, include_ends=True)\n", + "get_reference_trajectory_tree(pv_sj, ref_tree_with_ends, include_ends=True)\n", + "get_reference_trajectory_tree(pv_ucb, ref_tree_with_ends, include_ends=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "# broken_e = ref_tree_with_ends[\"unimodal_trip_car_bike_mtv_la\"][\"suburb_city_driving_weekend/suburb_city_driving_weekend_0\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "# importlib.reload(emr)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# emr.final_ref_ensemble(broken_e, include_ends=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working with timeline unimodal_trip_car_bike_mtv_la\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_0\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_0\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_1\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_1\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_2\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_2\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_3\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_3\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_4\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_4\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_city_driving_weekend/suburb_city_driving_weekend_5\n", + "Saving data to file bin/data/unimodal_trip_car_bike_mtv_la/with_ends/suburb_bicycling/suburb_bicycling_5\n", + "Working with timeline car_scooter_brex_san_jose\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_0\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_1\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_2\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_3\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_4\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_5\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/freeway_driving_weekday/freeway_driving_weekday_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_escooter_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/city_bus_rapid_transit_6\n", + "Saving data to file bin/data/car_scooter_brex_san_jose/with_ends/bus trip with e-scooter access/walk_back_from_bus_6\n", + "Working with timeline train_bus_ebike_mtv_ucb\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_0\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_1\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_2\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_3\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_4\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_5\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_6\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_7\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_8\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_9\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_10\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_caltrain_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/commuter_rail_aboveground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/subway_underground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/walk_to_bus_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/mtv_to_berkeley_sf_bart/city_bus_short_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/walk_urban_university/walk_urban_university_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk to the bikeshare location_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/ebike_bikeshare_urban_long_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/express_bus_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/walk_downtown_urban_canyon_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/light_rail_below_above_ground_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/commuter_rail_with_tunnels_11\n", + "Saving data to file bin/data/train_bus_ebike_mtv_ucb/with_ends/berkeley_to_mtv_SF_express_bus/inner_suburb_downtown_walk_11\n" + ] + } + ], + "source": [ + "save_ref_tree(ref_tree_with_ends, include_ends=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'ref_tree' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mref_tree\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"train_bus_ebike_mtv_ucb\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"mtv_to_berkeley_sf_bart/walk_to_bus_11\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'temporal_control'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'android'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'location_df'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mref_tree\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"train_bus_ebike_mtv_ucb\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"mtv_to_berkeley_sf_bart/walk_to_bus_11\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'temporal_control'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'ios'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'location_df'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'ref_tree' is not defined" + ] + } + ], + "source": [ + "(len(ref_tree[\"train_bus_ebike_mtv_ucb\"][\"mtv_to_berkeley_sf_bart/walk_to_bus_11\"]['temporal_control']['android']['location_df']), len(ref_tree[\"train_bus_ebike_mtv_ucb\"][\"mtv_to_berkeley_sf_bart/walk_to_bus_11\"]['temporal_control']['ios']['location_df']))" ] }, {