Units in sgp4 orbital calculations

943 Views Asked by At

I'm doing a project to calculate vector positions of a satellite using the package sgp4. Given an input file, it's supposed to spit out a position vector in metres from the centre of the earth. However, in the example given, and in all outputs I have seen, the x, y, and z values are always in the thousands of metres range, which means that the satellites are buried far below the Earth's surface. I have tried on the assumption that they meant kilometres, and on the assumption that they meant from the surface rather than the centre, to no more meaningful results. Does anyone know what the numbers in the position vector represent?

Sample output vector: [5576.056952400586, -3999.371134576452, -1521.9571594376037]

2

There are 2 best solutions below

2
On BEST ANSWER

The units are in kilometers. The python package documents indicating that the units are in meters is incorrect.

Given the mean earth radius is 6371 km, the numbers you show indicate an altitude of about 657 km above the earth's surface. Why don't you believe this is meaningful?

0
On

The SGP4 MATLAB version returns the satellite's state vector in four coordinate systems i.e. TEME, ITRS, GCRS, and TOD. The SGP4 Python version returns the satellite's state vector in three coordinate systems i.e. TEME, ITRS, and GCRS. You can use my Python version of SGP4 from the following link: https://www.researchgate.net/publication/358351066_SGP4_Python_code or you can use my MATLAB version of SGP4 from the following link: https://www.researchgate.net/publication/346217793_SGP4_MATLAB_code