Преобразование координат GPS трекера в формат карт Google и точность
У меня есть gps-трекер, который отправляет широту и долготу на мой сервер, как это описано в руководстве по gps-трекеру (пример для Latitude, для Longitude то же самое):
xxmm.dddd, where
xx = degrees;
mm = minutes;
dddd = decimal part of minutes; for example 11 deg. 26.6639 min.
Я хотел бы преобразовать полученные координаты в формат карт Google, для этой цели я использую формулу:
result = xx + (mm.dddd)/60
так как результат деления может быть представлен как периодически дробная часть, например - 1.6666(6), но это очень плохо, потому что я теряю так много точности GPS.
Вопросы
- Какое название формата я получаю координаты?
- Как называется формат, используемый картами Google?
- Какова наилучшая формула для перевода полученных местоположений GPS в формат карт Google?
2 ответа
Решение
- градусы, минуты, секунды
- десятичные градусы
- десятичные градусы = градусы + (минуты /60) + (секунды /3600)
Если вы хотите преобразовать DDD MM.MMM в десятичную глубину, я предполагаю, что вы знаете север, юго-восток или запад для этого местоположения.
- Имя формата - DMS (Degress Minutes & Seconds) - географическая система координат.
- Формат для карт Google - десятичный разряд.
- Для преобразования DMS в десятичную степень: D + (M/60) + (S/3600), как сказал Гален.
Пример Широта:
int xD = 020;
int xM = 10;
int xS = 7587;
Пример долготы:
int yD = 130;
int yM = 50;
int yS = 5475;
Конверсия:
Lat = 020+(10/60)+(7587/3600);
Lon = 130+(50/60)+(5475/3600);