2012-02-08 18 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通常用於*投影地圖*,但你只是說你不想要地圖... – 2012-02-08 07:10:45

+0

任何人都可以請解釋標記爲負的原因嗎? – shaikh 2012-02-08 07:11:30

+0

因爲我有一個程序使用x,y座標來遍歷地圖,然後告訴附近的城市。 – shaikh 2012-02-08 07:13:29

回答

2

有沒有這樣的事情,爲地球座標xy。最多可以計算出x,yz。請注意,歐幾里得距離將穿過地球表面。

這也應該是很明顯的,任何基於x-y系統將產生接近極點,靠近日線完全不準確的結果...

保留的數據,因爲它是 - 緯度,經度(和高度,如果可用) - 而不是計算歐幾里德距離,使用大圓距離。除非你有關於地球實際形狀的詳細信息,否則用球體進行常見的大圓近似是最好的。而且實際上很容易使用。

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

相關問題