Как получить формат E6 Longitude Latitude для Google Maps на Android - PullRequest
14 голосов
/ 13 августа 2011

как мне узнать ОСОБЕННЫЕ E6 значения долготы широты местоположения.Например, я гуглил по лонг-лату Асунсьона, столицы Парагвая.Он возвращает мне:

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

Теперь, как мне преобразовать этот формат long-lat в формат E6 long-lat, который понимает Android?Что именно ЭТО E6 вещь?

[ps я также погуглил на E6 long-lat Асунсьона ....... без удачи]

Ответы [ 2 ]

25 голосов
/ 23 августа 2011

Итак, это двухэтапный процесс - благодаря ответу hooked82


шаг 1. Преобразование из DMS в десятичные градусы Из Википедии

Учитывая координату DMS (градусы, минуты, секунды), такую ​​как 87 ° 43′41 ″ W , преобразовать ее в число десятичных градусов тривиально, используя следующие методы:

Общее количество градусов
= 87
Общее количество секунд
= 43′41 ″ = (43 * 60 + 41 * 1) = 2621 секунда.
Дробная часть - это общее количество секунд, деленное на 3600
= 2621/3600 = 0,728056
Добавьте дробные градусы ко всем градусам, чтобы получить окончательный результат
= 87 + 0,728056 = 87,728056.
Так как это западная долгота, отрицайте результат.
= -87,728056.

Long-Lat ссылка:

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

шаг 2. Преобразование из десятичных градусов в микродеграды (формат E6) из обсуждения SO

MicroDegrees (формат E6) = DecimalDegrees * 1e6
--- как уже упоминалось в AndroidDevGuide

Таким образом,

float lat   = -23.4456f;   //in DecimalDegrees
float lng   = 45.44334f;   //in DecimalDegrees
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
2 голосов
/ 22 августа 2011

Я не уверен в программном подходе к преобразованию координаты DMS в микродегрессии, но есть процесс ручного преобразования, с которым я столкнулся:

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

Также,взгляните на этот вопрос:

Android GeoPoint со значениями широты и долготы

Если вы вручную пытаетесь получить координаты GPS и хотите значения, которые может обрабатывать Android, вы всегда можете перейти к Google Maps и щелкнуть правой кнопкой мыши на точке на карте и выбрать «Что здесь».Это даст вам широту / длину этой позиции, хотя есть много способов получить их.

...