У меня есть широта и долгота формата NMEA, и я хочу преобразовать его в десятичное значение. Есть ли формула? Например, формат NMEA Широта = 35,15 N и Долгота = 12849,52 E
Формат для координат NMEA: (d) ddmm.mmmm
д = градусы и м = минуты
В градусах 60 минут, поэтому разделите минуты на 60 и добавьте их к градусам.
Для Широты = 35,15 Н
35,15 / 60 = .5858 N
Для долготы = 12849,52 E,
128+ 49,52 / 60 = 128,825333 E
В php вы можете сделать это:
<?php
$lng = "12849.52 W";
$brk = strpos($lng,".") - 2;
if($brk < 0){ $brk = 0; }
$minutes = substr($lng, $brk);
$degrees = substr($lng, 0,$brk);
$newLng = $degrees + $minutes/60;
if(stristr($lng,"W")){
$newLng = -1 * $newLng;
}
?>
Да, формат NMEA: ддмммммм, н / с (д) ддмммммм, ч / б
Чтобы получить десятичные градусы от градусов и минут, используйте следующую формулу:
(d) дд + (мммммм / 60) (* -1 для W и S)
Здесь есть хороший маленький калькулятор: http://www.hiddenvision.co.uk/ez/