Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Convertir coordenadas geográficas de grados, minutos y segundos (DMS) a sistema decimal (DD) en Python

Imago voragine.net

En mapas web se suele usar el sistema decimal (Decimal Degrees) para los valores de latitud y longitud. Si se tienen los valores en grados, minutos y segundos (Degrees Minutes Secons) será necesario convertirlos.

En python se puede hacer con dos líneas de código, usando el paquete de expresiones regulares (re). Empaquetándolo en una función quedaría:

import re

def degMinSec2decDeg(degMinSec):
    """Convierte coordenadas grados minutos y segundos (DMS) a sistema decimal (DD)."""
    deg, minutes, seconds, direction =  re.split('[°\'"]', degMinSec)
    return (float(deg) + float(minutes)/60 + float(seconds)/(60*60)) * (-1 if direction in ['W', 'S'] else 1)

Visto en este hilo de stackoverflow.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks