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