Google Maps me donne la lat et à long terme d'une notation décimale comme celle-ci: p>
38.203655, -76.113281 P>
Comment puis-je convertir les celles en des coordiens (degrés, minutes, secondes) p>
4 Réponses :
38.203655 est une valeur décimale de degrés. Il y a 60 minutes est une degré et 60 secondes en une minute (1degree == 60min == 3600).
prenez donc la partie fractionnée de la valeur, c'est-à-dire 0,203655 et la multiplie avec 60 pour obtenir des minutes, c'est-à-dire 12.2193, qui est 12 minutes, puis répétez la partie fractionnée des minutes, à savoir 0,2193 = 13,158 000 secondes. P>
Exemple en Python: P>
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)
Bonne solution. Remarque mineure: typiquement pour le format DMS, il n'est pas signé mais utilise plutôt la direction cardinale (c'est-à-dire non -76 12 34.567 mais W76 12 34.567).
Si vous avez besoin d'autres fonctionnalités géographiques liées à JavaScript, vous pouvez utiliser la bibliothèque suivante P>
http://www.movable-type.co.uk/scripts/ LatLong.html P>
Il fournit la fonctionnalité suivante: p>
bibliothèque Python qui fait l'affaire: p>
Je pense que cela vous aidera avec 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)
degrés décimaux à degrés minutes quelques secondes
Les systèmes de coordonnées et les conversions sont expliqués ici, avec pseudocode: en.wikipedia.org/ wiki / geographic_coordinate_conversion "> Conversion de coordonnée (de Wikipedia)