Question

Google Maps me donne la Lat et Long d'un emplacement en notation décimale comme ceci:

38.203655, -76,113281

Comment puis-je convertir ceux Coords (degrés, minutes, secondes)

Était-ce utile?

La solution

38.203655 est une valeur décimale de degrés. Il y a 60 minutes est un degré et 60 secondes dans une minute (1 degré == == 60min 3600s).

Alors, prenez la partie décimale de la valeur, à savoir 0.203655 et multiplier avec 60 pour obtenir des minutes, soit 12,2193, qui est de 12 minutes, puis répétez l'opération pour la partie fractionnaire de minutes, soit 0.2193 = 13,158000 secondes.

Exemple en python:

def deg_to_dms(deg):
    d = int(deg)
    md = abs(deg - d) * 60
    m = int(md)
    sd = (md - m) * 60
    return [d, m, sd]

print deg_to_dms(38.203655)
print deg_to_dms(-76.113281)

Autres conseils

Dans le cas où vous avez besoin d'autres fonctionnalités liées à la géo-JavaScript, vous pouvez utiliser la bibliothèque suivante

http://www.movable-type.co.uk/scripts/ latlong.html

il offre les fonctionnalités suivantes:

  • DMS de / vers latitude décimales / conversions de longitude
  • Les calculs de distance
  • Calcul de roulement
  • Point d'intersection calcualtion

bibliothèque Python qui fait le tour:

https://pypi.python.org/pypi/LatLon/1.0.2

Je pense que cela va vous aider à la solution:

def deg_min_sec(self,degrees=0.0):
        if type(degrees) != 'float':
            try:
                degrees = float(degrees)
            except:
                print '\nERROR: Could not convert %s to float.' % (type(degrees))
                return 0
        minutes = degrees % 1.0 * 60
        seconds = minutes % 1.0 * 60

        return (degrees, minutes, seconds)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top