[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orekit Developers] Question about verification of TLE using Orekit9.0
Hi,
I am a newer of Orekit9.0. My name is Rongwang Li. It is amazing for me, so
powerful.
Now, I have a question about the verification of TLE. The orbital elements do
NOT match.
For example (from the file "SGP4-VER.TLE"):
1 00005U 58002B 00179.78495062 .00000023 00000-0 28098-4 0 4753
2 00005 34.2682 348.7242 1859667 331.7664 19.3264 10.82419157413667 0.00
4320.0 360.00
The ref output is as following (see the file "tjavaver.out.ref" for details):
5 xx
0.00000000 7022.46529266 -1400.08296755 0.03995155
1.893841015 6.405893759 4.534807250
360.00000000 -7154.03120202 -3783.17682504 -3536.19412294
4.741887409 -4.151817765 -2.093935425 8635.348839 0.185684 34.26805
347.97998 332.85719 252.46822 273.52846
.....
What I get is:
5 xx
0.00000000 7022.46529267 -1400.08296755 0.03995155
1.893841015 6.405893759 4.534807250
360.00000000 -7154.03120202 -3783.17682504 -3536.19412294
4.741887409 -4.151817765 -2.093935425 8635.348829 0.185684 34.26905
347.97553 332.85501 252.46822 273.52846
We can see that the position and velocity in TEME do match, but the orbital
elements do NOT match exactly. What's the problem with it?
The following code is what I used in step handler,
PVCoordinates pv = state.getPVCoordinates(FramesFactory.getEME2000());
Orbit orbit = new CartesianOrbit(pv, FramesFactory.getEME2000(),
state.getDate(), Constants.WGS84_EARTH_MU);
KeplerianOrbit keplerianOrbit = (KeplerianOrbit)
OrbitType.KEPLERIAN.convertType(orbit);
out.print(String.format("%15.6f %8.6f %10.5f %10.5f %10.5f %10.5f %10.5f",
keplerianOrbit.getA() / 1000.0, keplerianOrbit.getE(),
FastMath.toDegrees(keplerianOrbit.getI()),
FastMath.toDegrees(MathUtils
.normalizeAngle(keplerianOrbit.getRightAscensionOfAscendingNode(),
FastMath.PI)),
FastMath.toDegrees(
MathUtils.normalizeAngle(keplerianOrbit.getPerigeeArgument(), FastMath.PI)),
FastMath.toDegrees(MathUtils.normalizeAngle(keplerianOrbit.getTrueAnomaly(),
FastMath.PI)),
FastMath.toDegrees(
MathUtils.normalizeAngle(keplerianOrbit.getMeanAnomaly(),
FastMath.PI))));
Best regards!
Rongwang Li