test_store.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import unittest, sys, os
4 sys.path.insert(0, os.path.abspath(".."))
5 from gnsstk.test_utils import args,run_unit_tests
6 
7 
8 class EllipsoidTests(unittest.TestCase):
9  def test_WGS84(self):
11  self.assertAlmostEqual(299792458.0, e.c())
12  self.assertTrue(issubclass(gnsstk.WGS84Ellipsoid, gnsstk.EllipsoidModel))
13 
14  def test_PZ90(self):
16  self.assertAlmostEqual(6378136.0, p.a())
17  self.assertTrue(issubclass(gnsstk.WGS84Ellipsoid, gnsstk.EllipsoidModel))
18 
19 
20 class URATest(unittest.TestCase):
21  def test(self):
22  self.assertEqual(3, gnsstk.accuracy2ura(5.352))
23  self.assertEqual(15, gnsstk.SV_ACCURACY_GPS_MAX_INDEX_VALUE)
24 
25 
26 class BrcKeplerOrbitTest(unittest.TestCase):
27  def test(self):
28  t1 = gnsstk.CommonTime()
29  t2 = gnsstk.CommonTime()
30  t2.addDays(1)
31  t3 = gnsstk.CommonTime()
32  t3.addSeconds(60)
33  obs = gnsstk.ObsID(gnsstk.ObservationType.Range, gnsstk.CarrierBand.Any, gnsstk.TrackingCode.A)
34  b = gnsstk.BrcKeplerOrbit('GPS', obs, 10, t1, t2, t3,
35  5, True, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
36  0.0, 1.1, 0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 1.3, 0.0)
37  self.assertEqual(1.1, b.getEcc())
38  self.assertEqual(1.2, b.getW())
39  self.assertEqual(1.3, b.getOmegaDot())
40 
41 
42 class AlmOrbitTest(unittest.TestCase):
43  def test(self):
44  a = gnsstk.AlmOrbit(1, 1.0, 2.0, 1.5, 3.0, 0, 0, 50.5, 0, 0, 0, 3000000L, 1, 2)
45  self.assertEqual(0.0, a.getAF0())
46  self.assertEqual(0L, a.getFullWeek())
47  xvt = a.svXvt(a.getTimestamp())
48  self.assertAlmostEqual(-5.285762998073685, xvt.x[0], places=3)
49  self.assertAlmostEqual(-7.928259054425361, xvt.v[1], places=3)
50 
51 
52 class GPSAlmanacStoreTest(unittest.TestCase):
53  def test(self):
54  e = gnsstk.EngAlmanac()
55  suframe = [023222245L, 14111111324L, 4623626L, 33333531536L,
56  4126166634L, 17845L, 6317L, 736162361L, 83163L, 91471L]
57  e.addSubframe(suframe, 1)
58  g = gnsstk.GPSAlmanacStore()
59  g.addAlmanac(e)
60 
61 
62 class GloEphemerisTest(unittest.TestCase):
63  def test_ephemeris(self):
64  g = gnsstk.GloEphemeris()
65  g.setRecord('mySys', 1, gnsstk.CommonTime(), gnsstk.Triple(100, 200, 300),
66  gnsstk.Triple(10, 20, 30), gnsstk.Triple(1, 2, 3),
67  0.0, 0.0, 1, 2, 3, 1.1, 1.0)
68  expected = ("Sys:mySys, PRN:1, Epoch:0000000 00000000 0.000000000000000 UNK, pos:(100, 200, 300), "
69  "vel:(10, 20, 30), acc:(1, 2, 3), TauN:0, GammaN:0, MFTime:1, health:2, freqNum:3, ageOfInfo:1.1")
70  self.assertEqual(expected, str(g))
71 
72 
73 class SP3Test(unittest.TestCase):
74  def test_ephem_store(self):
75  ephem = gnsstk.SP3EphemerisStore()
76  ephem.rejectBadPositions(True)
77  ephem.rejectBadClocks(True)
78  ephem.loadFile( gnsstk.data.full_path("sp3_data.txt") )
79  t = ephem.getInitialTime()
80  t.addSeconds(60*120) # 2 hours into data
81  s = gnsstk.SatID(1)
82  p = ephem.getPosition(s, t)
83  self.assertAlmostEqual(17359099.884999998, p[0])
84  self.assertAlmostEqual(-483028.55, p[1])
85  self.assertAlmostEqual(-19921938.297000002, p[2])
86 
87  def test_stream(self):
88  header, data = gnsstk.readSP3( gnsstk.data.full_path('sp3_data.txt'), strict=True)
89  self.assertEqual(' IGS', header.agency)
90  self.assertEqual(96, header.numberOfEpochs)
91  dataPoint = data[15]
92  self.assertEqual('P', dataPoint.RecType)
93  # Checking length of typemap conversions for the arrays->lists
94  self.assertEqual(3, len(dataPoint.x))
95  self.assertEqual(4, len(dataPoint.sig))
96  self.assertEqual(6, len(dataPoint.correlation))
97  self.assertEqual(-20622.832361, dataPoint.x[0])
98  self.assertEqual(0, dataPoint.sdev[0])
99 
100 
101 class SEMTest(unittest.TestCase):
102  def test_stream(self):
103  header, gen = gnsstk.readSEM( gnsstk.data.full_path('sem_data.txt') )
104  data = list(gen)
105  self.assertEqual(31, len(data))
106 
108  header, data = gnsstk.readSEM( gnsstk.data.full_path('sem_data.txt') , strict=True)
109  self.assertEqual(724, header.week)
110  self.assertEqual(405504L, header.Toa)
111  self.assertEqual(31, len(data))
112  dataPoint = data[15]
113  self.assertEqual(16, dataPoint.PRN)
114  self.assertAlmostEqual(0.00711489, dataPoint.ecc)
115 
117  s = gnsstk.SEMAlmanacStore()
118  s.loadFile( gnsstk.data.full_path('sem_data.txt') )
119  expected = ('x:(1.33149e+06, 1.54299e+07, -2.15873e+07), '
120  'v:(-2620.86, 793.126, 415.074), '
121  'clk bias:4.75373e-05, clk drift:0, relcorr:0')
122  actual = str(s.getXvt(gnsstk.SatID(1), s.getInitialTime()))
123  self.assertEqual(expected, actual)
124 
125 
126 class YumaTest(unittest.TestCase):
127  def test_stream(self):
128  header, gen = gnsstk.readYuma( gnsstk.data.full_path('yuma_data.txt') )
129  data = list(gen)
130  self.assertEqual(30, len(data))
131 
132  def test_stream_lazy(self):
133  header, data = gnsstk.readYuma( gnsstk.data.full_path('yuma_data.txt') , strict=True)
134  self.assertEqual(30, len(data))
135  dataPoint = data[10]
136  self.assertAlmostEqual(0.0, dataPoint.AF1)
137  self.assertEqual(11L, dataPoint.PRN)
138  self.assertAlmostEqual(0.006191730499, dataPoint.ecc)
139  self.assertEqual(377L, dataPoint.week)
140 
141 
142 class Rinex3ObsTest(unittest.TestCase):
143  def test_stream(self):
144  header, data = gnsstk.readRinex3Obs( gnsstk.data.full_path('rinex2obs_data.txt') , strict=True)
145  self.assertEqual(0L, header.numSVs)
146  self.assertEqual('NATIONAL IMAGERY AND MAPPING AGENCY', header.agency)
147  self.assertEqual(120, len(data))
148  dataPoint = data[0]
149  datum = dataPoint.getObs(gnsstk.SatID(4), header.getObsIndex("C1"))
150  self.assertAlmostEqual(24236698.057, datum.data)
151  self.assertEqual(0, dataPoint.clockOffset)
152  expectedTime = gnsstk.CommonTime()
153  expectedTime.set(2453167)
154  expectedTime.setTimeSystem(gnsstk.TimeSystem(gnsstk.TimeSystem.GPS))
155  self.assertEqual(expectedTime, dataPoint.time)
156 
157  def test_stream_lazy(self):
158  header, gen = gnsstk.readRinex3Obs( gnsstk.data.full_path('rinex2obs_data.txt') , strict=False)
159  data = list(gen)
160  self.assertEqual(120, len(data))
161 
162 
163 class Rinex3NavTest(unittest.TestCase):
164  def test_stream(self):
165  header, data = gnsstk.readRinex3Nav( gnsstk.data.full_path('rinex2nav_data.txt') , strict=True)
166  self.assertEqual('06/10/2004 00:00:26', header.date)
167  self.assertEqual(166, len(data))
168  dataPoint = data[165]
169  self.assertAlmostEqual(5153.72985268, dataPoint.Ahalf)
170  self.assertEqual(432000.0, dataPoint.Toc)
171 
172  # checks converstion to Engineering ephemeris and getting a xvt from it
173  eng = dataPoint.toEngEphemeris()
174  xvt = eng.svXvt(eng.getTransmitTime())
175  self.assertAlmostEqual(4793694.728073199, xvt.x[0])
176  self.assertAlmostEqual(2028.248716131878, xvt.v[1])
177 
178 
179 class RinexMetTest(unittest.TestCase):
180  def test_stream(self):
181  header, data = gnsstk.readRinexMet( gnsstk.data.full_path('rinexmet_data.txt'), strict=True)
182  self.assertEqual('06/09/2004 23:58:58', header.date)
183  self.assertEqual(96, len(data))
184  dataPoint = data[95]
185  d = dataPoint.getData()
186  self.assertAlmostEqual(998.3, d[gnsstk.RinexMetHeader.PR])
187  self.assertAlmostEqual(30.8, d[gnsstk.RinexMetHeader.TD])
188 
189 
190 if __name__ == '__main__':
tests.test_store.BrcKeplerOrbitTest.test
def test(self)
Definition: test_store.py:27
tests.test_store.Rinex3ObsTest.test_stream_lazy
def test_stream_lazy(self)
Definition: test_store.py:157
gnsstk::BrcKeplerOrbit
Definition: BrcKeplerOrbit.hpp:81
tests.test_store.SP3Test
Definition: test_store.py:73
tests.test_store.YumaTest
Definition: test_store.py:126
tests.test_store.GPSAlmanacStoreTest.test
def test(self)
Definition: test_store.py:53
gnsstk::SatID
Definition: SatID.hpp:89
tests.test_store.SP3Test.test_ephem_store
def test_ephem_store(self)
Definition: test_store.py:74
tests.test_store.GPSAlmanacStoreTest
Definition: test_store.py:52
tests.test_store.SP3Test.test_stream
def test_stream(self)
Definition: test_store.py:87
tests.test_store.SEMTest.test_stream_strict
def test_stream_strict(self)
Definition: test_store.py:107
gnsstk::Triple
Definition: Triple.hpp:68
tests.test_store.YumaTest.test_stream
def test_stream(self)
Definition: test_store.py:127
gnsstk::WGS84Ellipsoid
Definition: WGS84Ellipsoid.hpp:56
tests.test_store.GloEphemerisTest
Definition: test_store.py:62
tests.test_store.Rinex3ObsTest.test_stream
def test_stream(self)
Definition: test_store.py:143
tests.test_store.URATest
Definition: test_store.py:20
tests.test_store.Rinex3NavTest.test_stream
def test_stream(self)
Definition: test_store.py:164
tests.test_store.GloEphemerisTest.test_ephemeris
def test_ephemeris(self)
Definition: test_store.py:63
gnsstk::EngAlmanac
Definition: EngAlmanac.hpp:71
tests.test_store.YumaTest.test_stream_lazy
def test_stream_lazy(self)
Definition: test_store.py:132
tests.test_store.RinexMetTest
Definition: test_store.py:179
gnsstk::ObsID
Definition: ObsID.hpp:82
tests.test_store.AlmOrbitTest.test
def test(self)
Definition: test_store.py:43
gnsstk::CommonTime
Definition: CommonTime.hpp:84
tests.test_store.RinexMetTest.test_stream
def test_stream(self)
Definition: test_store.py:180
tests.test_store.EllipsoidTests.test_WGS84
def test_WGS84(self)
Definition: test_store.py:9
gnsstk::TimeSystem
TimeSystem
Definition of various time systems.
Definition: TimeSystem.hpp:51
tests.test_store.SEMTest.test_stream
def test_stream(self)
Definition: test_store.py:102
tests.test_store.BrcKeplerOrbitTest
Definition: test_store.py:26
gnsstk::PZ90Ellipsoid
Definition: PZ90Ellipsoid.hpp:54
tests.test_store.URATest.test
def test(self)
Definition: test_store.py:21
tests.test_store.AlmOrbitTest
Definition: test_store.py:42
tests.test_store.Rinex3ObsTest
Definition: test_store.py:142
gnsstk::EllipsoidModel
Definition: EllipsoidModel.hpp:56
tests.test_store.EllipsoidTests
Definition: test_store.py:8
tests.test_store.EllipsoidTests.test_PZ90
def test_PZ90(self)
Definition: test_store.py:14
gnsstk::accuracy2ura
short accuracy2ura(double acc) noexcept
Definition: GPS_URA.hpp:112
tests.test_store.SEMTest.test_almanac_store
def test_almanac_store(self)
Definition: test_store.py:116
tests.test_store.Rinex3NavTest
Definition: test_store.py:163
test_utils.run_unit_tests
def run_unit_tests()
Definition: test_utils.py:51
tests.test_store.SEMTest
Definition: test_store.py:101
gnsstk::AlmOrbit
Definition: AlmOrbit.hpp:59


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41