Códigos EPSG de Brasil y América Latina: la guía rápida

Un código EPSG es un número que representa todo un sistema de referencia de coordenadas — datum, unidades y, si la hay, la proyección. Esta página es lo que consultás cuando un archivo brasileño o latinoamericano te entrega un número y ninguna explicación: qué código es SIRGAS 2000, qué zona UTM cubre cada estado, y cómo convertir entre ellos.

Cada código de esta página salió de GDAL el 11 de septiembre de 2026 — GDAL 3.13.3 "Iowa City", PROJ 9.8.1 — y no de memoria. Cuando el nombre que muestra una herramienta difiere del nombre que aparece en el WKT, mostramos los dos: esa diferencia es justo lo que convierte una búsqueda de datum en un resultado vacío.

Qué es realmente un código EPSG

Un código EPSG es un identificador de registro para un sistema de referencia de coordenadas. Un solo número representa toda una definición — datum, elipsoide, meridiano de origen, unidades y, si el CRS es proyectado, la proyección y sus parámetros. Escribir EPSG:4674 dice "grados sobre el datum SIRGAS 2000" en vez de cuarenta líneas de WKT.

Por eso "mi archivo no tiene código EPSG" es una queja tan común. El .prj de un Shapefile no guarda ningún número; guarda WKT, y que un lector logre convertir ese texto de vuelta en un código depende de qué tan bien coincida con el registro. Nuestra guía de Shapefile cubre los archivos laterales; las autoridades para los códigos son epsg.org y la documentación de PROJ.

