2016-11-13 80 views
0

我有一個10km x 10km地形圖的3D模型,我從草圖上導入,模型只是一堆X,Y,Z點(其中X +是北, Z +直線向上,垂直於地面)笛卡爾到緯度/經度

我知道(0,0,0)點的緯度經度值。所以給定一個X,Y,Z點我如何獲得它的緯度經度值?

我需要相當準確的,所以你不能假設地球是一個完美的球體(但是你可以假定它是一個橢球)

回答

1

獲得最佳精度,你需要知道地圖投影地圖在繪製你應該可以從地圖上找到它。例如在英國,地形測量圖使用OSGB36基準,投影是橫向mercator。該投影將告訴您如何將地理座標(lat,long爲基準橢圓體座標)轉換爲地圖座標(東和北)以及如何進行反算,這幾乎是您想要的。

如果你不知道投影,下一個最好的事情是,如果你能從地圖上找出它們經常寫在它上面 - 一些投影的比例因子和收斂性點在地圖上。重點在於地圖北(北軸指向的方向)和真北(北極從一個點的方向,緯度軸的方向)之間通常存在緩慢的空間變化差異,並且總是存在一個緩慢空間變化的比例因子,地圖座標中距離的比例和真實距離。請注意,這與打印地圖的比例(一英寸到一英里等)不一樣,它是投影的屬性。

在一個10公里的正方形內,把尺度和收斂作爲常量來處理是合理的。然後給定一個x,y點,您計算0,0的地圖方位,使用

b = atan2(x,y) 

並通過減去收斂將其轉換爲真實方位。

還計算由

r = hypot(x,y)*S 

地圖距離其中S是地圖的比例尺,例如如果您在x座標中1的變化表示距離爲100m,則S爲100並且通過除以縮放因子將r轉換爲真實距離。

最後,你想計算經緯度,從給定點(拉特,0,0長)給定距離和方位。準確的方法是使用Vincenty's formulae

這裏需要注意的一點是,如果地圖上引用的比例和收斂將與地圖構造中使用的橢圓相對,那麼您將計算該橢圓的經緯度座標。

相關問題