Perl的pyephem相当于什么?

4

Perl 中有什么类似于 pyephem 的库?

由于 pyephem 基于 C 库(?), 我猜测也有人创建了 Perl 版本的库吧?


1
请告诉我们您想做什么,也许有方法可以实现。我怀疑是否存在完全相同的移植方式,因为所涉及的模块虽然用C编写,但不是外部C库的包装器。 - Joel Berger
最终,我试图找到给定位置和时间的下一个月亮/太阳升起/落下或黄昏的时间,即使该事件在接下来的24小时内不会发生。例如,在6月中旬在巴罗(Barrow)阿拉斯加州看日落实际上会晚几周。 - user354134
2个回答

4
你有没有看过libnova?它非常强大。这里有一个Perl包装器:Astro::Nova
引用下面的文档,其中一个可以完全满足你的需求。Perl文档相对稀少,因为我不想为包装器重复整个库的文档。这些函数大多类似于C中的工作方式。应该记录与此不同的异常。 主要的libnova文档有所有细节。
(int $status, Astro::Nova::RstTime $rst) =
  get_object_rst(double JD, Astro::Nova::LnLatPosn observer, Astro::Nova::EquPosn object)
(int $status, Astro::Nova::RstTime $rst) =
  get_object_rst_horizon(double JD, Astro::Nova::LnLatPosn observer,
                         Astro::Nova::EquPosn object, double horizon)
(int $status, Astro::Nova::RstTime $rst) =
  get_object_next_rst(double JD, Astro::Nova::LnLatPosn observer, Astro::Nova::EquPosn object)
(int $status, Astro::Nova::RstTime $rst) =
  get_object_next_rst_horizon(double JD, Astro::Nova::LnLatPosn observer,
                              Astro::Nova::EquPosn object, double horizon)

结果发现Astro::Nova并不像pyephem那样完整。另一个解决方法是使用Inline::Python,它允许您直接在Perl中编写Python代码。 - user354134

1
你可能想从这里开始:
Perl 天文模块

1
我查看了许多Perl Astro模块,包括Astro::Sunrise和Astro::Coord::ECI,但没有一个能够与NOAA的结果达到每分钟的一致(Astro::Sunrise接近,但可能会有几分钟的偏差,并且在日出或日落时失败,但不是同时)。 - user354134

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接