2016-07-15 220 views
0

我正在研究可跟蹤移動的android應用程序。我的問題是我需要在飛機上將gps座標轉換爲二維座標。將WSG84 GPS座標轉換爲x y平面上的笛卡爾座標

我現在獲得的座標是WSG84格式。我需要這些座標,因爲我需要計算一個點和一條線之間的距離,以便了解我是否距離預定義的路徑太遠。我所在的領域在整個地球方面並不算大,所以我認爲不關心z軸是可以的。

我沒有地圖,所以我只需要在後臺計算這些座標。謝謝!

回答

0

此:

我需要計算才能點與線之間的距離,以瞭解如果我從一個預先定義的路徑

似乎越來越太遠你提出的關鍵問題。這就是我會回答的。

從嚴格意義上說,從球形座標轉換到歐氏座標是不可能的,這就是爲什麼人們發明UTM系統的原因之一。爲你的目的使用UTM的問題是給定的緯度/經度可能在不同的地區,所以(x,y)對不會有用地關聯。

假設你有三個點A,B和P,其中A &乙定義線的起點和終點,P是你想知道,那麼我的建議是最好的一點是:

  • 選自P計算大圓距離(d)到B
  • 從P計算軸承B(THETA)
  • 從A計算軸承B(阿爾法)

如果點實際上非常接近對方那麼你的工作的空間是局部歐氏,所以從A到B線的距離爲:

d sin(alpha - theta) 

上有計算大大量的在線引用用於WGS84的Java中的圓距和方位。例如。

http://openmap.bbn.com/svn/openmap/trunk/src/openmap/com/bbn/openmap/proj/GreatCircle.java

...只是衆多之一。

+0

感謝@RabidMutant,我認爲這個解決方案可以工作,但它取決於你的意思是「非常接近彼此」。我工作的地區幾乎是羅馬的所有城市 – cec91

+0

羅馬很好。羅馬到巴黎,不太如此。 – RabidMutant

+0

還有很多工具可以計算距離方位。一旦你寫了你的代碼,我建議通過與在線工具進行比較來對其進行測試。 – RabidMutant

相關問題