Неправильный формат координат (WGS84) или я что -то упускаю?
Вопрос
Фиктивный вопрос здесь. Я разрабатываю приложение, которое получает информацию о том, что с учетом местоположения. Я получаю координаты местоположения следующим образом: lat =+aaa.bb.cc.dd & lon =+aaa.bb.cc.dd & datum = wgs84
Как преобразовать эти координаты в стандартную долготу широты с одной точкой. Теперь выглядит так, как будто клиент требует поиска IP -адреса.
Решение
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
Берет строку с координатой WGS84, разделяет ее на периоды, преобразует результаты текста '34'
к числовым 34
, а затем делает деление, необходимое для преобразования минут, секунд и доли секунд в регулировку плавающей запятой, добавленные в широту (или долготу).
Другие советы
Воодушевленный ближним соглашением @Myrddin, что он совершил небольшую ошибку, я публикую ответ в вопиющей попытке собрать представителя.
Я подозреваю, что
123.12.34.56
следует интерпретировать как 123D12M34.56S и преобразовать в десятичные степени, как это:
123+12/60+34.56/3600