This is my first post in this forum. I’m very new to Java and Orekit, so forgive my “newbie” questions or doubts. I have a simple GNSS simulator, and currently the GPS SVs orbits are defined manually, i.e. I manually import the GPS SVs keplerian parameters (taken from the almanacs) and I use these parameters to define the GPS initial orbits (as KeplerianOrbit). After that, these orbits are propagated through the method shiftedBy(double time). In the last few days, I’ve noticed some problems with the initial position of the GPS SVs. I’ve read on the internet that the keplerian parameters in the almanacs are not expressed in EME2000, but in WGS84 frame. Could you confirm me that, please? If that is true, I am making a mistake in the orbits definition: in fact, when I use the constructor
KeplerianOrbit (double a, double e, double i, double pa, double raan, double anomaly, PositionAngle type, Frame frame, AbsoluteDate date, double mu)
I pass the frame EME2000 as argument. If I pass an ITRF, I get an IllegalArgumentException because the frame is not a
pseudo-inertial frame. Is there a way to create a KeplerianOrbit using an ITRF as frame? I’ve read that it is possible to properly import a GPS almanac and propagate the GPS SVs orbits through the classes YUMAParser, GPSAlmanac and GPSPropagator, but I’d like to use a quicker (even if less accurate) method to solve this problem.
Would any of you be able to help me out?
Thank you very much.