2013-02-02 5 views
4

pyephem의 Perl은 무엇입니까?pyephem의 Perl equivalent?

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

나는 Astro :: Sunrise와 Astro :: Coord :: ECI를 포함하여 Perl Astro 모듈을 많이 보았지만 아무도 NOAA의 결과와 분 단위로 계약을 맺지 못했다. (Astro :: Sunrise는 가깝지만 off 일 수있다. 일출 또는 일몰이있을 때 몇 분이 지나면 실패하고 둘 다 실패합니다. – barrycarter