Sbagliato il formato di coordinate (WGS84) o mi sto perdendo qualcosa?
Domanda
domanda fittizia qui. Sto sviluppando un'applicazione che recupera informazioni location-aware. Sto diventando coordinate di posizione in modo seguente: Lat = + aaa.bb.cc.dd & lon = + aaa.bb.cc.dd & datum = WGS84
Come faccio a convertire quelle coordinate in latitudine standard di longitudine con unico punto. Ora sembra come se il cliente richiede una ricerca di indirizzi IP.
Soluzione
wgs84 = '123.12.34.56'
deg, minute, second, fraction = wgs84.split(/\./).map(&:to_i) # Ruby 1.9
deg, minute, second, fraction = wgs84.split(/\./).map {|x| x.to_i} # Ruby 1.8
deg += minute / 60.0 + second / 3600.0 + fraction / 360000.0
puts deg # => 123.20970370370371
Prende la stringa con il wgs84 coordinata in esso, la divide in periodi, converte i risultati da '34'
testo 34
numerico, e quindi non la divisione necessario per convertire i minuti, i secondi e frazioni di secondo a variabile regolazioni point aggiunto alla latitudine (o longitudine).
Altri suggerimenti
Incoraggiato da @ quasi-accordo di Myrddin, che ha fatto un piccolo errore, sto postando una risposta in un palese tentativo di raccogliere rep.
Ho il sospetto che
123.12.34.56
dovrebbe essere interpretato come 123d12m34.56s e convertito in gradi decimali così:
123+12/60+34.56/3600