高程/方位角批量转换为赤道坐标

时间:2012-01-21 09:25:10

标签: python coordinates pyephem

在PyEphem中有没有办法在不使用python循环的情况下有效地将大量明显坐标转换为赤道右上升/下降? 任何提示都表示赞赏,谢谢!

1 个答案:

答案 0 :(得分:1)

您可以隐藏函数内部的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中实现它们以实现真正的矢量工具链方法。无论如何,总有一天,这可能是一个好主意,因为当与pypy结合时numpy变得多快;但是现在PyEphem是C库“libastro”的包装器,它继续被维护和改进,所以PyEphem还没有扩展到实现许多计算本身。