@@ -47,7 +47,7 @@ def grab_arrays_by_trip(df, meters_interval: int):
47
47
def get_speeds_every_interval (
48
48
one_trip_distance_arr ,
49
49
one_trip_timestamp_arr ,
50
- intervaled_distance_cutoffs
50
+ intervaled_distance_cutoffs ,
51
51
):
52
52
53
53
one_trip_speed_series = []
@@ -87,6 +87,8 @@ def grab_arrays_by_trip2(
87
87
88
88
one_trip_distance_arr = getattr (row , "interpolated_distances" )
89
89
one_trip_timestamp_arr = getattr (row , "resampled_timestamps" )
90
+ should_calculate = np .array (getattr (row , "stop_meters_increasing" ))
91
+
90
92
91
93
start_dist = int (np .floor (one_trip_distance_arr ).min ())
92
94
end_dist = int (np .ceil (one_trip_distance_arr ).max ())
@@ -97,26 +99,32 @@ def grab_arrays_by_trip2(
97
99
98
100
elif distance_type == "stop_to_stop" :
99
101
intervaled_distance_cutoffs = getattr (row , intervaled_distance_column_or_meters )
100
-
102
+ #do_not_calculate_indices = np.where(should_calculate == False)[0]
103
+
101
104
speeds_for_trip = get_speeds_every_interval (
102
105
one_trip_distance_arr ,
103
106
one_trip_timestamp_arr ,
104
- intervaled_distance_cutoffs
107
+ intervaled_distance_cutoffs ,
105
108
)
106
- speed_series .append (speeds_for_trip )
107
-
109
+
110
+ #if len(do_not_calculate_indices) > 0:
111
+ # speeds_for_trip[do_not_calculate_indices] = np.nan
112
+
108
113
109
114
if distance_type == "equal_intervals" :
110
115
intervaled_cutoffs .append (intervaled_distance_cutoffs )
111
116
keep_cols = ["intervaled_meters" , "speeds" ]
112
117
elif distance_type == "stop_to_stop" :
113
118
keep_cols = ["speeds" , "stop_sequence" ]
114
-
119
+
120
+ speed_series .append (speeds_for_trip )
121
+
115
122
if distance_type == "equal_intervals" :
116
123
df2 = df .assign (
117
124
intervaled_meters = intervaled_cutoffs ,
118
125
speeds = speed_series
119
126
)
127
+
120
128
elif distance_type == "stop_to_stop" :
121
129
df2 = df .assign (
122
130
speeds = speed_series
@@ -166,7 +174,7 @@ def grab_arrays_by_trip2(
166
174
stop_time_cutoffs = pd .read_parquet (
167
175
f"{ SEGMENT_GCS } stop_times_projected_{ analysis_date } .parquet" ,
168
176
filters = [[("trip_instance_key" , "in" , subset_trips )]],
169
- columns = ["trip_instance_key" , "stop_sequence" , "stop_meters" ]
177
+ columns = ["trip_instance_key" , "stop_sequence" , "stop_meters" , "stop_meters_increasing" ]
170
178
)
171
179
172
180
gdf = pd .merge (
@@ -179,7 +187,7 @@ def grab_arrays_by_trip2(
179
187
results = grab_arrays_by_trip2 (
180
188
gdf ,
181
189
distance_type = "stop_to_stop" ,
182
- intervaled_distance_column_or_meters = "stop_meters"
190
+ intervaled_distance_column_or_meters = "stop_meters" ,
183
191
)
184
192
185
193
results .to_parquet (
0 commit comments