2012-03-27 71 views
0

我需要計算兩個地理定位點之間的方向(緯度和日誌定義)。我並不需要整個角度(我發現了這樣的東西),但只有N,NE,E,SE,S,SW,W,NW很好。兩個地理定位點之間的方向

任何幫助表示讚賞

回答

0

如果他們是短距離,你可以通過拉特/多頭原樣,並通過計算ATAN2角度近似(Y,X),其中y是緯度,x是經度。將產生的角度轉換爲N,NE,SW等。只要注意國際日期線。

0

那麼,假設您獲得的是0度到360度的度數值,則可以使用一個簡單的方法像:

String[] coordNames = { "N", "NE", "E", "SE", "S", "SW", "W", "NW" }; 

// assuming this value comes from somewhere else 
int degrees = val; 

degrees %= 360; 
degrees /= 45; 

String coord = coordNames[degrees]; 

這不會給你正確的近似值,你可能會注意到。 0º到44º會給你N,45º到89º會給你NE,等等。

希望它能讓你走上正軌!