Si alguna vez has tenido que generar el mapa de clases de pendiente para un EIA o un EOT, ya sabes de qué se trata: abrir la caja de herramientas, correr Slope, correr Reclassify, correr Majority Filter, correr Boundary Clean… y repetir todo otra vez si te equivocaste en un parámetro o el DEM cambió. Ese proceso, hecho a mano en ArcGIS Pro, toma entre 30 y 60 minutos por corrida. Con una aplicación desarrollada en Python, el mismo resultado —shapefile final, reportes en Excel y CSV incluidos— sale en 2 a 5 minutos, con un solo clic.
A continuación se explica cómo funciona, qué problema resuelve y por qué este tipo de automatización importa tanto en consultoría ambiental, donde un mismo flujo de trabajo se repite proyecto tras proyecto.
El ahorro, en números
El problema: un flujo de 10 pasos que se repite en cada proyecto
Convertir un DEM en polígonos de clases de pendiente generalizadas no es un solo clic en ArcGIS Pro: es una cadena de herramientas que hay que ejecutar en orden, con los parámetros correctos cada vez.
- Calcular la pendiente en porcentaje (método geodésico)
- Reclasificar en 7 clases (0-3, 3-7, 7-12, 12-25, 25-50, 50-75, >75 %)
- Aplicar un filtro de mayoría para suavizar el ruido
- Limpiar bordes entre clases (Boundary Clean)
- Agrupar regiones contiguas (Region Group)
- Seleccionar solo las regiones representables según un umbral de celdas
- Absorber las regiones pequeñas con Nibble
- Convertir el raster a polígonos
- Suavizar los polígonos (PAEK)
- Calcular área geodésica, asignar descripciones y armar los reportes
Cada paso implica abrir una herramienta, apuntar la ruta de salida correcta, escribir el mismo parámetro que la vez anterior, y esperar. Si te saltas uno, olvidas liberar la licencia de Spatial Analyst o el DEM llega con otra unidad vertical, hay que empezar de nuevo. Multiplícalo por cada DEM de cada proyecto y son horas de trabajo repetitivo al mes que no agregan valor técnico: solo repiten clics.
La solución: una interfaz de escritorio que corre todo el pipeline
La aplicación tiene una ventana en CustomTkinter donde solo hay que seleccionar el DEM, la carpeta de salida, revisar tres parámetros (umbral de región, tolerancia de suavizado y unidad vertical) y darle a Ejecutar generalización. Por debajo corre exactamente la misma secuencia de arcpy que harías a mano, pero encadenada, validada y con seguimiento de progreso en tiempo real.

