Skip to content

Commit e651948

Browse files
committed
fix sv_models tests
1 parent 05aa872 commit e651948

2 files changed

Lines changed: 15 additions & 15 deletions

File tree

gnss_lib_py/utils/sv_models.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
import warnings
1010

1111
import numpy as np
12-
from datetime import datetime, timezone, timedelta
1312

1413
import gnss_lib_py.utils.constants as consts
1514
from gnss_lib_py.utils.coordinates import ecef_to_el_az
1615
from gnss_lib_py.parsers.navdata import NavData
17-
from gnss_lib_py.parsers.rinex_nav import get_time_cropped_rinex
18-
from gnss_lib_py.utils.ephemeris_downloader import DEFAULT_EPHEM_PATH
19-
from gnss_lib_py.utils.time_conversions import gps_millis_to_tow, gps_millis_to_datetime
16+
from gnss_lib_py.parsers.rinex_nav import get_time_cropped_rinex, RinexNav
17+
from gnss_lib_py.parsers.rinex_nav import _compute_eccentric_anomaly
18+
from gnss_lib_py.parsers.rinex_nav import _estimate_sv_clock_corr
19+
from gnss_lib_py.utils.ephemeris_downloader import DEFAULT_EPHEM_PATH, load_ephemeris
20+
from gnss_lib_py.utils.time_conversions import gps_millis_to_tow
2021
from gnss_lib_py.parsers.sp3 import Sp3
2122
from gnss_lib_py.parsers.clk import Clk
2223

@@ -169,8 +170,10 @@ def add_visible_svs_for_trajectory(rx_states,
169170
start_millis = gps_millis[0]
170171

171172
# Initialize file with broadcast ephemeris parameters
172-
ephem_all_sats = get_time_cropped_rinex(start_millis, constellations,
173-
ephemeris_path)
173+
rinex_paths = load_ephemeris("rinex_nav",start_millis,constellations,
174+
download_directory=ephemeris_path,
175+
)
176+
ephem_all_sats = RinexNav(rinex_paths)
174177

175178
# Find rows that correspond to receiver positions
176179
rx_rows_to_find = ['x_rx*_m', 'y_rx*_m', 'z_rx*_m']

tests/utils/test_sv_models.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,15 @@ def test_add_visible_svs_for_trajectory(android_gps_l1, ephemeris_path,
324324
# Create list of times and states from android_gps_l1 into an estimate
325325
state_estimate = NavData()
326326
unique_svs = np.unique(android_gps_l1['sv_id'])
327+
unique_gnss_id = list(np.unique(android_gps_l1['gnss_id']))
327328
android_sv = android_gps_l1.where("sv_id", unique_svs[0])
328329
state_estimate['gps_millis'] = android_sv['gps_millis']
329330
state_estimate['x_rx_m'] = android_sv['x_rx_m']
330331
state_estimate['y_rx_m'] = android_sv['y_rx_m']
331332
state_estimate['z_rx_m'] = android_sv['z_rx_m']
332333
sv_posvel_traj = sv_models.add_visible_svs_for_trajectory(state_estimate,
333-
ephemeris_path)
334+
ephemeris_path,
335+
constellations=unique_gnss_id)
334336
# assert that actually received SVs in the given times are a
335337
# subset of those considered visible
336338
true_rows = ['x_sv_m', 'y_sv_m', 'z_sv_m', 'vx_sv_mps', 'vy_sv_mps',
@@ -355,13 +357,6 @@ def test_add_visible_svs_for_trajectory(android_gps_l1, ephemeris_path,
355357
measure_frame_sv[row],
356358
decimal=error_tol_dec['brd_eph'])
357359

358-
# Test same function with None for satellites. No support for non-GPS
359-
# constellations currently and should raise an error
360-
with pytest.warns(RuntimeWarning):
361-
_ = sv_models.add_visible_svs_for_trajectory(state_estimate,
362-
ephemeris_path,
363-
constellations=None)
364-
365360
@pytest.fixture(name="root_path")
366361
def fixture_root_path():
367362
"""Location of measurements for unit test
@@ -581,7 +576,7 @@ def fixture_load_navdata_glonassg1(navdata):
581576

582577
return navdata_glonassg1
583578

584-
def test_compute_gps_precise_eph(navdata_gps, sp3data, clkdata):
579+
def test_compute_gps_precise_eph(navdata_gps, sp3data, clkdata,root_path):
585580
"""Tests that sv_models.single_gnss_from_precise_eph does not fail for GPS
586581
587582
Notes
@@ -604,6 +599,8 @@ def test_compute_gps_precise_eph(navdata_gps, sp3data, clkdata):
604599
clkdata,
605600
verbose=True)
606601

602+
np.testing.assert_array_equal(navdata_gps["sv_id"],navdata_prcs_gps["sv_id"])
603+
607604

608605
# Check if the resulting derived is NavData class
609606
assert isinstance( navdata_prcs_gps, type(NavData()) )

0 commit comments

Comments
 (0)