Formato de coordenadas incorrecto (WGS84) o me falta algo?
Pregunta
Pregunta ficticia aquí. Estoy desarrollando una aplicación que obtiene información informativa de ubicación. Recibo coordenadas de ubicación de la siguiente manera: LAT =+AAA.BB.CC.DD & LON =+AAA.BB.CC.DD & DATUM = WGS84
¿Cómo convierto esas coordenadas en longitud de latitud estándar con un solo punto? Ahora parece que el Cliente está solicitando una búsqueda de dirección IP.
Solución
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
Toma la cadena con la coordenada WGS84 en ella, la divide en los períodos, convierte los resultados del texto '34'
a numérico 34
, y luego hace la división necesaria para convertir los minutos, segundos y fracciones de segundos a ajustes de punto flotante agregados a la latitud (o longitud).
Otros consejos
Envalentonado por el casi acelerador de @Myrddin que cometió un pequeño error, estoy publicando una respuesta en un intento descarado de reunir representantes.
Sospecho que
123.12.34.56
debe interpretarse como 123d12m34.56s y convertirse en grados decimales como este:
123+12/60+34.56/3600