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.

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top