2 votos

Relleno automático de anillos con polígonos adicionales en QGIS

Tengo una gran capa con un par de miles de polígonos que mapean cuerpos de agua interiores. Muchos de estos contienen anillos, mapeando islas. Me gustaría contar el número de islas y hacer algunas estadísticas con ellas. Recuerdo vagamente que existía una herramienta que podía rellenar automáticamente tales anillos con nuevos polígonos en QGIS 2.X, pero parece estar ausente en QGIS 3.X. No encontré ningún complemento que pudiera hacer este trabajo tampoco. ¿Hay alguna herramienta que haya pasado por alto, o me puedes indicar una solución diferente?

Edit: Ten en cuenta que quiero hacer esto automáticamente - sé que puedo rellenar los anillos a mano, pero eso no servirá para miles de ellos.

2voto

Tyye NSE Puntos 26

Encontré una solución bastante sucia, pero funciona. Si alguien conoce una forma más elegante, no dude en compartirla. De lo contrario, ¿tal vez valga la pena convertirlo en un pequeño script/plugin?

1) Toma la capa de polígonos (para la prueba tomé solo aproximadamente una octava parte de mis datos originales. Sección de la capa de polígonos original que muestra cuerpos de agua en Europa central.

2) Dibuja un nuevo polígono en una capa temporal, el polígono cubre toda el área de la capa original. Lo coloqué detrás de la otra capa aquí para mayor claridad. Un polígono que cubre toda la extensión de la entrada.

3) Ejecuta la herramienta Diferencia desde Vector > Herramientas de Geoprocesamiento. Utiliza la capa temporal como la capa de entrada y los datos originales como la superposición. Esto resultará en un polígono grande con anillos que representan antiguos polígonos, y polígonos internos que representan antiguos anillos. Sin embargo, es un solo polígono multipartito. Cuerpos de agua originales cortados del polígono grande. Los anillos originales permanecen como polígonos.

4) Ejecuta la herramienta Multiparts a singleparts desde Vector > Herramientas de geometría en la capa de diferencia. Esto resultará en dividir el polígono multipartito. Ahora puedes borrar el polígono grande que representa el "resto" de tu primera capa temporal. Lo que queda son polígonos individuales donde tu capa original muestra anillos. Ejemplo con antiguos anillos ahora representados por polígonos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X