Algunos formatos no tienen dónde poner un CRS, y se asume uno por defecto en silencio. Corré ogrinfo -so -al sobre un GeoJSON pelado y OGR reporta GEOGCRS["WGS 84" con ID["EPSG",4326] — nada en el archivo lo decía. En Brasil eso es peligroso porque casi funciona: SIRGAS 2000 y WGS 84 coinciden con un margen muy por debajo del metro, así que el punto de partida equivocado igual parece correcto.

Una propiedad para internalizar de entrada: los códigos EPSG son densos, no dispersos. Un error de un solo dígito suele caer en otro CRS válido en cualquier otra parte del mundo. EPSG:4674 es SIRGAS 2000; EPSG:4675 es GEOGCS["Guam 1963". Nadie te avisa — tus datos simplemente se mueven de lugar.

El conjunto brasileño: SIRGAS 2000, SAD 69 y Córrego Alegre

Los códigos que te vas a encontrar en datos brasileños, cada uno con el nombre que imprime GDAL. Todos están en el selector de nuestro conversor de coordenadas.

En uso actual

Estos son los códigos que elegís para un trabajo nuevo:

  • EPSG:4674GEOGCS["SIRGAS 2000"; grados, el marco de referencia nacional, y la respuesta correcta para cualquier cosa en latitud y longitud.
  • EPSG:31978 a EPSG:31985PROJCS["SIRGAS 2000 / UTM zone 18S" hasta PROJCS["SIRGAS 2000 / UTM zone 25S"; metros, cubiertos zona por zona más abajo.
  • EPSG:5880PROJCS["SIRGAS 2000 / Brazil Polyconic"; la proyección de alcance nacional, para cuando un dataset cubre todo el país y ninguna zona UTM aislada alcanza. Su hermana en Mercator, EPSG:5641, es PROJCS["SIRGAS 2000 / Brazil Mercator".
  • EPSG:32722, EPSG:32723, EPSG:32724PROJCS["WGS 84 / UTM zone 22S" y sus vecinas 23S y 24S; la misma grilla sobre el datum WGS 84, que es lo que te entrega un receptor GPS.

El legado que heredás

Estos códigos no se eligen; se heredan, casi siempre de algo digitalizado antes de 2005. El conversor marca cada uno como — legacy.

  • EPSG:4618GEOGCS["SAD69" en el WKT, sin espacio. El selector muestra SAD 69 — legacy (EPSG:4618), con espacio, así que buscar la etiqueta de la interfaz dentro de un .prj no encuentra nada.
  • EPSG:29192 y EPSG:29193PROJCS["SAD69 / UTM zone 22S" y PROJCS["SAD69 / UTM zone 23S"; el par UTM viejo para el sureste densamente poblado.
  • EPSG:29101PROJCS["SAD69 / Brazil Polyconic"; el antecesor de 5880, y la razón por la que un mapa nacional viejo queda desplazado decenas de metros.
  • EPSG:4225GEOGCS["Corrego Alegre 1970-72". El WKT de GDAL no lleva ningún acento; la etiqueta del selector escribe Córrego Alegre 1970-72 — legacy (EPSG:4225), y este artículo escribe Córrego Alegre con tilde en la prosa. Buscá en el .prj la cadena sin acento.

Los dos códigos globales

Otros dos aparecen en todo proyecto, sea cual sea el país:

  • EPSG:4326GEOGCS["WGS 84"; grados, la lengua franca del GPS y del GeoJSON.
  • EPSG:3857PROJCS["WGS 84 / Pseudo-Mercator"; en lo que se renderiza todo mapa web, y un mal lugar para calcular cualquier cosa.

Las unidades de EPSG:3857 no son metros. Son metros solo en el ecuador, y el error crece con la latitud. Medido en São Paulo el 11 de septiembre de 2026, dos puntos en latitud -23.5505 y separados 0.1° en longitud quedan a 11,131.949 unidades de distancia en 3857 contra una distancia geodésica real de 10,210.207 m — una sobreestimación del 9.03%, 921.7 m sobre una línea de 10.2 km. La razón, 1.09028, coincide casi exactamente con 1/cos(23.5505°), es decir 1.09086. El mismo par en EPSG:31983 da 10,209.419 m de distancia, a 0.788 m de la geodésica, el efecto esperado del factor de escala 0.9996 de UTM. Medí en UTM o en la Polyconic; renderizá en 3857.

Cómo elegir una zona UTM en Brasil

Los códigos UTM de SIRGAS 2000 son contiguos, así que hay una regla en vez de una tabla de consulta: 31977 + (zone - 17), cubriendo las zonas 17S a 25S. GDAL lo confirma — gdalsrsinfo -o proj4 EPSG:31983 imprime +proj=utm +zone=23 +south. No extrapoles más allá del bloque: EPSG:31986 no es la zona 26S, es PROJCS["SIRGAS 1995 / UTM zone 17N" — otro datum, el otro hemisferio.

Las listas de abajo se calcularon el 11 de septiembre de 2026 a partir de los límites estatales de máxima calidad del IBGE, vía la API de malhas enlazada al final. Un estado aparece bajo cada zona que su límite toca, no la única zona que le asignaría una tabla resumida.

Zona por zona

Cada zona lista los estados cuyo límite entra en ella:

  • Zona 18S — EPSG:31978 — oeste de Acre, oeste de Amazonas. El punto más occidental de Brasil está en unos 73.99°O, dentro de la zona 18, así que ningún estado brasileño llega a la zona 17S; EPSG:31977 se ofrece para el resto de la cobertura continental de SIRGAS 2000.
  • Zona 19S — EPSG:31979 — este de Acre incluyendo Rio Branco, centro de Amazonas, oeste de Rondônia.
  • Zona 20S — EPSG:31980 — Amazonas, la mayor parte de Rondônia y Roraima, oeste de Mato Grosso.
  • Zona 21S — EPSG:31981 — este de Amazonas, Rondônia y Roraima, Mato Grosso, y los bordes occidentales de Pará, Amapá, Mato Grosso do Sul, Paraná y Rio Grande do Sul.
  • Zona 22S — EPSG:31982 — Santa Catarina entera, más Paraná, Rio Grande do Sul, Mato Grosso do Sul, este de Mato Grosso, Goiás, Pará, este de Amapá, y los bordes occidentales de Distrito Federal, São Paulo, Tocantins y Minas Gerais, más la franja occidental de Maranhão.
  • Zona 23S — EPSG:31983 — São Paulo incluyendo la capital, casi todo Maranhão, la mayor parte de Minas Gerais, este de Distrito Federal, Goiás, Tocantins y Pará, oeste de Piauí, Bahia y Rio de Janeiro.
  • Zona 24S — EPSG:31984 — Ceará y Sergipe enteros, Espírito Santo, este de Bahia, Piauí, Minas Gerais y Rio de Janeiro, y el interior de Rio Grande do Norte, Paraíba, Pernambuco y Alagoas, más la franja oriental de Maranhão.
  • Zona 25S — EPSG:31985 — la punta este del Nordeste, al este de 36°O: Natal, João Pessoa, Recife y Maceió, más Fernando de Noronha.

Los estados que abarcan dos zonas, o más

Algunos estados se niegan a quedar en una sola zona, y son esos los casos que generan discusión:

  • Amazonas abarca cuatro zonas — de 18S a 21S. No existe "la zona UTM de Amazonas"; un dataset a nivel estado completo usa una proyección nacional o se queda en grados.
  • Pará, Mato Grosso, Minas Gerais y Maranhão abarcan tres cada uno. Las dos zonas extremas de Maranhão son delgadas: el grueso está en 23S, con un borde occidental en 22S y uno oriental en 24S.
  • Distrito Federal abarca dos, igual que el municipio de Brasília solo: su límite va de 48.29°O a 47.31°O, a caballo de la línea de 48°O entre EPSG:31982 y EPSG:31983.
  • Solo tres estados están en una única zona — Santa Catarina en 22S, Ceará y Sergipe en 24S.
  • Las islas del Atlántico se salen de la serie. La malla del IBGE para el municipio de Vitória incluye tierra a 28.85°O, el grupo de Trindade y Martim Vaz, en zona 26S — más allá del último código UTM de SIRGAS 2000 ofrecido.
  • Cuando un dataset cruza zonas, dejá de elegir una zona. EPSG:5880 cubre el país entero en un sistema proyectado; EPSG:4674 lo mantiene en grados hasta que algo necesite metros.

El conjunto latinoamericano

El mismo conversor de coordenadas mueve un punto entre cualquiera de estos y el conjunto brasileño. Varios son nombres que parecen correctos y no lo son, así que se imprime la cadena de GDAL para cada uno.

Colombia

Colombia funciona con MAGNA-SIRGAS, en dos códigos fáciles de confundir:

  • EPSG:4686GEOGCS["MAGNA-SIRGAS"; geográfico, el marco nacional.
  • EPSG:9377PROJCS["MAGNA-SIRGAS 2018 / Origen-Nacional". Quedate con el 2018: es una realización de datum distinta, no una versión proyectada de 4686. En el WKT, el datum de 9377 lleva AUTHORITY["EPSG","1329"] mientras que el de 4686 lleva AUTHORITY["EPSG","6686"].

Argentina

El par argentino separa el marco geográfico de la grilla:

  • EPSG:5340GEOGCS["POSGAR 2007"; geográfico, en grados. No es la grilla argentina, y llamarlo así es el error más común que se comete con este código.
  • EPSG:5343 y EPSG:5349PROJCS["POSGAR 2007 / Argentina 1" y PROJCS["POSGAR 2007 / Argentina 7"; las fajas Gauss-Krüger, y las que están en metros.

Chile

Chile tiene un código ofrecido y un vecino que no es el mismo marco:

  • EPSG:5360GEOGCS["SIRGAS-Chile 2002". Notá el 2002. La realización de 2016 es un código distinto, EPSG:9153, que GDAL nombra GEOGCS["SIRGAS-Chile 2016" y que el conversor no ofrece. Renombrar 5360 como "2016" mezcla dos marcos distintos.

México

México repite la misma división entre geográfico y proyectado:

  • EPSG:6365GEOGCS["Mexico ITRF2008"; geográfico, en grados, y tampoco una grilla.
  • EPSG:6362PROJCS["Mexico ITRF92 / LCC"; la cónica conforme de Lambert, la proyectada del par.

El marco continental

Un código abarca el continente, más el vecino con el que se lo confunde:

  • EPSG:4170GEOGCS["SIRGAS 1995"; la primera realización continental de SIRGAS, geográfica, que te vas a encontrar en datasets regionales archivados y no algo que se elija para trabajo nuevo.
  • No es el marco de Uruguay. SIRGAS-ROU98 es EPSG:5381, GEOGCS["SIRGAS-ROU98", y su grilla EPSG:5382, PROJCS["SIRGAS-ROU98 / UTM zone 21S". El conversor no ofrece ninguno de los dos.

Cómo convertir entre ellos: SIRGAS 2000, WGS 84 y UTM

En el navegador

Pegá una coordenada en el conversor de coordenadas, elegí un CRS, y leé todas las demás representaciones del mismo punto: grados decimales, DMS, este y norte en UTM, WKT, EWKT y WKB. Corre enteramente en la página. Cuatro cosas valen la pena saber.

  • Ofrece 42 códigos en cinco grupos, y todos los códigos de los conjuntos brasileño y latinoamericano de arriba están entre ellos. Los cuatro que este artículo nombra solo para advertirte — EPSG:4675, EPSG:9153, EPSG:5381 y EPSG:5382 — están deliberadamente ausentes, igual que EPSG:31986.
  • Los nombres de los grupos están en inglés en todos los idiomas. Global, Brasil, Latin America, Europe y North America están fijos en el código, así que las versiones en portugués y en español muestran esas mismas cinco palabras.
  • Las etiquetas de las opciones también están fijas. Por eso SAD 69 — legacy (EPSG:4618) y SIRGAS-Chile 2002 — Chile (EPSG:5360) se leen igual en los tres idiomas. La marca — legacy es una señal: datums que te encontrás, no datums que elegís.
  • No hay enlace directo (deep link). La página no lee nada de la query string, así que una URL con una coordenada pegada al final abre un formulario vacío.

En la línea de comandos

Recurrí a la línea de comandos cuando tenés un archivo o mil puntos — no porque falte algo en el selector. Las transcripciones de abajo corrieron el 11 de septiembre de 2026, todas sobre un mismo punto: Praça da Sé, São Paulo, en -23.5505, -46.6333.

  • cs2csecho "-23.5505 -46.6333" | cs2cs -f "%.3f" EPSG:4674 EPSG:31983 imprime 333287.915 7394588.319 0.000. Hacia la Polyconic, cs2cs -f "%.3f" EPSG:4674 EPSG:5880 imprime 5751824.537 7375179.974 0.000.
  • El orden de los ejes es la trampa. Dado un código EPSG:, PROJ respeta el orden de ejes de la autoridad, así que la entrada para EPSG:4674 es latitud y después longitud. Si le das longitud y latitud, obtenés una respuesta silenciosamente equivocada, no un error.
  • gdaltransform usa el orden contrario. echo "-46.6333 -23.5505" | gdaltransform -s_srs EPSG:4674 -t_srs EPSG:31983 imprime 333287.91510143 7394588.31863695 0 — el mismo punto al milímetro, la misma cadena de herramientas, la entrada invertida.
  • ogr2ogr para el archivoogr2ogr -s_srs EPSG:4674 -t_srs EPSG:31983 -f GeoJSON out.geojson in.geojson escribe "name": "urn:ogc:def:crs:EPSG::31983" y el mismo este y norte. El -s_srs es lo que lo hace correcto sobre un GeoJSON, que no lleva CRS propio.
  • Revisá las versiones antes de confiar en una transcripcióngdalinfo --version imprime GDAL 3.13.3 "Iowa City", released 2026/08/13. Para PROJ usá cs2cs 2>&1 | head -1, que imprime Rel. 9.8.1, April 10th, 2026, porque cs2cs --version sale con un estado de error.

Archivos de prueba que podés usar

Cada línea de abajo se verificó el 11 de septiembre de 2026 con un user agent de navegador, desde una sola máquina. Un código de estado es orientativo: una fuente que responde para nosotros puede rechazarte a vos.

  • El registro EPSGepsg.org respondió 200; buscá por código o por área. El dominio pelado redirige con un 302, así que enlazá la página, no el origen. El dataset está disponible sin costo, y la propiedad de IOGP "debe reconocerse en cualquier publicación o transmisión" según sus términos.
  • Documentación de PROJproj.org respondió 200 con un encabezado CORS abierto, y el dominio pelado también es un 302 hacia ahí. PROJ se distribuye bajo la licencia X/MIT, y la página de la Mercator transversa respondió 200.
  • API de malhas del IBGE, un archivo y no un portalel límite de Brasil como GeoJSON respondió 200 con access-control-allow-origin: *, así que funciona desde una página web y también como descarga. Agregá &intrarregiao=UF para las mallas estatales de las que salieron las listas por zona. La página de la API no declara licencia — dale crédito al IBGE y revisá los términos del portal antes de republicar.
  • Portal de descargas del IBGEdownloads-geociencias respondió 403 a nuestro script, y también a un user agent de navegador, detrás de una interstitial de Cloudflare — un desafío que una persona resuelve de forma interactiva y un script no. Descargá desde ahí en un navegador; no lo llames desde una aplicación web. Un filtro de bots, no un enlace muerto.
  • INEGI, Méxicoinegi.org.mx/temas/mapas respondió 200 a un user agent de navegador sin encabezado CORS: descargá desde ahí, no lo llames desde una aplicación web.
  • IGAC, Colombiaigac.gov.co respondió 200 y publica a través de una sección de datos abiertos, con los términos de uso enlazados en el pie de página. Una advertencia: su subdominio de geoportal no respondió en absoluto, con un timeout de 10.3 segundos en dos user agents distintos. Puede que solo se pueda acceder desde dentro de Colombia.
  • Servidor de archivos del IBGEgeoftp.ibge.gov.br respondió 200 sobre https con un encabezado CORS abierto, y guarda los productos cartográficos masivos.

Quedate con el hábito detrás de la página: antes de escribir un código en cualquier lado, preguntale al software qué significa. gdalsrsinfo -o wkt1 EPSG:5360 dice 2002, no 2016. Si tu próximo archivo es un ráster y no una lista de puntos, la misma disciplina vale para cómo están organizados sus bytes: nuestra guía de Cloud Optimized GeoTIFF hace con el layout lo que esta página hace con los códigos, y Geodocs se ocupa de los dos para un equipo de campo.

Artículos Relacionados

Navegação