Google Maps mi dà la Lunga Lat e di una posizione in notazione decimale in questo modo:Lat Long to Minutes and Seconds?
38,203655, -76,113281
Come faccio a convertire quelli per Coords (gradi, minuti, secondi)
Google Maps mi dà la Lunga Lat e di una posizione in notazione decimale in questo modo:Lat Long to Minutes and Seconds?
38,203655, -76,113281
Come faccio a convertire quelli per Coords (gradi, minuti, secondi)
38,203,655 mila è un valore decimale di gradi. Ci sono 60 minuti è un grado e 60 secondi in un minuto (1 grado == 60 minuti == 3600).
Quindi prendi la parte frazionaria del valore, cioè 0.203655, e moltiplicala con 60 per ottenere minuti, cioè 12.2193, che è di 12 minuti, e quindi ripeti per la parte frazionaria dei minuti, cioè 0.2193 = 13.158000 secondi.
Esempio in 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)
Buona soluzione. Nota secondaria: tipicamente per il formato DMS, non è firmato ma utilizza la direzione cardinale (cioè non -76 12 34.567 ma W76 12 34.567). – TreyA
Nel caso abbiate bisogno di altre funzionalità di geo-correlata in JavaScript, è possibile utilizzare il seguente libreria
http://www.movable-type.co.uk/scripts/latlong.html
fornisce le seguenti funzionalità:
libreria Python che fa il trucco:
[gradi decimali per Gradi Minuti Secondi] (http: // www.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html) –
I sistemi di coordinate e le conversioni sono spiegate qui, con pseudocodice: Co-ordinate conversion (from Wikipedia) –