2013-02-02 124 views
4

什麼是pyephem的Perl等效物?Perl相當於pyephem?

由於pyephem基於C庫(?),我猜測某人創建了Perl版本?

+0

什麼是pyephem? – cjm

+1

請告訴我們你想做什麼,也許有辦法完成它們。我懷疑有一個確切的端口,就好像所討論的模塊是用C語言編寫的,它不是一個外部C庫的包裝器。 –

+0

最終,我試圖找出在給定時間內下一個月/日升/月或黃昏的時間,即使該事件未在接下來的24小時內發生。例如,6月中旬Barrow AK的日落實際上將在數週後發生。 – barrycarter

回答

5

您檢查了libnova?它非常強大。有一個Perl包裝器:Astro::Nova

引用下面的文檔,其中一個可以做你想要的。 Perl文檔相對較少,因爲我不想重新生成包裝器的整個庫文檔。這些功能大體上與C中的工作類似。應該記錄這些功能的異常情況。 main libnova docs有所有的細節。

(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) 
+0

事實證明Astro :: Nova並不像pyephem那麼完整。另一個解決方法是Inline :: Python,它允許您直接在Perl中編寫Python代碼。 – barrycarter

1

你可能想從這裏開始:

Perl Astro Modules

+1

我看了很多Perl天文模塊,包括Astro :: Sunrise和Astro :: Coord :: ECI,但沒有給我與NOAA的結果的分鐘一致的協議(Astro :: Sunrise接近,但可以關閉在幾分鐘內失敗並且在有日出或日落時失敗,但不是兩者)。 – barrycarter