Skip to content

negentropy-technologies/PRC_extractor_notebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MINVU IPT: Análisis Topológico de Planes Reguladores Comunales

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).

Corre localmente y en Google Colab.


¿Qué hace este notebook?

  1. Descarga todos los PRC del sistema IPT de MINVU usando el API ArcGIS REST.
  2. Cachea cada layer como GeoPackage en data/cache/ para poder retomar descargas interrumpidas.
  3. 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)
  4. Genera gráficas PNG en docs/assets/ y un mapa interactivo Plotly con tiles OpenStreetMap.
  5. Exporta un GeoPackage consolidado con todos los errores georreferenciados.

¿Por qué importa la validez topológica en un PRC?

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.


Instalación

Con pip

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.ipynb

Con conda

conda env create -f environment.yml
conda activate minvu_ipt
cp .env.example .env
jupyter notebook notebook/minvu_ipt_topologia.ipynb

En Google Colab

Abre el notebook en Colab y descomenta la celda !pip install ... al inicio.


Configuración (.env)

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)

Estructura del repositorio

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

Dependencias clave

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

Licencia

Apache 2.0


Referencias

[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