¿Qué Es la Intersección de Polígonos en GIS?
La intersección de polígonos es una operación central de superposición vectorial dentro de los flujos de trabajo de intersección en geoprocesamiento GIS: a partir de dos capas de polígonos, genera una nueva geometría que contiene solo el área que ambas entradas comparten. En cualquier caso donde necesites encontrar polígonos superpuestos online, ya sean dos distritos de zonificación, una zona de inundación contra una capa de parcelas, o dos áreas de servicio, esta es la operación que responde la pregunta. Esta herramienta ejecuta todo el cálculo localmente en tu navegador: dibuja dos formas directamente sobre el mapa, o sube un archivo GeoJSON o un Shapefile comprimido, y funciona como una herramienta autónoma de superposición GeoJSON KML sin enviar tus datos a ningún lado.
Cómo Añadir Tus Capas de Polígonos
Hay dos formas de llevar polígonos a la herramienta antes de ejecutar una intersección:
- Dibujar en el mapa: Haz clic en "Draw Polygon", haz clic en el mapa para colocar vértices, y luego haz doble clic, presiona Enter, o haz clic en Finish para cerrar la forma. Repite para añadir un segundo polígono.
- Subir un archivo: Arrastra y suelta un archivo .geojson o un Shapefile comprimido (.zip con .shp/.dbf/.shx dentro) en cualquier parte del mapa, o usa el botón Upload. Solo se leen entidades de tipo Polygon y MultiPolygon; los puntos y las líneas se omiten.
Una vez que tengas al menos dos capas de polígonos, elige una como Layer A y la otra como Layer B en la barra lateral, y haz clic en "Find Intersection" para calcular el área compartida.
Las Bibliotecas GIS Detrás de la Superposición de Polígonos
Toda herramienta seria de superposición GIS está construida sobre uno de un pequeño número de motores de geometría computacional, y vale la pena saber cuál está haciendo el trabajo cuando extraes el área común entre polígonos en un flujo de trabajo profesional.
- Turf.js / polygon-clipping: El motor propio de esta herramienta. La función @turf/intersect de Turf envuelve el paquete npm polygon-clipping, una implementación en JavaScript puro del algoritmo de barrido de Martinez–Rueda. Al ser JavaScript puro, se ejecuta enteramente dentro de tu pestaña del navegador, sin ida y vuelta al servidor.
- GEOS (Geometry Engine, Open Source): Una biblioteca en C/C++ que calcula ST_Intersection en PostGIS y da soporte al algoritmo nativo de Intersección en la Caja de Herramientas de Procesos de QGIS. Si alguna vez ejecutaste una intersección de capas vectoriales en QGIS, GEOS hizo las matemáticas geométricas por debajo.
- JTS (Java Topology Suite): La implementación original en Java de la que se portó GEOS. JTS respalda GeoTools y el proceso de Intersección en GeoServer WPS, y es la implementación de referencia contra la que muchas otras bibliotecas se validan.
- Shapely: La biblioteca de geometría de Python, que a su vez se enlaza con GEOS. Los científicos de datos que hacen análisis de superposición espacial en geopandas están, un nivel más abajo, llamando a las mismas rutinas de GEOS que usan QGIS y PostGIS.
- shpjs: Se encarga del lado del archivo en lugar de las matemáticas de geometría: decodifica un Shapefile comprimido subido (.shp/.dbf/.shx) a GeoJSON completamente en el navegador, lo que permite que esta herramienta acepte una exportación de intersección de shapefile como entrada sin subirlo a un servidor.
Las cinco herramientas coinciden en las matemáticas subyacentes, ya que todas resuelven el mismo problema de superposición booleana. La diferencia práctica está en dónde ocurre el cálculo: GEOS/JTS/Shapely se ejecutan en un servidor o en una instalación de GIS de escritorio, mientras que el motor de esta herramienta, basado en Turf.js, funciona como un buscador de superposición de polígonos en el mapa directamente en tu dispositivo, por lo que aquí nunca se requiere subir un archivo a un servidor remoto.
Cómo Funciona el Algoritmo de Intersección
Por debajo, una intersección de polígonos es una operación booleana de conjuntos sobre dos anillos cerrados: la salida conserva cada punto que está dentro del Polígono A Y dentro del Polígono B, y descarta todo lo demás. Esto suena simple para dos formas convexas, pero los límites administrativos reales, los contornos de cuencas hidrográficas y las parcelas de tierra son casi siempre cóncavos y a menudo contienen huecos, así que una herramienta de verificación de superposición topológica GIS adecuada necesita un algoritmo que maneje correctamente formas de polígono arbitrarias, no solo convexas simples.
Los primeros algoritmos de recorte no podían hacer esto de forma confiable. Sutherland–Hodgman (1974) solo produce resultados correctos cuando el polígono de recorte es convexo, lo que descarta la mayoría de los datos de mapas reales. Weiler–Atherton (1977) mejoró esto recorriendo los límites de ambos polígonos y alternando entre ellos en cada punto de intersección, manejando correctamente formas cóncavas y múltiples piezas de salida, aunque tiene dificultades con ciertos casos degenerados como bordes compartidos o anillos que se tocan a sí mismos. El algoritmo de Vatti (1992) generalizó aún más el recorte usando una tabla de bordes activos a través de líneas de barrido horizontales, y se convirtió en la base de bibliotecas de recorte muy usadas como Clipper, de Angus Johnson.
El Enfoque de Barrido (Sweep-Line) que Usa Esta Herramienta
- Construir una cola de eventos: Cada vértice y cada extremo de borde de ambos polígonos se recopila en una cola y se ordena de izquierda a derecha según la coordenada X.
- Recorrer con una línea vertical: Una línea imaginaria recorre la cola de izquierda a derecha, mientras una estructura de estado rastrea qué bordes del Polígono A y del Polígono B están activos en esa posición X.
- Detectar cruces de bordes: Cada vez que un borde de A cruza un borde de B, el barrido calcula el punto de intersección exacto y divide ambos bordes ahí — este es el núcleo matemático del análisis de superposición espacial.
- Clasificar cada segmento: Usando reglas de devanado (winding rules), cada segmento de borde resultante se etiqueta como dentro o fuera del otro polígono, de modo que solo se conservan los segmentos dentro de A y B a la vez.
- Reconstruir los anillos de salida: Los segmentos conservados se vuelven a unir en anillos cerrados, manejando correctamente en una sola pasada múltiples áreas de superposición separadas y huecos.
El motor de esta herramienta implementa un algoritmo booleano de barrido (sweep-line) al estilo Martinez–Rueda, que se ejecuta en aproximadamente O((n + k) log n) para n vértices de entrada y k cruces, y es robusto frente a los casos degenerados (bordes compartidos, vértices que se tocan, anillos autointersectantes) que hacen fallar a recortadores más simples. Antes de ejecutar el barrido completo en cada par, la herramienta también realiza una verificación previa económica de cajas delimitadoras, para que una intersección de geoprocesamiento GIS sobre docenas de entidades no pierda tiempo probando pares que claramente no pueden superponerse.
Preguntas Frecuentes
Gestión de Múltiples Capas
El gestor de capas de la barra lateral mantiene en una sola lista cada capa de polígonos que añades, además de cada resultado de intersección que generas. Puedes ejecutar una intersección más de una vez con distintos pares de capas, mantener todos los resultados en el mapa al mismo tiempo, y eliminar cualquier capa que ya no necesites sin afectar a las demás — útil cuando estás comprobando la superposición entre una capa base y varias capas candidatas, una por una.
Exportando Tus Resultados
Cada capa se puede exportar de forma independiente, o puedes exportar todo a la vez:
- Exportar una sola capa: El icono de descarga junto a cualquier capa exporta solo las entidades de esa capa como un archivo .geojson independiente.
- Exportar todo: El botón "Download All Layers" combina Layer A, Layer B y cada resultado de intersección en una sola FeatureCollection de GeoJSON, etiquetando cada entidad con la capa de la que proviene.
- Formato GeoJSON: Los archivos de salida son GeoJSON estándar según RFC 7946, que se abre directamente en QGIS, ArcGIS, Google Earth, Mapbox y prácticamente cualquier otra herramienta GIS.
Como la salida es GeoJSON simple, también se vuelve a importar sin problemas más tarde en esta misma herramienta, o en cualquier flujo de exportación de intersección de shapefile que ejecutes después en un software de GIS de escritorio.
Casos de Uso Reales
Paso a Paso: Cómo Encontrar una Superposición de Polígonos





Estilizando Tus Capas
Cada capa, incluido el resultado de la intersección, se puede estilizar de forma independiente:
- Selector de color: Haz clic en la muestra de color junto a cualquier capa en la barra lateral para cambiar al instante su color de relleno y contorno.
- Alternar visibilidad: Desmarca una capa para ocultarla en el mapa sin eliminarla, útil al comparar Layer A y Layer B por separado contra el resultado de la intersección.
- Zoom a la capa: Haz clic en el icono de diana junto a una capa para ajustar la vista del mapa a sus límites.
Ninguno de estos ajustes de estilo se guarda fuera de tu sesión — solo controlan cómo se ve el mapa mientras trabajas.
Herramientas de Geoprocesamiento Relacionadas
Map tiles © OpenStreetMap contributors and CARTO, Esri (satellite). Intersection math powered by Turf.js. Shapefile parsing by shpjs. Map rendering by Leaflet. All drawing, file reading and intersection calculation is local — no data is uploaded to any server.
