I have never used pyephem before, and I am not an expert in satellite positioning. I would like to use pyephem to calculate satellite position using TLE. I have to do something very simple, for example:
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 of the reference system. I don’t understand how pyephem calculates these values. I read the reference guide: http://rhodesmill.org/pyephem/radec
Reading the document, it seems that pyephem applies precession and nutation, but the last two lines of the document say:
"Please note that the precession was not applied to either of the last 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. They are called" epoch-making "coordinates and are measured from the orientation of the celestial pole and celestial equator on the very day of observation. "
Is earth precession applied to az and alt?
Also, I would like to know which model pyephem uses for precession and nutation (I really need a link). There is a link to Xephem and libastro, but I can not find anything about the algorithms. Do you have any suggestions?
Many thanks!
user1865890
source share