Importas un shapefile de un colega, lo superpones sobre tu mapa base, y los edificios quedan desplazados 200 metros al este de donde deberían. El archivo .prj dice "GCS_WGS_1984" pero los datos fueron capturados en PSAD56. Este desajuste puede costarte horas de depuración, y la causa es siempre la misma: un código EPSG mal asignado.
Un código EPSG es un identificador numérico para un sistema de referencia de coordenadas (CRS). Di EPSG:4326 y cualquier ingeniero GIS sabe que te refieres a WGS 84 — sin ambigüedad, sin tener que interpretar una cadena WKT. Entender esto es el primer paso para evitar datos desalineados.
¿De dónde vienen los códigos EPSG?
EPSG son las siglas del European Petroleum Survey Group, fundado en 1985. El contexto: varias petroleras realizaban estudios offshore en las mismas aguas pero no podían combinar sus datos porque cada empresa usaba un sistema de coordenadas distinto. Jean-Patrick Girbig, topógrafo jefe de Elf Aquitaine, reunió a geodestas de Agip, BP, Deminex, Shell, Statoil y Total para resolver el problema.
Su primera tarea fue crear una base de datos estandarizada de CRS, publicada en 1993 con más de 500 definiciones. En 1995, el estándar GeoTIFF v1.0 adoptó los códigos EPSG como identificador de CRS, lo que sacó a EPSG de la industria petrolera y lo llevó al GIS convencional.
En 2005, el grupo de trabajo EPSG se reorganizó bajo la IOGP (Asociación Internacional de Productores de Petróleo y Gas), pero el nombre EPSG se mantuvo. Hoy el dataset EPSG (v12.053) contiene más de 7.000 definiciones de CRS, 2.500 métodos de proyección y 2.500 transformaciones de coordenadas — más de 20.000 entradas en total.
¿Qué es exactamente un código EPSG?
Un código EPSG es un identificador numérico de 4 a 5 dígitos (rango 1024–32767) que identifica de forma única un CRS, datum, elipsoide o método de transformación de coordenadas en el dataset EPSG. Su base técnica es el estándar ISO 19111.
Notación estándar
El formato más común es authority:code:
EPSG:4326
OGC también define un formato URL, frecuente en servicios web:
http://www.opengis.net/def/crs/EPSG/0/4326
¿Qué contiene una definición EPSG?
Cada código mapea una definición completa de CRS: parámetros del elipsoide (semieje mayor, aplanamiento), datum, dirección y orden de los ejes, unidad de medida (grados o metros) y el área geográfica de aplicación.
La trampa más común es el orden de los ejes. La definición estándar de EPSG:4326 especifica latitud primero (lat, lng), pero la mayoría del software GIS pasa longitud primero (lng, lat). GeoJSON usa lng, lat; L.latLng() de Leaflet usa lat, lng — y el error resultante no es un simple intercambio de coordenadas: los puntos aparecen dispersos aleatoriamente por el mapa.
Códigos EPSG más utilizados
| Código EPSG | Nombre | Tipo | Unidad | Uso típico |
|---|---|---|---|---|
| 4326 | WGS 84 | Geográfico | Grados | GPS, intercambio global de datos |
| 3857 | Web Mercator | Proyectado | Metros | Mapas web (Google Maps, OSM) |
| 4674 | SIRGAS 2000 | Geográfico | Grados | América Latina, estándar continental |
| 5419 | SIRGAS 2000 / UTM Zone 19S | Proyectado | Metros | Chile, Perú, occidente sudamericano |
| 4686 | MAGNA-SIRGAS | Geográfico | Grados | Colombia |
| 32601–32660 | Zonas UTM Norte | Proyectado | Metros | Cartografía y topografía local |
| 32701–32760 | Zonas UTM Sur | Proyectado | Metros | Cartografía y topografía local |
| 4269 | NAD83 | Geográfico | Grados | México, Centroamérica |
EPSG:4326 vs EPSG:3857 — Los dos códigos que todo el mundo confunde
EPSG:4326 (WGS 84) es un CRS geográfico que representa posiciones en grados de latitud/longitud. La salida cruda del GPS es WGS 84. Es el estándar para almacenamiento e intercambio de datos.
EPSG:3857 (Web Mercator) es un CRS proyectado que mapea la tierra en un plano, con unidades en metros. Google Maps adoptó esta proyección en su lanzamiento en 2005, y prácticamente todos los mapas web lo adoptaron.
EPSG inicialmente rechazó registrar el 3857. Su objeción: usa una fórmula esférica aplicada a un datum elipsoidal, lo cual es matemáticamente incorrecto. Google lo implementó de todos modos, y cuando EPSG finalmente aceptó registrarlo en 2009, todos los mapas web del planeta ya lo estaban usando. A pesar de lo extendido que está, 3857 no sirve para mediciones precisas de área o distancia — tiene un error de escala de aproximadamente 0,33% respecto al Mercator estándar.
La regla de oro: 4326 para almacenar, 3857 para visualizar. El conversor de coordenadas de KunYu soporta la conversión entre ambos.
Cómo encontrar el código EPSG correcto
Caso 1: Conoces el nombre del CRS
Si conoces el nombre (ej. "WGS 84", "SIRGAS 2000" o "MAGNA-SIRGAS"), búscalo directamente en la herramienta de búsqueda EPSG. Permite buscar entre más de 8.000 definiciones EPSG por código, nombre y región.
Caso 2: Conoces la ubicación, pero no el CRS
Cuando necesitas un CRS proyectado adecuado para una zona específica, usa la herramienta EPSG Finder — haz clic o dibuja un rectángulo en el mapa, y obtendrás todos los códigos EPSG cuya área de uso cubre esa región.
Búsqueda EPSG
Busca y explora la base de datos de sistemas de referencia de coordenadas EPSG.
Try it nowCaso 3: Recibiste datos sin información de CRS
Revisa los archivos de metadatos que acompañan los datos. Los Shapefiles tienen un archivo .prj (ábrelo con cualquier editor de texto) que contiene la definición del CRS en formato WKT. Los GeoTIFF normalmente incluyen la información EPSG en sus metadatos. Con GDAL:
# Consultar el CRS de un GeoTIFF
gdalsrsinfo input.tif
# Leer el archivo .prj de un Shapefile
cat data.prj
Uso de códigos EPSG en software GIS
QGIS: Propiedades del Proyecto → panel CRS permite buscar y cambiar el CRS por código EPSG. QGIS usa EPSG:4326 por defecto.
GDAL/OGR: Especifica el CRS de destino directamente con un código EPSG:
# Reproyectar un Shapefile de SIRGAS 2000 a WGS 84
ogr2ogr -s_srs EPSG:4674 -t_srs EPSG:4326 salida.shp entrada.shp
PROJ: El motor de transformación de coordenadas de código abierto. Su base de datos (proj.db) integra definiciones de CRS de EPSG, IGNF y ESRI.
En código, los códigos EPSG funcionan igual:
// Proj4js (JavaScript)
import proj4 from "proj4";
proj4.defs("EPSG:4674", "+proj=longlat +ellps=GRS80 +no_defs");
const result = proj4("EPSG:4326", "EPSG:4674", [-58.3816, -34.6037]);
# pyproj (Python)
from pyproj import Transformer
transformer = Transformer.from_crs("EPSG:4326", "EPSG:3857", always_xy=True)
x, y = transformer.transform(-58.3816, -34.6037)
Preguntas frecuentes
¿Cuál es la diferencia entre EPSG:4326 y CRS:84?
Ambos son WGS 84, pero con diferente orden de ejes. La definición estándar de EPSG:4326 es latitud primero (lat, lng), mientras que CRS:84 es longitud primero (lng, lat). GeoJSON usa lng, lat, pero L.latLng() de Leaflet espera lat, lng — confundir esto es un bug muy común.
Mis datos están desplazados decenas o cientos de metros. ¿Por qué?
La causa más común es un código EPSG incorrecto. En América Latina, mezclar WGS 84 (EPSG:4326) con datums locales como PSAD56 (Perú, Venezuela) o SAD69 (Brasil antiguo) genera desplazamientos de decenas a cientos de metros según la región. SIRGAS 2000 es prácticamente coincidente con WGS 84, pero los datums coloniales sí producen offsets importantes.
¿Los códigos EPSG caducan?
Se actualizan pero nunca se eliminan ni se reasignan. El subcomité de geodesia de IOGP actualiza periódicamente el dataset EPSG. Los códigos obsoletos se marcan como deprecated y apuntan a sus reemplazos.
¿Qué códigos EPSG se usan en América Latina?
El marco continental es SIRGAS 2000 (EPSG:4674), adoptado por la mayoría de los países. Cada país tiene además sus propios CRS nacionales: Colombia usa MAGNA-SIRGAS (EPSG:4686), México usa ITRF2008 (EPSG:6365), Argentina usa POSGAR 2007 (EPSG:5347). Para proyecciones locales, las zonas UTM son las más frecuentes: EPSG:32614–32619 para México y América Central, EPSG:32717–32722 para el cono sur.
La Regla que Cubre el 90% de los Casos
4326 para almacenar e intercambiar, 3857 para visualizar en web. Ante la duda, busca por nombre con EPSG Search o por ubicación con EPSG Finder.