5

The landscape of Python tools that seem to accomplish the task of propagating Earth satellites/celestial bodies is confusing. Depending on what you're trying to do, PyEphem or Python-SGP4 may be more suitable. Which of these should I use if:

  • I want ECEF/ECI coordinates of an Earth satellite
  • I want general sky coordinates of a celestial object
  • Near Earth vs. far away objects
  • Want to use two-line element sets

Do any of these accomplish precise orbit determination? If not, where do I go/what resources are there out there for precise orbit determination?


I kind of know the answers here. For instance, POD is not part of any of these libraries. These computations seem to be very involved. POD for many objects are available from IGS. The main reason I ask is for documentation purposes. I'm not familiar with python-skyfield, but I have a hunch it accomplishes what these other two do. --Brandon Rhodes, I await your expertise :)

Engineero
  • 10,387
  • 3
  • 41
  • 65
Brian
  • 2,912
  • 2
  • 23
  • 36
  • 1
    This may be helpful: [how-to-get-earth-inertial-or-earth-centered-coordinates-of-objects-from-pyephem](http://stackoverflow.com/q/34530288) it looks like Skyfield is exactly what was needed. – uhoh Jan 01 '16 at 12:39
  • 2
    This one has basically been answered, but anyone stumbling on it later may be interested to know that PyEphem and python-skyfield are written by the same person. PyEphem is deprecated; python-skyfield is its successor. I recommend skyfield, it's a very good package – Michael Jun 06 '19 at 21:03
  • Wanted to add on, for anyone in the future: python-SGP4 is also written by the same person, and Skyfield actually draws upon/wraps around SGP4 for its Earth satellite modelling. – 10762409 says Reinstate Monica Oct 08 '19 at 05:51

1 Answers1

0

Michael mentioned it in his comment, but PyEphem I believe is deprecated as of the current Python 3 version. That being said, if you are to use TLEs, SGP4 was made to handle TLEs in particular. The non-keplerian and non-newtonian terms you see in TLEs are specifically passed into the SGP4 propagator (B* drag, second derivative of mean motion, etc.). Once you get outside of Earth neighborhood (beyond GEO), SGP4 is not meant to handle these cases. SGP4 in of itself is inherently a near-earth propagator that does not scale well on an inter-planetary or even cis-lunar regime. In fact, if you are to have both apogee and perigee extend beyond GEO, I would tend to avoid SGP4.

It is important to note that SGP4 outputs things in a TEME frame (true equator mean equinox). This is an inertial frame. If you want ECEF coordinates, you will need to find a package that converts you from inertial to fixed frames. Regardless of whether or not you desired earth-fixed coordinates, I highly recommend making this conversion so you can then convert to your inertial frame of choice.

aaastro
  • 151
  • 6