Las 7 clases que genera automáticamente
El resultado final es un shapefile con estas categorías, ya con área geodésica en metros cuadrados y en hectáreas calculada para cada polígono:
| Clase | Rango de pendiente | Descripción |
|---|---|---|
| 1 | 0 – 3 % | Plana a ligeramente plana |
| 2 | 3 – 7 % | Ligeramente inclinada |
| 3 | 7 – 12 % | Moderadamente inclinada |
| 4 | 12 – 25 % | Fuertemente inclinada |
| 5 | 25 – 50 % | Ligeramente escarpada |
| 6 | 50 – 75 % | Moderadamente escarpada |
| 7 | > 75 % | Fuertemente escarpada |
Un detalle técnico que vale la pena resaltar: la pendiente se calcula con arcpy.sa.Slope usando método geodésico, lo que la hace más precisa en zonas de terreno complejo y, de paso, evita depender de la extensión 3D Analyst — solo se necesita licencia de Spatial Analyst, que es exclusiva del entorno de ArcGIS Pro.
De igual manera es importante mencionar que la reclasificación de pendientes puede ser reproducible para otros modelos o necesidades especificas modificando o agregando pocas líneas del código principal, esto hace que el flujo planteado sea útil es distintos contextos.
Reportes automáticos: nada de armar tablas a mano en Excel
Cada corrida deja organizada esta estructura de carpetas, lista para anexar al informe:
01_intermedios/
generalizacion_intermedios.gdb/
02_producto_final/
pendientes_generalizadas.shp
03_reportes/
reporte_generalizacion.csv
reporte_generalizacion.xlsx
resumen_por_clase.csv
- reporte_generalizacion.xlsx: libro con hojas de «Parámetros» (fecha, DEM usado, sistema de coordenadas, resolución, unidad mínima cartografiable) y «Resumen por clase», con encabezados, filtros y formato numérico aplicados automáticamente.
- Dos CSV equivalentes, por si necesitas abrir los datos sin Excel o cargarlos a otro flujo de análisis.
- El shapefile final, con los campos
clase,desc_clase,area_m2yarea_haya calculados por polígono.
Antes vs después
| Aspecto | Proceso manual | Con la aplicación |
|---|---|---|
| Tiempo por corrida | 30 – 60 minutos | 2 – 5 minutos |
| Pasos que ejecuta el usuario | 10 herramientas, una por una | 1 clic («Ejecutar generalización») |
| Riesgo de error humano | Alto: parámetro mal copiado, herramienta olvidada | Bajo: parámetros validados antes de correr |
| Reportes | Se arman a mano en Excel | Se generan automáticos, ya con formato |
| Licencia Spatial Analyst | Puede quedar «pegada» si algo falla a mitad de proceso | Se libera siempre, incluso ante error o cancelación |
| Repetir con otro DEM | Repetir todo el flujo desde cero | Cambiar el DEM y volver a correr |
Por qué esto importa en consultoría ambiental
En estudios como un EIA o un EOT, el mapa de pendientes no es un entregable aislado: alimenta zonificación, amenazas, capacidad de uso del suelo y varios anexos que terminan siendo revisados por ANLA o por las CAR. Cuando ese insumo se genera siempre con el mismo criterio técnico —mismas clases, mismo método geodésico, mismos reportes de trazabilidad— es más fácil sustentarlo ante la autoridad ambiental y más difícil que se encuentren inconsistencias entre un proyecto y otro. Automatizar no solo ahorra tiempo: estandariza el criterio técnico entre proyectos y entre personas del equipo que corran la herramienta.
Cómo se usa
La aplicación no instala, actualiza ni elimina paquetes: corre directamente sobre un Python de ArcGIS Pro que ya tenga arcpy, CustomTkinter, Pillow y openpyxl disponibles.
- La primera vez, se ejecuta
instalar_dependencias.batpara instalar CustomTkinter, Pillow y openpyxl en el Python del entorno clonado de ArcGIS Pro el cual es detectado automáticamente, si por algún caso aún no ha sido clonado el entorno se puede ejecutar este lanzador como administrador y se instala en el entorno nativo de ArcGIS. - Se abre
iniciar_generalizacion.bat. - Se selecciona el DEM y la carpeta de salida.
- Se revisan el umbral de región, la tolerancia de suavizado y la unidad vertical deaseada.
- Se pulsa Ejecutar generalización y listo.
Nunca se ejecuta pip install arcpy: ArcPy sigue siendo administrado exclusivamente por ArcGIS Pro; las dependencias adicionales viven aparte, documentadas en requirements-app.txt.
Automatizar este pipeline no elimina el criterio técnico del ingeniero: lo libera del clic repetitivo para que se enfoque en interpretar el resultado, no en producirlo, lo cual ayuda de gran manera a optimizar procesos.
Si tu equipo procesa varios DEM al mes para EIA, EOT o cualquier estudio que necesite pendientes generalizadas, este tipo de herramienta convierte una tarea repetitiva de casi una hora en un proceso de minutos, con trazabilidad de reportes incluida desde el primer clic.
Ver guía técnica en GitHub
En el siguiente link puede acceder directamente al repositorio de GitHub en el cual se encuentra la estructura del repositorio y las instrucciones de uso para que otros equipos técnicos repliquen la lógica con sus propios proyectos.
¿Necesitas apoyo en gestión de información geoespacial?
INGISOT S.A.S desarrolla soluciones en SIG, ciencia de datos geoespaciales, automatización, cartografía temática y análisis territorial para proyectos ambientales, mineros, catastrales y de ordenamiento territorial.

