Вчера мне понадобилось перевести из угловой системы (DMS) в десятичную (DD), довольно большое количество значений.

То есть: дано например, 52° 4’43.38″N 4°19’58.07″E , а получить надо 52.078717 4.3327972 и таких значений порядка 500.

Сначала я решил что таких сервисов по переводу из DMS в DD должно быть достаточно много в интернете, но подходящего сервиса я не нашол. Решил долго не заморачиваться с поиском, а сделать все в Excel (вернее в Calc OpenOffice.org но в формате Excel).

Формула пересчета простая: десятичная координата = градусы + ((минуты / 60) + (секунды / 3600)).

Для определения знака десятичной координаты используем функцию IF. Если широта северная то – “плюс“, иняче – “минус“; если долгота восточная то – “плюс“, если нет то -”минус“.

В результате получилась следующая табличка

excel-dms-to-dd

В ячейки (A3, B3, C3, D3) записываем данные широты, в следующие ячейки (E3, F3, G3, H3) вставляем данные долготы.
В I3 помещаем формулу:

=IF(D3=”N”;(A3+(B3/60)+(C3/3600));(A3+(B3/60)+(C3/3600))*(-1))
 

В J3 соответственно, формулу:

=IF(H3=”E”;(E3+(F3/60)+(G3/3600));(E3+(F3/60)+(G3/3600))*(-1))

В итоге получаем пересчет географических координат из угловой системы в десятичную.