mapas de Google me da la Lat Long y de una ubicación en notación decimal de esta manera:Lat de largo a minutos y segundos?
38,203655, -76,113281
¿Cómo convierto los que Coords (grados, minutos, segundos)
mapas de Google me da la Lat Long y de una ubicación en notación decimal de esta manera:Lat de largo a minutos y segundos?
38,203655, -76,113281
¿Cómo convierto los que Coords (grados, minutos, segundos)
38.203655 es un valor decimal de grados. Hay 60 minutos es un grado y 60 segundos en un minuto (1degree == 60min == 3600s).
Así que tome la parte fraccional del valor, es decir, 0.203655, y multiplíquelo con 60 para obtener minutos, es decir 12.2193, que es 12 minutos, y luego repita para la parte fraccionaria de minutos, es decir, 0.2193 = 13.158000 segundos.
ejemplo en Python:
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)
Buena solución. Nota secundaria: típicamente para el formato DMS, no está firmado, sino que usa la dirección cardinal (es decir, no -76 12 34.567 pero W76 12 34.567). – TreyA
En caso de que necesite otra funcionalidad relacionada con geo-en JavaScript, es posible utilizar la biblioteca siguiente
http://www.movable-type.co.uk/scripts/latlong.html
que ofrece las siguientes funciones:
biblioteca de Python que hace el truco:
[grados decimales a Grados Minutos Segundos] (http: // www.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html) –
Los sistemas de coordenadas y las conversiones se explican aquí, con el pseudocódigo: Co-ordinate conversion (from Wikipedia) –