Convertir coordenadas geográficas de grados, minutos y segundos (DMS) a sistema decimal (DD) en Python
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)