Неверный формат координат (wgs84) или я что-то упустил? - PullRequest
2 голосов
/ 26 января 2010

Пустой вопрос здесь. Я разрабатываю приложение, которое получает информацию о местоположении. Я получаю координаты местоположения следующим образом: lat = + aaa.bb.cc.dd & lon = + aaa.bb.cc.dd & datum = wgs84

Как мне преобразовать эти координаты в стандартную широту и долготу с одной точкой. Теперь это выглядит так, как будто клиент запрашивает поиск IP-адреса.

Ответы [ 2 ]

3 голосов
/ 26 января 2010
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, а затем выполняет деление, необходимое для преобразования минут, секунд и долей секунд. к корректировкам с плавающей запятой, добавленным к широте (или долготе).

1 голос
/ 26 января 2010

Воодушевленный близким соглашением @ Myrddin о том, что он допустил небольшую ошибку, я публикую ответ в явной попытке собрать представителя.

Я подозреваю, что

123.12.34.56

следует интерпретировать как 123d12m34.56s и преобразовать в десятичные градусы следующим образом:

123+12/60+34.56/3600
...