2012-02-08 5 views
-3

この質問は何度も尋ねられていますが、私はPHPアプリケーションで使用できる答えがほしいと思っています。PHP - ライブラリを使用せずに緯度と経度をxとyに変換する

私が見つけた最も近い答えは私がマップか何かを表示する必要はありません。この

int x = (int) ((MAP_WIDTH/360.0) * (180 + lon)); 
int y = (int) ((MAP_HEIGHT/180.0) * (90 - lat)); 

ました。私はそれを計算する必要があります。

上記の式を使用すると、MAP_WIDTHとMAP_HEIGTHはどのようになるはずですか?

+1

*達成したいことは何ですか?地球は「自然な」「x」と「y」座標を持たない。 XとYは、通常は投影されたマップ*で使われますが、あなたはマップを望んでいないと言っただけです... –

+0

誰も負の印を付ける理由を説明できますか? – shaikh

+0

私はx、y座標を使って地図をたどるプログラムを持っているので、近くの都市に指示します。 – shaikh

答えて

2

地球にはxyという座標はありません。多くても、x,yおよびzを計算できます。ユークリッド距離は地球表面を通過することに注意してください。緯度、経度に(及び -

また任意x-yベースのシステムは、極に近い日付線に近い完全に不正確な結果を生成することはかなり明白であるべき...

そのままデータを保持高さ、利用可能な場合) - ユークリッド距離を計算する代わりに、大円距離を使用します。あなたが地球の実際の形状についての詳細な情報を持っていない限り、球で一般的な大円近似ができます。そして、実際にはかなり使いやすいです。

http://en.wikipedia.org/wiki/Great-circle_distance

関連する問題