Как преобразовать широту и долготу данных формата NMEA в десятичную?

У меня есть широта и долгота формата NMEA, и я хочу преобразовать его в десятичное значение. Есть ли формула? Например, формат NMEA Широта = 35,15 N и Долгота = 12849,52 E

4

Решение

Формат для координат 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;
}

?>
7

Другие решения

Да, формат NMEA: ддмммммм, н / с (д) ддмммммм, ч / б

Чтобы получить десятичные градусы от градусов и минут, используйте следующую формулу:

(d) дд + (мммммм / 60) (* -1 для W и S)

Здесь есть хороший маленький калькулятор: http://www.hiddenvision.co.uk/ez/

6

По вопросам рекламы [email protected]