[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] Inertial to Topocentric coordinate transformation



Le 14/06/2011 13:45, Petrus Hyvönen a écrit :
> Hi,
> 
> This may again be a FAQ, but..
> 
> I'm getting very strange elevations from stations to inertial objects. I
> follow kind of the examples with:
> (note python-code, so view it as pseudo-code.. :)
> 
> ae = 6378137.0 # // equatorial radius in meter (WGS84)
> 
> f = 1.0 / 298.257223563 #; // flattening (WGS84)
> 
> ITRF2005 = FramesFactory.getITRF2005() #; // terrestrial frame at an
> arbitrary date
> 
> earth = OneAxisEllipsoid(ae, f, ITRF2005)
> 
> # Station
> 
> longitude = radians( 21.063)
> 
> latitude = radians(67.878)
> 
> altitude = 341.0
> 
> station1 = GeodeticPoint(latitude, longitude, altitude)
> 
> sta1Frame = TopocentricFrame(earth, station1, "Station")
> 
> 
> Then I setup the propagation (inertial position verified with STK),
> propagate and:
> 
> 
> el_tmp =
> sta1Frame.getElevation(pv.getPosition(),inertialFrame, extrapDate)*180.0/pi
> 
> 
> The result seems to be much too low with no passes above horizon and a
> mean about -42 degrees. Somehow my frames must be mixed up. Any comments
> appriciated.

I don't see any obvious error here. Topocentric frames are really basic
ones, they represent mainly a fixed translation and fixed rotation with
respect to the body frame. All the complex rotation model is handled by
the underlying BodyShape.

As your station is at a really high latitude, your results may be normal
if the orbit has low inclination.

One way to check if things behave correctly would be to draw the
sub-satellite track, by converting the position to the intermediate body
frame and drawing the longitude/latitude plot.

As you seem to have STK available, did you compare the relative position
with respect to station with what Orekit computes ?

Luc

> 
> 
> /Petrus
> 
>