I have an orbital mechanics program that generates CZML files to view in Cesium. When I generate the orbit in FIXED reference frame, it creates it at the correct position for the duration of the orbit. However, when I generate it in INERTIAL frame, and account for the earth’s rotation to make a circular orbit, it creates the orbit at the correct latitudes, but at significantly incorrect longitudes. These differences cannot be accounted for by the Earth’s rotation alone. The two code examples below show what I’m talking about. I’ve also attached screenshots of the respective results.
“position”:{
“interpolationAlgorithm”:“LAGRANGE”,
“interpolationDegree”:5,
“referenceFrame”:“INERTIAL”,
“epoch”:“2023-04-04T01:35:55Z”,
“cartographicDegrees”:[
0,-104.62070119561758,40.405463851514284,414016.96769841877,
300,-86.83038401531519,27.69276575068043,413554.9350013562,
600,-73.00747129088336,13.205420711523281,413624.2931993047,
“position”:{
“interpolationAlgorithm”:“LAGRANGE”,
“interpolationDegree”:5,
“referenceFrame”:“FIXED”,
“epoch”:“2023-04-04T01:35:55Z”,
“cartographicDegrees”:[
0,-104.555747771592,40.3679564039829,414014.5866416233,
300,-88.03685763528847,27.646609549819026,413554.27092801256,
600,-75.47620387533243,13.155570780667745,413625.42105862394,
Using “cartesian” versus “cartographicDegrees” makes no difference and it builds the same orbit in the same, differing locations.
What am I doing incorrectly to generate the orbit at the incorrect locations in the INERTIAL frame? Thanks for the help.