40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
|
||
|
import unittest
|
||
|
from mroipac.geolocate.Geolocate import Geolocate
|
||
|
from isceobj.Planet.Planet import Planet
|
||
|
|
||
|
class test_geolocate(unittest.TestCase):
|
||
|
|
||
|
def setUp(self):
|
||
|
# These are the state vectors for ERS-1 track 113 frame 2745 from 1993 01 09 near the scene start time
|
||
|
self.pos = [-2503782.263,-4652987.799,4829281.081]
|
||
|
self.vel = [-4002.34200000018,-3450.91900000069,-5392.36600000039]
|
||
|
self.range = 831929.866545593
|
||
|
self.squint = 0.298143953340833
|
||
|
planet = Planet(pname='Earth')
|
||
|
|
||
|
self.geolocate = Geolocate()
|
||
|
self.geolocate.wireInputPort(name='planet',object=planet)
|
||
|
|
||
|
def tearDown(self):
|
||
|
pass
|
||
|
|
||
|
def testGeolocate(self):
|
||
|
ans = [42.457487,-121.276432]
|
||
|
|
||
|
loc,lla,lia = self.geolocate.geolocate(self.pos,self.vel,self.range,self.squint)
|
||
|
|
||
|
lat = loc.getLatitude()
|
||
|
lon = loc.getLongitude()
|
||
|
self.assertAlmostEquals(lat,ans[0],5)
|
||
|
self.assertAlmostEquals(lon,ans[1],5)
|
||
|
|
||
|
def testLookAngle(self):
|
||
|
ans = 17.2150393
|
||
|
loc,lla,lia = self.geolocate.geolocate(self.pos,self.vel,self.range,self.squint)
|
||
|
|
||
|
self.assertAlmostEquals(lla,ans,5)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|