コード例 #1
0
    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])
コード例 #2
0
ファイル: test_nav_class.py プロジェクト: kirienko/pylgrim
    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])
コード例 #3
0
ファイル: test_parse_rinex.py プロジェクト: kirienko/pylgrim
    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)
コード例 #4
0
ファイル: test_nav_class.py プロジェクト: kirienko/pylgrim
 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]
コード例 #5
0
 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]
コード例 #6
0
 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
コード例 #7
0
    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)
コード例 #8
0
    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])
コード例 #9
0
ファイル: test_least_squares.py プロジェクト: sayr777/pylgrim
 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
コード例 #10
0
 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]
コード例 #11
0
 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)
コード例 #12
0
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,
コード例 #13
0
ファイル: gope_2016_jan_01.py プロジェクト: kirienko/pylgrim
"""
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)