[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re: [Orekit Users] transformation
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?
Kind regards,
Martin