Неправильный формат координат (WGS84) или я что -то упускаю?

StackOverflow https://stackoverflow.com/questions/2140360

  •  22-09-2019
  •  | 
  •  

Вопрос

Фиктивный вопрос здесь. Я разрабатываю приложение, которое получает информацию о том, что с учетом местоположения. Я получаю координаты местоположения следующим образом: 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top