def test_nav_vs_orbit__old(self): dog_orbit = AstroDog(pull_orbit=True) dog_nav = AstroDog(pull_orbit=False) for gps_time in gps_times: for svId in svIds: sat_info_nav = dog_nav.get_sat_info(svId, gps_time) assert sat_info_nav is not None sat_info_orbit = dog_orbit.get_sat_info(svId, gps_time) assert sat_info_orbit is not None dog_orbit.get_delay( svId, gps_time, np.array([-2703115.2660, -4291768.3500, 3854247.9590])) np.testing.assert_allclose(sat_info_nav[0], sat_info_orbit[0], rtol=0, atol=5) np.testing.assert_allclose(sat_info_nav[1], sat_info_orbit[1], rtol=0, atol=.1) np.testing.assert_allclose(sat_info_nav[2], sat_info_orbit[2], rtol=0, atol=1e-7) np.testing.assert_allclose(sat_info_nav[3], sat_info_orbit[3], rtol=0, atol=1e-11)
def test_nav_vs_orbit__old(self): dog_orbit = AstroDog(pull_orbit=True) dog_nav = AstroDog(pull_orbit=False) for gps_time in gps_times: for svId in svIds: sat_info_nav = dog_nav.get_sat_info(svId, gps_time) sat_info_orbit = dog_orbit.get_sat_info(svId, gps_time) np.testing.assert_allclose(sat_info_nav[0], sat_info_orbit[0], rtol=0, atol=5) np.testing.assert_allclose(sat_info_nav[1], sat_info_orbit[1], rtol=0, atol=.1) np.testing.assert_allclose(sat_info_nav[2], sat_info_orbit[2], rtol=0, atol=1e-7) np.testing.assert_allclose(sat_info_nav[3], sat_info_orbit[3], rtol=0, atol=1e-11)
def test_no_block_satellite_when_get_info_from_not_available_period(self): '''If you first fetch satellite info from period when navigation data isn't available and next from period when navigation data are available then you should get correct result''' prn = "C03" constellations = ["GPS", "BEIDOU"] available_date = GPSTime.from_datetime(datetime(2020, 5, 1, 12, 0)) not_available_date = GPSTime.from_datetime(datetime(2000, 1, 1)) dog = AstroDog(valid_const=constellations) sat_info = dog.get_sat_info(prn, not_available_date) self.assertIsNone(sat_info) sat_info = dog.get_sat_info(prn, available_date) self.assertIsNotNone(sat_info)
from laika.lib.coordinates import ecef2geodetic, geodetic2ecef import numpy as np import seaborn as sns from laika import AstroDog constellations = ['GPS'] dog = AstroDog(valid_const=constellations) from datetime import datetime from laika.gps_time import GPSTime time = GPSTime(1946, 222803) sat_prn = 'G02' sat_pos, sat_vel, sat_clock_err, sat_clock_drift = dog.get_sat_info( sat_prn, time) print("Sattelite's position in ecef(m) : \n", sat_pos, '\n') print("Sattelite's velocity in ecef(m/s) : \n", sat_vel, '\n') print("Sattelite's clock error(s) : \n", sat_clock_err, '\n\n') time = GPSTime(1946, 222804) sat_prn = 'G06' sat_pos, sat_vel, sat_clock_err, sat_clock_drift = dog.get_sat_info( sat_prn, time) print("Sattelite's position in ecef(m) : \n", sat_pos, '\n') print("Sattelite's velocity in ecef(m/s) : \n", sat_vel, '\n') print("Sattelite's clock error(s) : \n", sat_clock_err, '\n\n') time = GPSTime(1946, 222805) sat_prn = 'G12' sat_pos, sat_vel, sat_clock_err, sat_clock_drift = dog.get_sat_info( sat_prn, time)