2010-03-24 66 views
2

我負責一個程序,該程序用於創建一組由自主地面車輛消耗的節點和路徑。該程序通過指示該項目的位置爲原點爲0,0的東部x米北和y米,來跟蹤其地圖中所有項目的位置。在現實世界中,車輛知道起點的lat和long的位置,因爲它是由dgps系統確定的,精確到幾釐米。我的程序對任何經緯度座標都是無知的。掌握GIS數學知識,我該從哪裏開始?

我的目標之一是修改程序,以跟蹤除原點和項目的x,y位置相對於原點的lat long coords項目。乍一看,似乎我將修改程序以允許原始緯度長的座標被傳入,之後我希望程序自動計算當前地圖中每個項目的經緯度。從我到目前爲止所研究的內容來看,我相信我需要弄清楚從UTM轉換成經緯度座標的算術,就像我指定原點和經線等的投影一樣,而不是UTM已經定義的任何東西。

我來問過你的GIS程序員,我在正確的軌道上?在我看來,有很多東西要包裹頭部,而且我不確定答案不是那麼簡單,「哦,是從米到拉長的轉換,這裏」

目前,由於DGPS的性質,系統真的不需要關心地點超過哦,什麼... 40公里?半徑遠離原點。鑑於此,以及我需要確保座標上的誤差不超過0.5米的事實,我是否需要比簡單經緯度/長到米轉換常數更復雜的任何事情?

我在這裏的材料膝蓋深。我可以用一些關於研究什麼概念的指針。

非常感謝!

回答

2

給定經緯度的起始點以及距離和方位,找到終點是測地計算。在proj.4 website上有關於測地計算和錯誤的很好的總結。他們得出的結論是,使用球形模型可以得到點間距離的結果,誤差最大爲0.51%。也就是說,用一個公式結合起來WGS-84 and ECEF之間進行轉換(請參見「LLA向地心固定」和「地心固定到LLA」部分,好像它得到你所需要的。

如果你想真正獲得通過板上釘釘了錯誤將您的平面地圖逆向投影到WGS-84,proj.4是投影軟件包。它具有源代碼,並附帶三個命令行實用程序 - proj,它可以轉換爲地圖投影和笛卡爾數據/ cs2cs,它在不同的地圖投影之間轉換;和geod,它計算測地線關係。

USGS發佈very comprehensive treatment of map projections

0

對於40km的範圍,您可能會發現將世界逼近2D平面可能會有效,儘管UTM轉換將是理想的方式 - 無論如何,我會主張使用實際的WGS84 co用於計算的橢球體,如大圓距離或計算方位。

如果你覺得無聊,你可以去下一個類似線的東西我一直在工作,可以用來作爲一個基類不同的基準,如OSGB36或WGS84 ...

+0

現在你提到它,通過UTM轉換,你的意思是把我的起源定位在一個lat long,然後找到我的起源所在的UTM區域(並且將我的所有項目x,y轉換爲真實的UTM xy )?或者你的意思是製造我自己的虛假utm區域,其起源是我的起源,並從那裏出發? – Joshua 2010-03-24 19:49:54

+0

我想轉換爲UTM的x,y - 如果需要,您可以根據您的用途調整錯誤來源。 – 2010-03-24 20:13:11

2

我如果可以的話,做一個完整的計算。這樣你就會永遠保持準確無誤。

如果您碰巧使用C++,GDAL是一個非常好的庫。

+0

感謝您的參考,我會研究它! – Joshua 2010-03-24 19:50:09

+0

這將是準確的,也可能更容易實施。只需掛在一個好的圖書館。 – MarkJ 2010-03-25 16:58:41