简体   繁体   中英

How to get E6 format of Longitude Latitude for Google Maps on Android

how do i find out the SPECIFIC E6 values of longitude latitude of a location. For example, i googled for long-lat of Asuncion, the capital city of Paraguay. It returns me:

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

Now how do i convert THIS format of long-lat into E6 format of long-lat which android understands? What exactly IS THIS E6 thing?

[ps i also googled for E6 long-lat of Asuncion....... with no luck]

So it's a two step process - thanks to hooked82 's answer


step 1. Conversion from DMS to Decimal Degrees From Wikipedia

Given a DMS (Degrees, Minutes, Seconds) coordinate such as 87°43′41″ W , it's trivial to convert it to a number of decimal degrees using the following methods:

  • Total number of degrees
    = 87
  • Total number of seconds
    = 43′41″ = (43*60 + 41*1) = 2621 seconds.
  • The fractional part is total number of seconds divided by 3600
    = 2621 / 3600 = 0.728056
  • Add fractional degrees to the whole degrees to produce the final result
    = 87 + 0.728056 = 87.728056.
  • Since it is a West longitude coordinate, negate the result.
    = -87.728056.
  • Long-Lat reference:

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

    step 2. Conversion from Decimal Degrees to MicroDegrees (the E6 format) From SO discussion

    MicroDegrees (the E6 format) = DecimalDegrees * 1e6
    --- as mentioned in AndroidDevGuide as well

    thus,

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

    I'm not sure of a programmatic approach to converting a DMS Coordinate to Microdegrees, but there is a manual conversion process which I came across at:

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

    Also, take a look at this SO question:

    Android GeoPoint with lat/long values

    If you're manually trying to get GPS coordinates and want values that Android can handle, you can always go to Google Maps and Right-Click on a point on the map and select "What's Here". It will give you the lat/long of that position, though there are many ways of getting these.

    The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM