Подтвердить что ты не робот

Как получить формат длинной долготы E6 для Google Maps на Android

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

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

Теперь, как я могу преобразовать ДАННЫЙ формат long-lat в формат E6 long-lat, который понимает андроид? Что именно ЭТО E6 вещь?

[p.s. я тоже googled для E6 long-lat Асунсьона....... без везения]

4b9b3361

Ответ 1

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


шаг 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.

Ссылка на длинную латиницу:

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

Шаг 2. Преобразование из десятичных степеней в MicroDegrees (формат E6) Обсуждение SO p >

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

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

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

Кроме того, взгляните на этот вопрос SO:

Android GeoPoint с значениями lat/long

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