def setUp(self): nav_file = '../../test_data/epgga2.010' navigations = parse_rinex(nav_file) self.t = 346500 # seconds from epoch self.n = navigations['G31'][0] self.right_pos = array([11660.379642, 11313.211213, -21326.822815])
def test_parse_rinex_glo_nav(self): navigations = parse_rinex('../../test_data/log_000.15g') g = navigations['R03'] z1, z2 = sorted([g[0], g[1]], key=lambda x: x.date) t1, t2 = z1.eph[8], z2.eph[8] delta_t = dt.timedelta(seconds=t2-t1) TestCase.assertAlmostEqual(self, delta_t.total_seconds(), 5469.878906, places=10)
def setUp(self): # nav_file = '../../test_data/test.g' nav_file = '../../test_data/log_000.15g' navigations = parse_rinex(nav_file) sats = [k for k, v in navigations.items() if len(v) > 1] # list of possible satellites sat = choice(sats) # choose one satellite randomly print "PRN:",sat self.navs = navigations[sat]
def setUp(self): # nav_file = '../../test_data/test.g' nav_file = '../../test_data/log_000.15g' navigations = parse_rinex(nav_file) sats = [k for k, v in navigations.items() if len(v) > 1] # list of possible satellites sat = choice(sats) # choose one satellite randomly print "PRN:", sat self.navs = navigations[sat]
def setUp(self): self.apriori_coords = [4433070.0, 362070.0, 4556010.0] self.observations = parse_rinex(td_path+'sjdv0100.02o') self.sp3s = parse_sp3(td_path+'igs11484.sp3') self.o = self.observations[29] print self.o.date, "<-- okay, that's it" self.vmf_coeffs = find_VMF_coeffs(td_path+'ah02010.h00', td_path+'aw02010.h00', ecef2lla(self.apriori_coords)) # self.vmf_coeffs = (0.00122794, 0.00046177) print "VMF coefficients:", self.vmf_coeffs
def test_parse_rinex_glo_nav(self): """ Test GLONASS RINEX file """ navigations = parse_rinex('log_000.15g') g = navigations['R03'] z1, z2 = sorted([g[0], g[1]], key=lambda x: x.date) t1, t2 = z1.eph[8], z2.eph[8] delta_t = dt.timedelta(seconds=t2-t1) TestCase.assertAlmostEqual(self, delta_t.total_seconds(), 5469.878906, places=10)
def setUp(self): path = os.getcwd() if not os.path.basename(path) == 'data': os.chdir(os.path.join(path, 'proto', 'tests', 'data')) nav_file = 'epgga2.010' navigations = parse_rinex(nav_file) self.t = 346500 # seconds from epoch self.n = navigations['G31'][0] self.right_pos = array([11660.379642, 11313.211213, -21326.822815])
def setUp(self): self.apriori_coords = [4433070.0, 362070.0, 4556010.0] self.observations = parse_rinex(td_path + 'sjdv0100.02o') self.sp3s = parse_sp3(td_path + 'igs11484.sp3') self.o = self.observations[29] print self.o.date, "<-- okay, that's it" self.vmf_coeffs = find_VMF_coeffs(td_path + 'ah02010.h00', td_path + 'aw02010.h00', ecef2lla(self.apriori_coords)) # self.vmf_coeffs = (0.00122794, 0.00046177) print "VMF coefficients:", self.vmf_coeffs
def setUp(self): path = os.getcwd() if not os.path.basename(path) == 'data': os.chdir(os.path.join(path, 'proto', 'tests', 'data')) nav_file = 'log_000.15g' navigations = parse_rinex(nav_file) sats = [k for k, v in navigations.items() if len(v) > 1] # list of possible satellites sat = choice(sats) # choose one satellite randomly print("PRN: " + sat) self.navs = navigations[sat]
def setUp(self): td_path = os.path.join(os.getcwd(), 'proto', 'tests', 'data') os.chdir(td_path) self.apriori_coords = [4433070.0, 362070.0, 4556010.0] self.observations = parse_rinex('sjdv0100.02o') self.sp3s = parse_sp3('igs11484.sp3') self.o = self.observations[29] print(self.o.date, "<-- okay, that's it") self.vmf_coeffs = find_VMF_coeffs('ah02010.h00', 'aw02010.h00', ecef2lla(self.apriori_coords)) # self.vmf_coeffs = (0.00122794, 0.00046177) print("VMF coefficients:", self.vmf_coeffs)
GOPE = geodetic observatory Pecný: http://www.pecny.cz/gop/index.php/gnss/observations/gope """ from proto.coord.ecef import ecef_to_lat_lon_alt as ecef2lla from proto.helper.vmf import find_VMF_coeffs from proto.parse_rinex import parse_rinex, parse_sp3 from proto.least_squares import least_squares, distance if __name__ == '__main__': home = './' sp3_file = home + 'igs18775.sp3' # <-- GPS # sp3_file = home + 'igl18775.sp3' # <-- GLONASS obs_file = home + 'gope0010.16o.GPS.filtered' # obs_file = home + 'gope0010.16o.GLO.filtered' navs = parse_sp3(sp3_file) obs = parse_rinex(obs_file) zero_epoch = obs[2] print zero_epoch.date a_priori_ecef = [3979316.4389, 1050312.2534, 4857066.9036] # GOPE coordinates in meters coords = ecef2lla(a_priori_ecef) print "A priori coordinates:", coords print "A priori ECEF coords:", a_priori_ecef vmf = find_VMF_coeffs(home + 'VMF_ah16001.h00', home + 'VMF_aw16001.h00', coords) print "VMF1 coefficients: ah = %.7f, aw = %.7f" % vmf for o in obs: final = least_squares(obs=o, navs=navs, init_pos=a_priori_ecef,
""" Here we test the absolute accuracy of our software in static measurements. GOPE = geodetic observatory Pecný: http://www.pecny.cz/gop/index.php/gnss/observations/gope """ from proto.coord.ecef import ecef_to_lat_lon_alt as ecef2lla from proto.helper.vmf import find_VMF_coeffs from proto.parse_rinex import parse_rinex, parse_sp3 from proto.least_squares import least_squares, distance if __name__ == '__main__': home = './' sp3_file = home + 'igs18775.sp3' # <-- GPS # sp3_file = home + 'igl18775.sp3' # <-- GLONASS obs_file = home + 'gope0010.16o.GPS.filtered' # obs_file = home + 'gope0010.16o.GLO.filtered' navs = parse_sp3(sp3_file) obs = parse_rinex(obs_file) zero_epoch = obs[2] print zero_epoch.date a_priori_ecef = [3979316.4389, 1050312.2534, 4857066.9036] # GOPE coordinates in meters coords = ecef2lla(a_priori_ecef) print "A priori coordinates:", coords print "A priori ECEF coords:", a_priori_ecef vmf = find_VMF_coeffs(home+'VMF_ah16001.h00', home+'VMF_aw16001.h00', coords) print "VMF1 coefficients: ah = %.7f, aw = %.7f" % vmf for o in obs: final = least_squares(obs=o, navs=navs, init_pos=a_priori_ecef, vmf_coeffs=vmf) print str(o.date)[11:19], "Accuracy: %.1f m" % distance(a_priori_ecef, final)