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

RE: Re: [Orekit Users] transformation



Dear all,

I have a question about the altitude considered inside Orekit.
When I create a point with "new GeodeticPoint(lon, lat, alt)", what is the altitude to enter? Is it with respect to the sea, or with respect to the geoid? Or even something else?
While propagating the trajectory, I also use the function "getAltitude" and I have the same question about this. What type of altitude does it return?
Thank you for your help.

Vincent



-----Original Message-----
From: MAISONOBE Luc [mailto:luc.maisonobe@c-s.fr] 
Sent: 09 October 2011 21:38
To: Martin
Cc: orekit-users@orekit.org
Subject: Re: Re: [Orekit Users] transformation

Martin <martin.spel@rtech.fr> a écrit :

> Dear Luc, thank you very much for the idea.
> It is giving the same results as something we were doing before, but this is
> more elegant.
> For anybody interested, the velocity vector in the ENU frame is build as:
>
> 	//velocity expressed in ENU referential
> 	double cosI = Math.cos(inclinationAngleRad);
> 	double sinI = Math.sin(inclinationAngleRad);
> 	double cosFPA = Math.cos(pFlightPathAngleRad);
> 	double sinFPA = Math.sin(pFlightPathAngleRad);
> 	double vE = pVelocity * cosI* cosFPA + relativeVelocity.getX();
> 	double vN = pVelocity * sinI* cosFPA;
> 	double vU = pVelocity * sinFPA;
>
> The main issue we had is that this gives an orbit with an inclination in the
> earth fixed frame. Plotting orbit->getI() gives a different  
> inclination due to
> the east component being different in the inertial frame. The problem is that
> in the input we have velocity and FPA being relative, and inclination in the
> inertial. We now solved the problem by only allowing all parameters to be
> either in the earth fixed frame or in the inertial frame. No more mixing!
>
> One more question: defining an equatorial orbit going westward seems  
> to pose a
> problem. I'm getting errors that the minimum step size is reached. Is this a
> known issue?

Yes, perfectly equatorial orbits that are also retrograde cannot be  
represented with the current implementation of EquinoctialOrbit. There  
is an extension of EquinoctialOrbits that can handle retrograde  
equatorial orbits, but it is not in Orekit yet (it will be in the  
future). Meanwhile, if you use the current development version of  
Orekit from the Git source repository, you can use the numerical  
propagator with any orbit types, including Cartesian. Up to Orekit  
5.x, numerical propagation always used EquinoctialOrbit internally, so  
you hit the retrograde/equatorial problem.

The development version of Orekit depends on the development version  
of Apache Commons Math, and will be released only when Apache Commons  
Math 3.0 will be released, and this as not yet been decided.

So if you must have equatorial retrograde orbits, you must use both  
development versions. If you can use only released versions, you will  
not be able to handle equatorial retrograde orbits. I'm sorry about  
this.

best regards
Luc

>
> Kind regards,
>
> Martin
>
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.