2010-01-13 24 views
8

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)

+0

[grados decimales a Grados Minutos Segundos] (http: // www.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html) –

+0

Los sistemas de coordenadas y las conversiones se explican aquí, con el pseudocódigo: Co-ordinate conversion (from Wikipedia)

Respuesta

16

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) 
+1

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

0

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:

  • DMS de/a conversiones de latitud/longitud decimal
  • cálculos de distancia
  • cálculo de rodamientos
  • Puntos intersección calcualtion
Cuestiones relacionadas