Skip to content

Base de datos del INEGI Áreas Geoestadísticas Estatales, Municipales y Localidades (AGEEML) para MySQL, PostgreSQL y SQLite. Servicio para importar bases del INEGI y microservicio para la consulta de las bases.

License

Notifications You must be signed in to change notification settings

MicroMatt27170/AGEEML

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Áreas Geoestadísticas Estatales, Municipales y Localidades

Base de Datos del INEGI en MySQL, PostgreSQL y SQLite

INEGI AGEEML

El INEGI cuenta con “Catálogo Único de Claves de Áreas Geoestadísticas Estatales, Municipales y Localidades” de la república mexicana que actualiza cada mes. El archivo fuente se encuentra en varios formatos y se puede descargar desde la sección Catálogos Predefinidos y consultar el documento de descripción de los campos.

En este proyecto, extraigo toda la información de un archivo CSV versión UTF-8 y lo convierto a bases de datos MySQL, PostgreSQL y SQLite.

Índice

  1. Diseño
  2. Coordenadas Geográficas
  3. Descarga
  4. Diccionario de Datos
  5. Contribuciones
  6. Actualizaciones

Diseño

El archivo contiene 3 tablas: estados, municipios y localidades. El diseño de la base de datos se muestra en la siguiente imagen:

He importado todos los campos que vienen en la base de datos del INEGI, se pueden consultar en la sección "Diccionario de Datos". Los campos importados están marcados en negrita.

La versión actual es: 2025.11

La fecha de corte corresponde a NOV 2025. Este dato es importante porque garantiza que el catálogo está actualizado a noviembre de 2025.

Conteo de registros:

  • 32 Estados
  • 2,469 Municipios
  • 300,690 Localidades

El peso de la base de datos es de: 37.3 MB

Coordenadas Geográficas

Los campos latitud y longitud vienen originalmente en un sistema de coordenadas DMS (Grados/Minutos/Segundos) . Actualmente el archivo también cuenta con dos campos con un sistema de coordenadas DD (Grados Decimales) en los campos lat y lng para ser ocupados en sistemas de mapas tipo Google Maps

Descarga

Archivos de descarga por motor y formato:

Formato MySQL PostgreSQL SQLite
sql.gz Descarga Descarga Descarga
db Descarga

Estructura del repositorio

  • mysql/, postgresql/, sqlite/: scripts SQL (.sql) y comprimidos (.sql.gz) listos para importar.
  • sqlite/: incluye además ageeml.db generado automáticamente.
  • importer/: generador de SQL y base SQLite a partir del CSV del INEGI.
  • ageeml-odata-service/: servicio OData para consumir el catálogo (Estados, Municipios y Localidades).
  • docker-compose.yml: entorno de ejemplo con MySQL, PostgreSQL y el servicio OData.

Los datos están actualizados a noviembre de 2025. Este punto es crítico para asegurar que las claves y catálogos reflejan el último corte del INEGI.

Regenerar SQL y base de datos (importer)

Puedes ejecutar el importador para sobrescribir los .sql y .sql.gz de MySQL, PostgreSQL y SQLite. En el caso de SQLite, también actualiza sqlite/ageeml.db. Esto descarga el archivo oficial del INEGI AGEEML y garantiza que los datos quedan actualizados.

DOTNET_ENVIRONMENT=Development dotnet run --project importer

Servicio OData

El servicio ageeml-odata-service expone un API OData con las entidades Estados, Municipios y Localidades. Sirve una base de datos lista para usarse y permite consultas con filtros y proyecciones.

Ejemplos de consultas:

  • /api/v1/Estados?$select=id,nombre
  • /api/v1/Municipios?$filter=estadoId eq 1
  • /api/v1/Localidades?$filter=poblacion gt 1000000&$count=true
  • /api/v1/Localidades?$top=10&$skip=20
  • /api/v1/Localidades?$expand=municipio($select=id,nombre)

Levantar con Docker Compose

Puedes iniciar MySQL y PostgreSQL como ejemplo, además del servicio OData:

docker compose up

Imagen pública del servicio OData

Si no quieres construir la imagen localmente, puedes usar la imagen pública:

micromatt27170/ageeml-odata-service

Diccionario de Datos

Descripción de los campos de cada tabla del proyecto

estados

Columna tipo Comentarios
id int(11) 🔑
clave varchar(2) Cve_Ent - Clave de la entidad
nombre varchar(40) Nom_Ent - Nombre de la entidad
abrev varchar(10) Nom_Abr - Nombre abreviado de la entidad
activo tinyint(1)

municipios

Columna tipo Comentarios
id int(11) 🔑
estado_id int(11) Relación: estados -> id
clave varchar(3) Cve_Mun - Clave del municipio
nombre varchar(100) Nom_Mun - Nombre del municipio
activo tinyint(1)

localidades

Columna tipo Comentarios
id int(11) 🔑
municipio_id int(11) Relación: municipios -> id
clave varchar(4) Cve_Loc – Clave de la localidad
nombre varchar(100) Nom_Loc - Nombre de la localidad
mapa int(10) Mapa - Identificador del INEGI
ambito varchar(1) Ámbito - Clasificación
latitud varchar(15) Latitud - Latitud en formato DMS
longitud varchar(15) Longitud - Longitud en formato DMS
lat decimal(10,7) Lat_Decimal Latitud en formato DD
lng decimal(10,7) Lon_Decimal Longitud en formato DD
altitud varchar(15) Altitud - Altitud
carta varchar(10) Cve_Carta - Clave de carta topográfica
poblacion int(11) Pob_Total - Población Total
masculino int(11) Pob_Masculina - Población Masculina
femenino int(11) Pob_Femenina - Población Femenina
viviendas int(11) Total De Viviendas Habitadas - Total De Viviendas Habitadas
activo tinyint(1)

Contribuciones

Este repositorio es un fork de https://github.com/developarts/AGEEML. El objetivo es complementar el proyecto con más proveedores de bases de datos más allá de MySQL, además de servicios para importar y actualizar las bases desde INEGI y un servicio out-of-the-box para microservicios (OData/WebAPI).

Actualizaciones

  • [2025-12-28] Se agregó soporte a bases de datos para PostgreSQL y SQLite, se creó un servicio para importar las bases desde el INEGI y un microservicio WebAPI con .NET.
  • [2020-11-20] Se actualizó la información del INEGI a OCT2020.
  • [2020-11-19] El nombre del proyecto de renombró a AGEEML.
  • [2018-10-18] Se actualizó la información del INEGI a SEP2018.
  • [2018-10-11] Se creó el proyecto en GitHub para la distribución de los releases.
  • [2016-02-01] Se actualizó la información del INEGI a ENE2016.

About

Base de datos del INEGI Áreas Geoestadísticas Estatales, Municipales y Localidades (AGEEML) para MySQL, PostgreSQL y SQLite. Servicio para importar bases del INEGI y microservicio para la consulta de las bases.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.9%
  • Dockerfile 1.1%