2011-08-13 72 views
12

我如何找出某個位置的經度緯度的E6值。 例如,我搜索了巴拉圭首都亞松森的長途。它返回我:如何在Android上獲取谷歌地圖的E6格式的經度緯度

The latitude and longitude of Asuncion, Paraguay is 25°16' S, 57°40 W

現在我該怎樣轉換的長緯度這種格式爲長緯度的Android理解E6格式?什麼是這個E6的事情?

[p.s.我也搜索了亞松森的E6 long-lat .......沒有運氣]

回答

23

所以這是一個兩步過程 - thanks to hooked82's answer


步驟1.從DMS轉換爲十進制度From Wikipedia

給定一個DMS(度,分,秒)的座標,例如87°43'41「W,使用以下方法將其轉換爲十進制度數很簡單:

  • 總麻木度ER
    = 87
  • 的秒總數
    = 43'41「=(43 * 60 + 41 * 1)=2621秒。
  • 小數部分是秒3600
    劃分=3600分之2621= 0.728056
  • 添加分數度到整個度以產生最終結果
    = 87 + 0.728056 = 87.728056總數。
  • 由於它是一個西經座標,否定結果。
    = -87.728056。
  • 長緯度參考:

    Lat. North = + 
    Lat. South = - 
    Long. East = + 
    Long. West = - 
    

    步驟從十進制度2.轉化爲微度(E6的格式)From SO discussion

    微度( E6格式)= 個DecimalDegrees * 1E6
    --- as mentioned in AndroidDevGuide as well

    因此,

    float lat = -23.4456f; //in DecimalDegrees 
    float lng = 45.44334f; //in DecimalDegrees 
    GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6)); 
    
    2

    我不確定將DMS座標轉換爲Microdegrees的程序化方法,但是有一個手動轉換過程,我碰到的:

    http://en.wikipedia.org/wiki/Geographic_coordinate_conversion#Conversion_from_DMS_to_Decimal_Degree

    此外,看一看這太問題:

    Android GeoPoint with lat/long values

    如果手動試圖讓GPS座標和希望值是安德烈oid可以處理,您可以隨時前往Google地圖並右鍵點擊地圖上的某個點,然後選擇「這裏有什麼」。它會給你這個位置的緯度/經度,儘管有很多方法可以獲得這些位置。

    相關問題