From 2665a2a4184d55409ad46897045376de9c0057b8 Mon Sep 17 00:00:00 2001 From: "K. Shankari" Date: Tue, 3 Jun 2025 09:51:51 -0700 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20=20Read=20multiple=20ground?= =?UTF-8?q?=20truth=20options=20(across=20time)=20correctly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There were issues with reading ground truth properly when there were multiple versions of the ground truth over time. This fixes that. --- emeval/input/spec_details.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) 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): From c638de28cb1bacbd5f6a0481269e7cdb846f532e Mon Sep 17 00:00:00 2001 From: "K. Shankari" Date: Tue, 3 Jun 2025 09:53:56 -0700 Subject: [PATCH 2/3] Support reference trajectories for the ends as well We do not have ground truth in the "end" polygons, so we need to use one of the other approaches that match the two control trajectories to generate those reference trajectories. This supports generating reference trajectories with and without the ends This was used to generate https://github.com/MobilityNet/mobilitynet-analysis-scripts/commit/d2c1225deff615af3ab3faf5e18f7faea4c6f23b --- emeval/metrics/reference_trajectory.py | 152 ++++++++++++++++++++++--- 1 file changed, 136 insertions(+), 16 deletions(-) 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" % From c434adc357e4c70125b84ae356d57a39566d10b8 Mon Sep 17 00:00:00 2001 From: "K. Shankari" Date: Tue, 3 Jun 2025 09:57:32 -0700 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=92=A9=20Generating=20the=20reference?= =?UTF-8?q?=20trajectories=20as=20csv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So they can be checked in. This notebook includes outputs, which is bad, but at least shows how it is supposed to work. We should change this to remove the outputs before finalizing. --- trajectory_evaluation_spatio_temporal.ipynb | 12002 +++++++++++++++++- 1 file changed, 11975 insertions(+), 27 deletions(-) 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']))" ] }, {