2009-11-29 80 views
2

我意識到這可能不是一個編程問題,但它的問題,我一直碰到作爲程序員,所以我認爲這裏的其他人可能有用的知識分享。我應該如何確定在地圖中使用的投影,然後我應該如何以編程方式將緯度和經度座標轉換爲地圖上的像素位置(例如,圖片。確定在給定的地圖投影

此刻我有matlab代碼來打開圖像並繪製結果(x,y)座標,但我無法弄清楚如何將緯度/長度轉換爲x,y!

任何幫助都將不勝感激。

回答

0

事實證明,編程計算地圖的投影是圖像處理的一項複雜的任務。我設法解決這個問題的方法是簡單地使用具有明確定義的投影的地圖 - 例如Google地圖使用墨卡託投影,就像大多數英國地圖一樣(因爲我們的英國參考網格基於通用橫軸墨卡託)。

我希望這可以幫助別人!

0

地理座標是球座標的變化。您可以將它們轉化爲正常的座標:

x = r * sin(90 - lat) * cos(lon) 
y = r * sin(90 - lat) * sin(lon) 
z = r * cos(90 - lat) 

這是不是真的準確,因爲地球是不完全是一個球體。根據地圖的類型,有幾種方法可以從這些地圖獲得二維座標。圖像可以從球體投影到一個圓柱或兩個平面。

這些鏈接可能幫助:

+0

情況並非總是如此 - 例如,任何地圖都可能是墨卡託投影,羅賓遜投影或這裏列出的任何一種:http://www.radicalcartography.net/?projectionref。我的問題是確定*給定圖像的這些投影中的哪一個(顯然你可以通過檢查來做到這一點,但它非常費力且效率低下!) – 2009-11-29 23:28:54