2012-01-21 9 views
1

pythonループを使用せずに多数の見かけの座標を赤道右昇/緯度に効率的に変換する方法はありますか? ヒントありがとう、ありがとう!緯度/方位角の赤道座標への一括変換

+1

あなたがこれまでに試したことを示して、私たちは助けてくれるかもしれません。 interessetのあなたのフィールドは、特化され、pyephemの天文学的な精通したuseresはごくわずかです。あなたがやっていることを示し、天文ではないPythonプログラマーから適切な解決策を得るでしょう。 –

+0

ありがとう、私はまだ例がない、私は作成し、次の日に1つを追加します。しかし、それは非常に簡単です、私は高度と方位角の配列を持っており、ループなしですべてをra/decで変換したいと思います。 –

+0

基本的には、「ベクトル化された」処理チェーンが必要ですか?あなたが十分なベクトル単位を持っていない限り、あなたはループすることができません!そしてループ自体はそれほど悪くはありません。パフォーマンス上の懸念がある場合は、 "ループ"ワイトアウトと 'for'ループを行う' map'関数を考えてみてください。 –

答えて

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の上に計算を再構築する必要があります。とにかく、とにかく、ピピと組み合わせるとどれくらい速くてんかんになっているので、これはいい考えです。今のところPyEphemはCライブラリ "libastro"のラッパーであり、Pythonはまだ維持管理され改良されているので、PyEphemはまだ多くの計算自体を実装していません。

+0

Brandonに感謝します。私はパフォーマンスについて心配しています。そのため、PyEhemにはPythonレベルではなくCレベルのループがあることが期待されていました。 –

関連する問題