coordonnées format incorrect (wgs84) ou suis-je manque quelque chose?
Question
Dummy question ici. Je développe une application qui va chercher informations géolocalisé. Je reçois les coordonnées du lieu de la manière suivante: lat = + aaa.bb.cc.dd & + = aaa.bb.cc.dd LON & datum = wgs84
Comment convertir les coordonnées en latitude avec la norme longitude seul point. Maintenant, il semble que si le client demande une recherche d'adresse IP.
La solution
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
Prend la chaîne avec la wgs84 coordonnée en elle, se divise sur les périodes, convertit les résultats du texte '34'
à 34
numérique, et ne puis la division nécessaire pour convertir les minutes, les secondes et les fractions de secondes à des ajustements à virgule flottante ajouté à la latitude (ou longitude).
Autres conseils
Enhardi par @ quasi-accord de Myrddin qu'il a fait une petite erreur, je poste une réponse dans une tentative flagrante de recueillir rep.
Je soupçonne que
123.12.34.56
doit être interprétée comme 123d12m34.56s et converti en degrés décimaux comme ceci:
123+12/60+34.56/3600