Pipeline ETL + análisis de calidad topológica sobre el catálogo completo de servicios PRC
publicados en el sistema IPT de MINVU (https://ide.minvu.cl/pages/geoservicios).
- Descarga todos los PRC del sistema IPT de MINVU usando el API ArcGIS REST.
- Cachea cada layer como GeoPackage en
data/cache/para poder retomar descargas interrumpidas. - Detecta tres tipos de error topológico intra-capa:
- Solapamientos (pares de polígonos con interior compartido)
- Geometrías inválidas (auto-intersecciones, anillos degenerados)
- Duplicados exactos (hash WKB idéntico)
- Genera gráficas PNG en
docs/assets/y un mapa interactivo Plotly con tiles OpenStreetMap. - Exporta un GeoPackage consolidado con todos los errores georreferenciados.
Un Plan Regulador Comunal (PRC) establece qué puede construirse en cada parcela chilena. Todo permiso de edificación, loteo o cambio de destino se valida contra el PRC vigente.
Cuando dos zonas se solapan, una parcela queda bajo dos normas simultáneas: los servicios municipales no pueden determinar qué norma aplica y el permiso queda en suspenso o se otorga con criterio discrecional. La Contraloría General de la República (Dictamen N° 25.614/2011) ha establecido que los actos administrativos derivados de instrumentos con vicios topológicos son susceptibles de invalidación.
git clone https://github.com/negentropy-technologies/PRC_extractor_notebook
cd PRC_extractor_notebook
pip install -r requirements.txt
cp .env.example .env
jupyter notebook notebook/minvu_ipt_topologia.ipynbconda env create -f environment.yml
conda activate minvu_ipt
cp .env.example .env
jupyter notebook notebook/minvu_ipt_topologia.ipynbAbre el notebook en Colab y descomenta la celda !pip install ... al inicio.
| Variable | Default | Descripción |
|---|---|---|
MINVU_BASE_URL |
https://geoide.minvu.cl/server/rest/services/IPT |
URL base del API ArcGIS |
MINVU_PAGE_SIZE |
1000 |
Features por request de paginación |
MINVU_MAX_RETRIES |
3 |
Reintentos ante error HTTP |
MINVU_RETRY_BACKOFF_SECONDS |
2.0 |
Factor de backoff lineal (intento N espera N×factor) |
MINVU_REQUEST_DELAY_SECONDS |
1.5 |
Pausa entre páginas (cortesía con el servidor) |
PRC_extractor_notebook/
README.md
requirements.txt
environment.yml
.env.example
data/
cache/ # {slug}_layer{id}.gpkg — checkpoint por layer
notebook/
minvu_ipt_topologia.ipynb
docs/
assets/ # gráficas exportadas (PNG) — generado, no versionado
| Paquete | Versión mínima | Motivo |
|---|---|---|
shapely |
2.0 | STRtree con predicate= y WKB determinista |
geopandas |
0.14 | estimate_utm_crs() disponible desde 0.12 |
plotly |
6.0 | go.Choroplethmap con tiles OpenStreetMap nativos (sin token Mapbox) |
matplotlib |
3.8 | Gráficas PNG estáticas |
seaborn |
0.13 | Heatmap de errores por servicio |
pyproj |
3.6 | Reproyección UTM para cálculo de áreas en m² |
python-dotenv |
1.0 | Lectura del archivo .env |
requests |
2.31 | Cliente HTTP con retry y paginación ArcGIS REST |
Apache 2.0
[1] Chile. (1976). Ley General de Urbanismo y Construcciones (DFL N° 458). Diario Oficial de la República de Chile, 13 de abril de 1976. Recuperado de https://www.bcn.cl/leychile/navegar?idNorma=13560
[2] Chile. Ministerio de Vivienda y Urbanismo. (1992). Ordenanza General de Urbanismo y Construcciones (DS N° 47). Diario Oficial de la República de Chile, 19 de mayo de 1992. Recuperado de https://www.bcn.cl/leychile/navegar?idNorma=8201
[3] Contraloría General de la República. (2011). Dictamen N° 25.614. Santiago: Contraloría General de la República. Recuperado de https://www.contraloria.cl/pdfbuscador/25614_11.pdf
[4] Ministerio de Vivienda y Urbanismo. (s.f.). Sistema de Instrumentos de Planificación Territorial (IPT). Recuperado de https://geoide.minvu.cl/
[5] Open Geospatial Consortium. (2021). OGC GeoPackage Encoding Standard (OGC 12-128r18, v1.3.1). Recuperado de https://www.ogc.org/standard/geopackage/
[6] Gillies, S., et al. (2023). Shapely: Manipulation and analysis of geometric objects. v2.0. Recuperado de https://shapely.readthedocs.io/
[7] Esri Developer. (s.f.). Geometry objects ArcGIS REST APIs. Recuperado de https://developers.arcgis.com/rest/services-reference/enterprise/geometry-objects/
[8] Open Geospatial Consortium. (1999). OpenGIS Simple Features Specification for SQL (OGC 99-049). Recuperado de https://portal.ogc.org/files/?artifact_id=829
[9] Wikipedia. (s.f.). Shoelace formula. Recuperado de https://en.wikipedia.org/wiki/Shoelace_formula
[10] Shapely Development Team. (2023). shapely.make_valid Shapely 2.x documentation. Recuperado de https://shapely.readthedocs.io/en/stable/reference/shapely.make_valid.html