Пакетное преобразование высоты / азимута в экваториальные координаты - PullRequest
1 голос
/ 21 января 2012

Есть ли в PyEphem способ эффективно преобразовать большое количество видимых координат в экваториальное прямое восхождение / склонение без использования петли? Любая подсказка оценена, спасибо!

1 Ответ

1 голос
/ 22 января 2012

Вы можете скрыть цикл for внутри функции, чтобы вам не приходилось думать о цикле в основном коде. Или вы могли бы использовать списочное понимание, чтобы переместить цикл внутри выражения, чтобы цикл не должен был выходить на уровне оператора, например, при изменении:

a = [1,2,3]
b = []
for n in a:
    b.append(n*n)

к выражению типа:

a = [1,2,3]
b = [n*n for n in a]

Но, нет, PyEphem не предоставляет свой собственный синтаксис - как библиотека, подобная numpy - для выполнения векторных операций (которые, конечно, всегда находятся в цикле под любым симпатичным синтаксисом сверху).

PyEphem должен был бы перестроить свои вычисления поверх numpy вместо того, чтобы реализовывать их в C для истинного векторного набора инструментов. В любом случае, это может быть хорошей идеей, когда-нибудь, из-за того, как быстро становится numpy в сочетании с pypy; но на данный момент PyEphem является оберткой вокруг библиотеки C «libastro», которая продолжает поддерживаться и улучшаться, поэтому PyEphem еще не развилась в реализации многих вычислений сама.

...