SIRGAS 2000 vs WGS 84 vs Córrego Alegre / SAD 69: cuándo importa la diferencia
Respuesta corta: SIRGAS 2000 y WGS 84 son el mismo lugar con menos de un metro de diferencia, y la transformación entre ambos es nula — PROJ selecciona EPSG:15894, "SIRGAS 2000 to WGS 84 (1)", un +proj=noop publicado con una exactitud declarada de 1,0 m. Así que el par por el que todo el mundo pregunta no es el que muerde. El que muerde es el heredado: en Brasília una coordenada SAD 69 queda a 68,530 m del mismo punto en el terreno en SIRGAS 2000 (EPSG:15485), en Belo Horizonte una coordenada Córrego Alegre queda a 41,711 m (EPSG:6193), y un archivo etiquetado con un datum mientras contiene el otro te deja el lindero dentro del lote del vecino.
Medido el 23 de septiembre de 2026 con GDAL 3.13.3 y PROJ 9.8.1, contra el conversor de coordenadas en static-page-tools@79fc1f6. La versión de datos de PROJ también cuenta: base EPSG v12.029, PROJ_DATA.VERSION 1.24, con las grillas de desplazamiento br_ibge_CA7072_003.tif y br_ibge_SAD69_003.tif ausentes y la descarga por red apagada, así que toda operación de acá abajo es un Helmert y no una grilla. Eso hace de cada una la operación que PROJ seleccionó acá, y no un hecho universal: con las grillas de proj-data instaladas, de EPSG:4618 a EPSG:4674 se selecciona DERIVED_FROM(EPSG):5528, de EPSG:4618 a EPSG:4326 se selecciona DERIVED_FROM(EPSG):5542, de EPSG:4225 a EPSG:4674 se selecciona DERIVED_FROM(EPSG):5526, y los metros serían otros.
Los cuatro pares, y cuál te mueve de verdad
En la Praça da Sé de São Paulo (-23.550385, -46.633956), projinfo -s EPSG:4674 -t EPSG:4326 --summary devuelve un único candidato, EPSG:15894, con 1,0 m, y projinfo -k operation EPSG:15894 -o PROJ imprime +proj=noop. No se aplica nada: gdaltransform devuelve la coordenada idéntica byte a byte y, con CPL_DEBUG=ON, no registra ninguna línea de operación. EPSG publica la identidad con una incertidumbre de 1,0 m en lugar de un desplazamiento, porque los dos marcos están definidos como el mismo marco con esa aproximación. Entre ellos no hay ninguna reproyección que pueda salir mal.
En la Praça dos Três Poderes de Brasília (-15.799800, -47.861000), de EPSG:4618 a EPSG:4674 se selecciona EPSG:15485, "SAD69 to SIRGAS 2000 (1)", 5,0 m, un Helmert de tres parámetros de +x=-67.35 +y=3.88 +z=-38.22, y el punto se mueve 68,530 m. Hacia EPSG:4326 se selecciona EPSG:5882, "SAD69 to WGS 84 (16)", también de 5,0 m y con el mismo Helmert, y se mueve los mismos 68,530 m.
En la Praça da Liberdade de Belo Horizonte (-19.932000, -43.937000), de EPSG:4225 a EPSG:4674 se selecciona EPSG:6193, "Corrego Alegre 1970-72 to SIRGAS 2000 (2)", 5,0 m, Helmert +x=-206.05 +y=168.28 +z=-3.82, y el punto se mueve 41,711 m; hacia EPSG:4326 se selecciona EPSG:6194 y se mueve los mismos 41,711 m. Un dígito de diferencia, y fáciles de confundir.
El comando projinfo a secas cuenta otra historia
Consultá SAD 69 de la forma obvia y PROJ no te cuenta nada de eso. projinfo -s EPSG:4618 -t EPSG:4326 --summary devuelve un solo candidato — unknown id, Ballpark geographic offset from SAD69 to WGS 84, unknown accuracy, extensión World — bajo el aviso Note: using '--spatial-test intersects' would bring more results (20). Corrélo así y vuelven 20 candidatos en total, diecinueve más que la única de la corrida por defecto; de EPSG:4618 a EPSG:4674 imprime (3) y devuelve 3 en total, dos más. Un ballpark no es una operación y no es una cifra para citar. El --spatial-test contains por defecto pregunta si la extensión de una operación contiene la extensión del CRS de origen entero, y SAD 69 abarca toda Sudamérica, así que ninguna operación restringida a Brasil califica.
Mientras tanto ogr2ogr en la misma máquina aplica calladamente EPSG:5882 y EPSG:15485 a tus puntos reales, porque una transformación de punto prueba el punto. Preguntá a la escala de lo que estás transformando: --spatial-test intersects, o un --bbox ajustado alrededor. La trampa funciona en los dos sentidos — un --bbox del tamaño de Brasil convierte el paso de EPSG:4225 a EPSG:4674 en un ballpark, porque el área de uso de Córrego Alegre es más chica que Brasil.
Córrego Alegre: el conversor corre los parámetros propios de PROJ
El conversor del navegador no llama a PROJ. Usa proj4 con cadenas +towgs84 fijas en el código, y su definición de EPSG:4225 es +towgs84=-206.05,168.28,-3.82,0,0,0,0 sobre +ellps=intl. El EPSG:6193 y el EPSG:6194 de PROJ llevan los dos el paso Helmert +x=-206.05 +y=168.28 +z=-3.82 sobre ese mismo elipsoide — los mismos tres números, byte por byte. Así que en este datum no hay nada que comparar: los dos usan parámetros idénticos y por lo tanto no pueden discrepar, y cualquier cifra de concordancia entre ellos sería la misma aritmética corrida dos veces en vez de un control de uno contra el otro. En Córrego Alegre el conversor es EPSG:6194, por construcción.
SAD 69: dos operaciones EPSG de igual exactitud, y los metros entre ellas
SAD 69 es la comparación de verdad. La definición de EPSG:4618 del conversor lleva +towgs84=-66.87,4.37,-38.52,0,0,0,0 mientras que EPSG:5882 lleva +x=-67.35 +y=3.88 +z=-38.22 — dos Helmert distintos sobre el mismo elipsoide, así que las respuestas sí pueden divergir. El comentario junto a esos parámetros en el código del conversor los llama "a menos de un metro" de distancia, y nadie le había puesto un número.
Acá está el número, y necesita los dos códigos de operación al lado o dice otra cosa. La terna -66.87,4.37,-38.52 del conversor no es una aproximación de EPSG:5882: es EPSG:1877, "SAD69 to WGS 84 (14)", byte por byte — publicada por EPSG con la misma exactitud de 5,0 m y la misma área de uso que EPSG:5882, y segunda en cada corrida de projinfo restringida a Brasil. Pasá el punto de Brasília por las dos y las respuestas quedan a 0,747 m, de 0,730 m a 0,747 m en cinco ciudades brasileñas: la distancia entre dos operaciones publicadas de igual exactitud declarada, cada una unas siete veces dentro de su propia incertidumbre declarada de 5,0 m. No es error del conversor, y no es nada al lado de los 68,530 m que EPSG:15485 y EPSG:5882 mueven el punto de entrada.
Cuándo importa la diferencia
Fijá el umbral según lo que estés discutiendo. Un lindero catastral o un levantamiento de lote se discute en centímetros, y a través de EPSG:5882 el desplazamiento de SAD 69 midió 63,015 m en Salvador, 68,530 m en Brasília, 69,291 m en Manaus, 71,403 m en São Paulo y 74,588 m en Porto Alegre — cualquiera de esos te pone una esquina en el lote de otro. Es sistemático y no ruidoso: cada vértice se mueve igual, así que el lote conserva su forma y parece plausible. En una carta base a 1:250.000 el mismo desplazamiento es una fracción de milímetro e invisible, que es como los archivos heredados sobreviven décadas — pero la etiqueta igual tiene que estar bien, porque el día que alguien reutilice ese archivo para un lindero es el día en que deja de ser invisible.
Cómo saber en qué datum está un archivo
Tres grafías de la misma respuesta, y cuál ves depende de cómo mires. ogrinfo -so yourfile.shp yourlayer en GDAL 3.13.3 imprime WKT2, así que la palabra clave es GEOGCRS[ y los nombres se leen GEOGCRS["SIRGAS 2000",, GEOGCRS["WGS 84",, GEOGCRS["SAD69", y GEOGCRS["Corrego Alegre 1970-72",. Agregá -wkt_format WKT1 y los mismos cuatro vuelven bajo la palabra clave más vieja GEOGCS[, la grafía que sigue mostrando casi toda la documentación. Abrí el .prj en un editor de texto y obtenés una tercera, WKT1 de ESRI con sus propios nombres: GCS_SIRGAS_2000, GCS_WGS_1984, GCS_South_American_1969 y GCS_Corrego_Alegre.
El elipsoide lo decide cuando el nombre viene mal escrito: Córrego Alegre 1970-72 se apoya en International_1924 y SAD 69 en GRS_1967_Truncated, mientras que SIRGAS 2000 y WGS 84 se apoyan en GRS_1980 y WGS_1984, que comparten semieje mayor. Una planilla no te da nada para leer — un CSV no lleva sistema de coordenadas, así que el datum tiene que venir de quien lo exportó (latitud y longitud de un CSV en el mapa).
Asignar o reproyectar: dos flags, dos verbos
ogr2ogr -a_srs EPSG:4674 relabel.shp fix4225.shp sobre un archivo Córrego Alegre escribe un .prj nuevo y no mueve nada: ogrinfo -so ahora dice GEOGCRS["SIRGAS 2000", mientras que ogrinfo -al -geom=YES sigue imprimiendo POINT (-43.937 -19.932). ogr2ogr -s_srs EPSG:4225 -t_srs EPSG:4674 moved.shp fix4225.shp hace el otro trabajo: la etiqueta cambia igual y la geometría pasa a ser POINT (-43.937208157368 -19.9323212697943), idéntica byte a byte a lo que produce EPSG:6193, porque esa es la operación que eligió ogr2ogr. El archivo reetiquetado es la trampa — abre, dibuja, se ve bien, y su punto quedó a los 41,711 m completos de donde corresponde, con un .prj flamante avalándolo.
-a_srs es correcto en exactamente un caso: los números ya estaban bien y la etiqueta faltaba o estaba equivocada. -s_srs con -t_srs es correcto siempre que los números tengan que moverse. El post del .prj que falta cubre el primer caso en detalle.
En el navegador
El conversor de coordenadas ofrece los cuatro en su selector Proyección de origen (CRS), y las etiquetas de las opciones están fijas en inglés en el código para todos los idiomas, así que se leen igual en las páginas en portugués y en español — incluido el encabezado de grupo Brasil, escrito en portugués dentro de una interfaz en inglés. Bajo Brasil: SIRGAS 2000 (EPSG:4674), SAD 69 — legacy (EPSG:4618) y Córrego Alegre 1970-72 — legacy (EPSG:4225), más SAD 69 / Brazil Polyconic — legacy (EPSG:29101), SAD 69 / UTM 22S — legacy (EPSG:29192) y SAD 69 / UTM 23S — legacy (EPSG:29193). WGS 84 (EPSG:4326) está bajo Global.
Fijá el destino antes de leer nada: arranca en SIRGAS 2000 / UTM 23S (EPSG:31983), así que los grados tipeados en la fila Grados decimales con Proyección destino (CRS) sin tocar vuelven en metros. Elegí el mismo CRS de los dos lados y no hay mitad de resultado — la página imprime Elige una proyección de destino diferente para ver la conversión. Para los códigos en sí, la sección "El legado que heredás" de la hoja de referencia EPSG lista las entradas brasileñas heredadas y qué reemplazó a cada una, y su sección "El conjunto latinoamericano" hace lo mismo para Colombia, Argentina, Chile y México (códigos EPSG para Brasil y América Latina).
Archivos de prueba que podés usar
Nada que descargar: el fixture es un par de coordenadas. Convertí los tres pares de arriba en sus propios datums — Praça da Sé en SIRGAS 2000, Praça dos Três Poderes en SAD 69, Praça da Liberdade en Córrego Alegre 1970-72 — y mirá cómo se mueve cada uno. Cada uno cae dentro del área de uso declarada de su datum, y de eso dependen las corridas de arriba: preguntale a PROJ a una escala más amplia — sin ningún área, o con un --bbox del tamaño de Brasil — y te responde con un ballpark en lugar de una operación nombrada.
Para armar la variante rota, tomá un shapefile que sepas que está en Córrego Alegre y corré ogr2ogr -a_srs EPSG:4674 relabel.shp fix4225.shp. El archivo ahora declara SIRGAS 2000, cada coordenada está exactamente donde estaba, y nada adentro te lo va a decir.
Para equipos
Un datum es un dato sobre un archivo que casi siempre vive fuera del archivo — el nombre de una carpeta, un hilo de correo, la memoria de una persona sobre quién lo entregó. Geodocs mantiene el sistema de coordenadas junto con los datos en un mapa compartido, así que un levantamiento heredado se reproyecta una sola vez al entrar y todos los que dibujan encima trabajan en el mismo marco.