Skip to content

Commit de2c26f

Browse files
Merge pull request #67 from Stanford-NavLab/derek/navdata-updates
Derek/navdata updates
2 parents ae6b1ae + a17d339 commit de2c26f

11 files changed

Lines changed: 1597 additions & 528 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
names,integers,floats,strings
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
names,integers,floats,strings
2-
ab,10,0.5,gps
2+
ab,10,0.5,NaN
33
cde,2,nan,glonass
44
alpha,45,0.3,galileo
55
epsilon,67,0.99,gps
6-
gamma,nan,0.45,gps
6+
nan,nan,0.45,gps
77
xyzuvw,300,0.74,galileo

gnss_lib_py/algorithms/snapshot.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,9 @@ def solve_wls(measurements, weight_type = None,
5151
5252
"""
5353

54-
if "x_sv_m" not in measurements.rows:
55-
raise KeyError("x_sv_m (ECEF x position of sv) missing.")
56-
if "y_sv_m" not in measurements.rows:
57-
raise KeyError("y_sv_m (ECEF y position of sv) missing.")
58-
if "z_sv_m" not in measurements.rows:
59-
raise KeyError("z_sv_m (ECEF z position of sv) missing.")
60-
if "b_sv_m" not in measurements.rows:
61-
raise KeyError("b_sv_m (clock bias of sv) missing.")
54+
# check that all necessary rows exist
55+
measurements.in_rows(["x_sv_m","y_sv_m","z_sv_m","b_sv_m",
56+
"gps_millis"])
6257

6358
unique_timesteps = np.unique(measurements["gps_millis",:])
6459

gnss_lib_py/parsers/android.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,18 @@ def __init__(self, input_path, remove_timing_outliers=True):
4747
derived_timestamps = pd_df['millisSinceGpsEpoch'].unique()
4848
indexes = np.searchsorted(derived_timestamps, derived_timestamps)
4949
map_derived_time_back = dict(zip(derived_timestamps, derived_timestamps[indexes-1]))
50-
pd_df['millisSinceGpsEpoch'] = np.array(list(map(lambda v: map_derived_time_back[v], pd_df['millisSinceGpsEpoch'])))
51-
50+
pd_df['millisSinceGpsEpoch'] = np.array(list(map(lambda v: map_derived_time_back[v],
51+
pd_df['millisSinceGpsEpoch'])))
5252

5353
# Correction 5 implemented verbatim from competition tips
5454
if remove_timing_outliers:
5555
delta_millis = pd_df['millisSinceGpsEpoch'] - pd_df['receivedSvTimeInGpsNanos'] / 1e6
5656
where_good_signals = (delta_millis > 0) & (delta_millis < 300)
5757
pd_df = pd_df[where_good_signals].copy()
58+
if np.all(~where_good_signals):
59+
warnings.warn("All data removed due to timing outliers,"
60+
+ " try setting remove_timing_outliers to"
61+
+ " False", RuntimeWarning)
5862

5963
super().__init__(pandas_df=pd_df)
6064

0 commit comments

Comments
 (0)