2013-10-25 517 views
4

你好編程世界,轉換像素經緯度座標

我使用谷歌地圖API v3和我有地圖的覆蓋,我需要從具體的座標。

在圖像中,我設法將兩個像素座標集從左上角和右下角轉換爲手動經緯度座標。我發現這些等式:

左上:
1px的 [x軸],1px的 [y軸])以像素爲單位等於...
- 109.05005006119609° [經度],41.00062580014626° [緯度])中的緯度/經度

右下:
575px [x軸],423px [y軸])以像素爲單位等於...
-102.0423399657011° [經度],36.99314427042206° [緯度])中經度/緯度

然而,我的老闆後來決定,他寧願讓谷歌地圖用谷歌的多段線繪圖課程(所以我需要在我的經緯度座標中覆蓋的​​每個邊框角度)繪製這個。

我的問題是,鑑於這兩組座標,有一些方程或公式可以使用,這樣我就可以找到像素座標(我已經在圖像映射文件中)並將其轉換爲緯度/經度座標。

示例:132px x軸和10px的興趣點y軸= a°經度和b°緯度 查找a和b。

我欣賞的幫助, Llewgnolm

回答

2

我跟我的一個朋友,他回答我的問題,所以我想我會在這裏發表的結果,任何人想知道是誰。

我們所做的是創建線性方程系統:
緯度/經度=乘數*像素+常數(L = M * P + C)

我們取代我手動發現到兩個方程的數字用於該系統中,即(對於經度):
-109.05 ... = M *(1)+ c和
-102.04 ... = M * 575 + c和解決既爲m和c


最終,數字出來(經度):
米= 0.01220895749767
C = -109.06228374530811

然後,我們可以用我們的M和C值在任何像素值這個方程堵塞,找到緯度/經度,我。E(從上面再次列出,對於經度的實施例編號):
L = 0.01220895749767(132) - 109.06228374530811
L(經度在x方向132px)= -107.45070135561566°

此發現基於圖像像素的度數值到十四小時(綽綽有餘)。對於緯度,我只是用內部基於緯度的數字創建了一個不同的方程組,以找到不同的m和c值。希望這有助於任何遇到類似問題的人。

相關問題