2010-01-13 3 views
8

Google Maps дает мне Lat и Long Локации в десятичной системе счисления, как это:Lat Long до минут и секунд?

38,203655, -76,113281

Как преобразовать те в COORDS (градусы, минуты, секунды)

+0

[десятичные градусы градусы минуты секунды] (HTTP: // www.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html) –

+0

Здесь описываются системы координат и преобразования, с псевдокодом: Co-ordinate conversion (from Wikipedia)

ответ

16

38,203655 - десятичное значение степеней. Есть 60 минут - это степень и 60 секунд в минуту (1 градус == 60мин == 3600).

Итак, возьмите дробную часть значения, то есть 0.203655, и умножьте ее на 60, чтобы получить минуты, то есть 12.2193, что составляет 12 минут, а затем повторите для частичной части минут, то есть 0,2193 = 13,158000 секунд.

Пример в питоне:

def deg_to_dms(deg): 
    d = int(deg) 
    md = abs(deg - d) * 60 
    m = int(md) 
    sd = (md - m) * 60 
    return [d, m, sd] 

print deg_to_dms(38.203655) 
print deg_to_dms(-76.113281) 
+1

Хорошее решение. Незначительное примечание: обычно для формата DMS оно не подписано, а использует кардинальное направление (т. Е. Не -76 12 34,567, но W76 12 34.567). – TreyA

0

В случае, если вам нужны другие гео-функциональных возможностей, связанных в JavaScript, вы можете использовать следующую библиотеку

http://www.movable-type.co.uk/scripts/latlong.html

обеспечивает следующие функциональные возможности:

  • DMS от конверсий до десятичной широты/долготы
  • расчеты Расстояние
  • Расчет подшипника
  • Точка пересечения calcualtion

 Смежные вопросы

  • Нет связанных вопросов^_^