Ejemplo n.º 1
0
 def test_cartesian_geodetic(self):
     a = gpstk.PZ90Ellipsoid().a()
     eccSq = gpstk.PZ90Ellipsoid().eccSquared()
     orig = gpstk.Position(100000.0, 20000.0, 30000.0)
     p = gpstk.Position.convertCartesianToGeodetic(orig, a, eccSq)
     q = gpstk.Position.convertGeodeticToCartesian(p, a, eccSq)
     self.assertAlmostEqual(25.33498527029081, p[0], places=4)
     self.assertAlmostEqual(11.30993247402015, p[1], places=4)
     self.assertAlmostEqual(-6269217.08416736, p[2], places=4)
     self.assertAlmostEqual(99999.26269737557, q[0], places=4)
     self.assertAlmostEqual(19999.85253947465, q[1], places=4)
     self.assertAlmostEqual(29999.83821484564, q[2], places=4)
Ejemplo n.º 2
0
 def test_geocentric_geodetic(self):
     a = gpstk.PZ90Ellipsoid().a()
     eccSq = gpstk.PZ90Ellipsoid().eccSquared()
     orig = gpstk.Position(40.0, 100.0, 2.5e5, gpstk.Position.Geocentric)
     p = gpstk.Position.convertGeocentricToGeodetic(orig, a, eccSq)
     q = gpstk.Position.convertGeodeticToGeocentric(p, a, eccSq)
     self.assertAlmostEqual(44.90696703221949, p[0], places=4)
     self.assertAlmostEqual(100.0, p[1], places=4)
     self.assertAlmostEqual(-6118405.153409380, p[2], places=4)
     self.assertAlmostEqual(40.00000265961031, q[0], places=4)
     self.assertAlmostEqual(100.0, q[1], places=4)
     self.assertAlmostEqual(249998.49546297366, q[2], places=4)
Ejemplo n.º 3
0
 def test_helpers(self):
     p = gpstk.cartesian(100, 200, 300)
     self.assertEqual(gpstk.Position.Cartesian, p.getCoordinateSystem())
     p = gpstk.spherical(45, 60, 100000, model=gpstk.PZ90Ellipsoid())
     self.assertEqual(gpstk.Position.Spherical, p.getCoordinateSystem())
     p = gpstk.geodetic(frame=gpstk.ReferenceFrame('WGS84'))
     self.assertEqual(gpstk.Position.Geodetic, p.getCoordinateSystem())
     p = gpstk.geocentric(latitude=60, radius=10000)
     self.assertEqual(gpstk.Position.Geocentric, p.getCoordinateSystem())
Ejemplo n.º 4
0
 def test_functions(self):
     system = gpstk.Position.Cartesian
     ell = gpstk.PZ90Ellipsoid()
     frame = gpstk.ReferenceFrame(gpstk.ReferenceFrame.PZ90)
     p = gpstk.Position(10000.0, 150000.0, 200000.0, system, ell, frame)
     q = gpstk.Position(20000.0, 160000.0, 190000.0, system, ell, frame)
     self.assertAlmostEqual(1.32756277187, q.elevation(p))
     self.assertAlmostEqual(86.18592516570916, p.getPhi())
     self.assertAlmostEqual(57.5141089193572, p.geodeticLatitude())
     self.assertAlmostEqual(10000.0, p.X())
Ejemplo n.º 5
0
 def test_PZ90(self):
     p = gpstk.PZ90Ellipsoid()
     self.assertAlmostEqual(6378136.0, p.a())
     self.assertTrue(issubclass(gpstk.WGS84Ellipsoid, gpstk.EllipsoidModel))