2012-01-21 2 views
1

파이썬 루프를 사용하지 않고 많은 수의 명백한 좌표를 적도의 오른쪽 승천/적위로 효율적으로 변환하는 방법이 PyEphem에 있습니까? 힌트를 보내 주셔서 감사합니다.고도/방위각을 적도 좌표로 일괄 변환

+1

지금까지 시도한 것을 보여 주시면 도움을 드릴 수 있습니다. interesset의 당신의 분야는 특기 ver이고 pyephem의 아주 천문학적인 정점이있는 사용법이있을 것이다. 여러분이하고있는 일을 보여 주면 천문이 아닌 파이썬 프로그래머들로부터 적절한 해결책을 얻을 수 있습니다. –

+0

그래, 고마워. 아직 예제가 없네. 다음 날에 만들고 추가 할게. 그러나 그것은 아주 간단합니다. 나는 고도와 방위각의 배열을 가지고 있으며, 반복하지 않고 모든 것을 ra/dec로 변환하고 싶습니다. –

+0

기본적으로 "벡터화 된"프로세싱 체인을 원하십니까?! 벡터 단위가 충분하지 않으면 반복하지 않아도됩니다! 그리고 루핑 자체가 그렇게 나쁘지 않습니다. 성능에 대한 우려가 있다면'map' 함수를 고려해보십시오.이 함수는 "루핑"wightout과'for'-loop을 수행합니다. –

답변

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은 진정한 벡터 툴체인 접근을 위해 C로 구현하지 않고 numpy를 기반으로 계산을 재구성해야합니다. 어쨌든, 언젠가 좋은 아이디어가 될지도 몰라요. 그러나 현재 PyEhem은 계속 유지되고 개선되는 C 라이브러리 "libastro"에 대한 래퍼입니다. 그래서 PyEhem은 아직 많은 계산 자체를 구현하지 않았습니다.

+0

Brandon에게 감사드립니다. 성능에 관심이 있습니다. PyEhem에 python 수준 대신 C 수준의 루프가있는 기능이 있었으면 좋았을 것입니다. –