Я никогда раньше не пользовался pyephem и не разбираюсь в спутниковом позиционировании. Я хотел бы использовать pyephem для расчета положения спутника с использованием TLE. Мне нужно сделать что-то очень простое, например:
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
Эти три переменные обеспечивают положение спутника в системе отсчета горизонта. Мне непонятно, как pyephem вычисляет эти значения. Я прочитал справочное руководство: http://rhodesmill.org/pyephem/radec.
Читая документ, кажется, что pyephem применяет прецессию и нутацию, но в последних двух строках документа говорится:
«Обратите внимание, что прецессия не применялась ни к одному из последних двух наборов координат, а только к первому. Это означает, что только «астрометрическая» позиция будет соответствовать линиям в вашем звездном атласе. Остальные позиции — это то, что называется « координаты эпохи» и отсчитываются от ориентации небесного полюса и небесного экватора на день самого наблюдения».
Применяется ли земная прецессия для az и alt?
Кроме того, я хотел бы знать, какую модель pyephem использует для прецессии и нутации (мне действительно нужна ссылка). Есть ссылка на Xephem и libastro, но про алгоритмы ничего не могу найти. У Вас есть какие-то предложения?
Большое спасибо!