7

I have never used pyephem before, and I'm not expert in satellite positioning. I'd like to exploit pyephem to calculate the position of a satellite using TLE. I have to do something very easy, like that:

tle=["ISS (ZARYA)","1 25544U 98067A   03097.78853147  .00021906  00000-0  28403-3 0  8652","2 25544  51.6361  13.7980 0004256  35.6671  59.2566 15.58778559250029"]
iss = ephem.readtle(*tle)
observer = ephem.Observer()
observer.lon, observer.lat = ('-84.39733', '33.775867')     
observer.date = ephem.Date('2002/4/23 10:10:00.000')
iss.compute(observer)
print iss.alt, iss.az, iss.range

-40:06:46.3 199:08:24.3 8834968.0

These three variables provide the position of the satellite in the horizion reference system. It's not clear for me how pyephem calculates this values. I've read the reference guide: http://rhodesmill.org/pyephem/radec

Reading the document, it seems that pyephem applies the precession and the nutation, but in the last two line of the document it says:

"Note that no precession was applied to either of the final two sets of coordinates, but only to the first. This means that only the “Astrometric” position will correspond to the lines in your star atlas. The other positions are what are called “epoch-of-date” coordinates, and are measured off of the orientation of the celestial pole and the celestial equator for the very day of the observation itself."

Is the earth precession applied for az and alt?

Moreover I'd like to know what kind of model pyephem uses for precession and nutation (I really need some reference). There is a link to Xephem and libastro, but I can't find anything about the algorithms. Do you have any suggestions?

Thank you very much!

Deleplace
  • 5,559
  • 3
  • 23
  • 33

1 Answers1

2

You can find the various algorithms that PyEphem uses by looking through the various C language files in its libastro directory:

https://github.com/brandon-rhodes/pyephem/tree/master/libastro-3.7.5

But to answer your specific question: precession, aberration, and nutation are effects that are generally only computed for objects outside of the Earth's moving reference frame ­— objects like the Sun, planets, and the distant stars. Since Earth satellites are travelling in our own reference frame, however, I think that libastro generally does a direct comparison between the position of a satellite above the Earth and the position of the observer on the Earth, since these are already coordinates in the same local reference frame.

Brandon Rhodes
  • 69,820
  • 15
  • 101
  • 136