高程/方位角批量转换为赤道坐标
有没有办法在PyEphem中高效地将大量的视坐标转换为赤道坐标系的右升角和 declination,而不使用Python的循环?任何提示都很感谢,谢谢!
1 个回答
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 语言来实现。其实这也许是个不错的主意,因为当 numpy 和 pypy 结合时,速度变得非常快;但目前 PyEphem 只是一个围绕 C 库 "libastro" 的封装,这个库还在持续维护和改进,所以 PyEphem 还没有自己实现很多计算。