Grados, minutos y segundos a grados decimales: qué convierte, qué rechaza y qué sale mal en silencio
El conversor de coordenadas lee grados-minutos-segundos, grados y minutos sin segundos, y minutos decimales — siempre que la letra del hemisferio esté en los dos lados. Abajo está la matriz medida: cada forma que escribimos, si se interpretó y qué devolvió.
Leé primero el destino. El campo Proyección destino (CRS) viene puesto en SIRGAS 2000 / UTM 23S (EPSG:31983), que es proyectado: con ese valor por defecto, 23°33'S 46°38'W vuelve como 333283.881280 y 7394643.649020 bajo las etiquetas X (Este) y Y (Norte) — metros — y el cuadro DMS de al lado dice DMS no disponible para un CRS proyectado. Tres condiciones te dan grados: dejá Proyección de origen (CRS) en WGS 84 (EPSG:4326), poné el destino en SIRGAS 2000 (EPSG:4674) y que el destino no sea igual al origen, porque entonces imprime Elige una proyección de destino diferente para ver la conversión. en lugar de un número. La guía rápida de códigos EPSG tiene los otros códigos que vale la pena poner ahí.
Medido el 23 de septiembre de 2026 contra static-page-tools@79fc1f6, el árbol desplegado, con GDAL 3.13.3 "Iowa City" para las transcripciones de línea de comandos.
Qué se interpreta y qué devuelve
Nueve formas escritas en el campo DMS (Grados / Minutos / Segundos), con la página recargada cada vez, origen WGS 84 (EPSG:4326) y destino SIRGAS 2000 (EPSG:4674):
- Grados-minutos-segundos completos —
23°32'56.10"S 46°38'20.30"Wse interpreta:-23.54891667y-46.63897222. Es el propio marcador de posición del campo,Ej: 23°32'56.10"S 46°38'20.30"W. - Grados y minutos, sin segundos —
23°33'S 46°38'Wse interpreta:-23.55000000y-46.63333333. Esta es la novedad: la semana pasada esa misma cadena era rechazada. - Minutos decimales —
23°33.5'S 46°38.2'Wse interpreta:-23.55833333y-46.63666667. También es nuevo, que no es lo que dice el comentario que está encima del código. - Separado por espacios, sin símbolos —
23 32 56.1 S 46 38 20.3 Wse interpreta:-23.54891667y-46.63897222, el mismo par que la primera viñeta. - Letras de hemisferio en minúscula —
23°33's 46°38'wse interpreta:-23.55000000y-46.63333333. - Las letras cambiadas —
23°32'56.10"N 46°38'20.30"Ese interpreta:23.54891667y46.63897222, sin error y sin aviso. - Sin ninguna letra de hemisferio —
23°32'56.10" 46°38'20.30"se rechaza:Formato GMS no reconocido. - Una latitud fuera de rango —
95°00'00"S 46°38'00"Wse rechaza:Formato GMS no reconocido. - Grados decimales escritos en el cuadro DMS —
-23.5489 -46.6388se rechaza:Formato GMS no reconocido.
Tres de las nueve se rechazan, por tres razones distintas detrás de un solo mensaje. 23°32'56.10" 46°38'20.30" nunca coincide con el patrón: la letra del hemisferio lleva el signo y no hay valor por defecto. -23.5489 -46.6388 tampoco coincide — es un par decimal, y el campo de grados decimales de arriba es su lugar. 95°00'00"S 46°38'00"W es el caso raro: coincide con el patrón perfectamente y lo descarta después el control de rango, porque noventa y cinco no es una latitud.
Una forma se interpreta y aun así está mal. 23°32'56.10"N 46°38'20.30"E es la primera viñeta con las dos letras dadas vuelta, y devuelve 23.54891667 y 46.63897222 — un punto en el mar Arábigo frente a Somalia en lugar de São Paulo — en silencio. Aceptado y correcto son veredictos distintos, y nada acá puede distinguir una N deliberada de una tecleada por error.
Una rareza de presentación. La mitad del resultado vuelve a imprimir la coordenada en DMS y redondea los segundos sin arrastrarlos, así que 23°33'S 46°38'W se devuelve como 23°33'0.00"S 46°37'60.00"W. El punto es correcto — 46°37'60" es 46°38'00" — y los decimales de al lado dicen -23.55000000 y -46.63333333, pero la cadena está malformada. Leé los decimales, no el eco.
Por qué se exigían los segundos y qué desbloqueó realmente la corrección
Se exigían, y lo dijimos: nuestra guía de CSV le decía al lector que el conversor quería segundos, y así era. 23°33'S 46°38'W no devolvía absolutamente nada. Si te topaste con ese mensaje y ahora ves aceptada la misma cadena, no te estás volviendo loco: cambió.
Lo que cambió es más grande de lo que suena. El patrón viejo exigía tres grupos numéricos de cada lado — grados, minutos y segundos — así que cualquier forma de dos grupos se rechazaba, tuviera lo que tuviera adentro. El módulo viejo, extraído y ejecutado al lado de la compilación de hoy sobre las mismas entradas: 23°33'S 46°38'W no daba nada antes y ahora da -23.55000000; 23°33.5'S 46°38.2'W no daba nada antes y ahora da -23.55833333. El decimal nunca fue el problema. 23°33.5'00"S 46°38.2'00"W — minutos decimales con un grupo de segundos — se interpretaba antes del cambio y se interpreta ahora; era el tercer grupo ausente el que rechazaba. Así que la corrección desbloqueó todas las formas de dos grupos, minutos decimales incluidos.
Dos cosas que no hizo. No agregó las letras de hemisferio en minúscula: 23°33'00"s 46°38'00"w también se interpretaba antes del cambio, y 23°33's 46°38'w es nuevo solo porque tiene dos grupos. Y no flexibilizó las letras en sí, que siguen siendo obligatorias en los dos lados.
Convertir una columna entera en una planilla
Para una columna de estas, una sola fórmula hace grados más minutos y niega S y W. Con la celda en A1, en una configuración regional de Calc o Sheets que separa argumentos con ; (Excel en inglés quiere ,):
=IF(OR(RIGHT(A1;1)="S";RIGHT(A1;1)="W");-1;1)*(VALUE(LEFT(A1;FIND("°";A1)-1))+VALUE(MID(A1;FIND("°";A1)+1;FIND("'";A1)-FIND("°";A1)-1))/60)
La fórmula da -23.55 para 23°33'S, -15.78333 para 15°47'S, -46.63333 para 46°38'W, 10.25 para 10°15'N y 10.25 para 10°15'E — la rama del signo funciona en los dos sentidos. Da -23.55833 para 23°33.5'S, exacto, en una configuración regional cuyo separador decimal es el punto; en una de coma decimal, el 33.5 de adentro de la celda es lo primero que hay que revisar.
Conocé su dominio, porque la manera en que falla es la parte peligrosa. Maneja grados más minutos con una letra de hemisferio al final, y nada más. Una celda con segundos no se rechaza: se trunca en silencio. 23°32'56.10"S da -23.53333 donde el valor verdadero es -23.548917, un punto a unos 1,7 km de distancia, sin ningún error en la celda. Una celda sin letra de hemisferio tampoco se rechaza: 23°33' da 23.55, positivo, hemisferio norte. Sí rechaza 23°S, 23 33 S y -23.55, cada uno con #VALUE! — y esos son los fallos inofensivos. Los dos silenciosos son los que llegan a un mapa.
En la línea de comandos, GDAL no tiene analizador de DMS por la vía del CSV
Por esa vía, GDAL 3.13.3 no lee el signo de grado. ogrinfo -oo AUTODETECT_TYPE=YES -al -so sobre un archivo de tres filas todo en DMS tipa las dos columnas de coordenadas como texto — lat: String (0.0) y lon: String (0.0) — mientras que la misma llamada sobre la versión decimal de ese archivo las tipa Real (0.0).
La conversión después tiene éxito y no produce nada. ogr2ogr -f GeoJSON out.geojson dms.csv -oo X_POSSIBLE_NAMES=lon -oo Y_POSSIBLE_NAMES=lat sale con 0, imprime una sola línea — Warning 1: Invalid value type found in record 1 for field lat. This warning will no longer be emitted — y escribe "geometry":null en las tres filas, con lat y lon eliminados también de las propiedades, por haber sido consumidos como campos de geometría. Un archivo que se convirtió, sin ningún punto adentro. El número de registro es el de la primera fila que falla, y no siempre 1: poné una fila numérica primera y una fila DMS segunda y el mismo comando dice record 2.
El control es lo que hace eso legible. El mismo comando con las mismas banderas, sobre la versión decimal del archivo, escribe tres puntos reales — "coordinates":[-46.63,-23.55] el primero — y ningún aviso. Así que "geometry":null es GDAL rechazando la celda, no el comando estando mal. Agregar -oo AUTODETECT_TYPE=YES a la llamada de ogr2ogr no cambia ninguno de los dos resultados.
En el visor de CSV, depende del resto del archivo
Soltá un CSV con una celda 23°33'S en el visor de CSV y lo que obtenés depende de si sobrevivió algo más. Una fila DMS entre dos buenas: la capa se abre, los dos puntos buenos se dibujan y la línea de conteos dice 2 puntos · 1 fila sin coordenadas válidas. Un archivo en el que todas las filas son DMS: no hay capa, no hay línea de conteos, no hay botón Exportar en absoluto, solo el cartel No se encontraron columnas de coordenadas válidas. Verifica que las columnas seleccionadas contengan valores numéricos de latitud y longitud.. El control — las mismas tres filas en grados decimales — dice 3 puntos, sin cláusula de descartes atrás. En los dos casos el selector igual se abre e igual preselecciona lat y lon; el rechazo llega después de que hacés clic en Abrir en el mapa.
Archivos de prueba que podés usar
Nada que descargar — tres filas cada uno, escritas a mano. Copiá una viñeta en un editor de texto, un fragmento por línea, guardá como .csv y soltalo en el visor de CSV; para el conversor, pegá una cadena de la matriz de arriba en el campo DMS. El segundo archivo es el tercero con las celdas de coordenadas de la fila 2 reescritas en grados y minutos.
- Todas las filas en grados y minutos —
id,lat,lon,nome·1,23°33'S,46°38'W,São Paulo·2,15°47'S,47°53'W,Brasília·3,3°07'S,60°01'W,Manaus— el cartel, y las transcripciones de GDAL de arriba. - Una fila DMS entre dos buenas —
id,lat,lon,nome·1,-23.55,-46.63,São Paulo·2,15°47'S,47°53'W,Brasília·3,-3.12,-60.02,Manaus— el contador de descartes. - Control —
id,lat,lon,nome·1,-23.55,-46.63,São Paulo·2,-15.79,-47.88,Brasília·3,-3.12,-60.02,Manaus—3 puntos, nada descartado.
Para equipos
Una coordenada convertida sigue siendo solo una coordenada. Estas cadenas salieron de la pantalla de un GPS, de una planilla de relevamiento o de la letra de alguien, y van a parar a un punto que una persona tiene que visitar, fotografiar, completar y firmar. Geodocs toma el archivo, mantiene cada columna como un campo que el equipo completa desde el teléfono, hace la revisión y pone el mapa en el informe. Convertí acá; hacé el trabajo allá.