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.

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top