Plugin de QGIS para determinar fronteras como multipolilíneas

En un post anterior se consideró la intersección de rasgos (features) adyacentes de polígonos en PyQGIS. Este código es útil porque puede ser usado para expresar la geometría de la intersección de estos rasgos como multipolilíneas. Si se utilizan las bondades de la librería itertools de Python, es posible establecer todas las combinaciones, dos a dos, de rasgos seleccionados sin repetir alguno.

Lo primero que se hizo en el plugin fue programar el botón OK como el responsable de la conexión SIGNAL/SLOT, es decir, la función principal que realiza todo el trabajo real. Por otra parte, para incorporar la capa tipo polígono se implementó una QgsMapLayerComboBox; con filtro de QgsMapLayerProxyModel para que solo fuesen admitidas capas de este tipo en la ComboBox. No existen más elementos gráficos de PyQGIS programados.

Al ejecutar el plugín, después de haber seleccionado los rasgos de España y Portugal en el mapa de world_borders, al hacer click en OK se tiene la multipolilínea azul (con un feature) de la imagen siguiente:

borders1

El ejemplo a continuación contiene una selección de 8 features de Europa Central lo que produce una Multipolilínea con 15 features; tal como se observa en la imagen siguiente:

borders2

Esta entrada fue publicada en Plugin, PyQGIS, QGIS, SIG, Software Libre. Guarda el enlace permanente.

Una respuesta a Plugin de QGIS para determinar fronteras como multipolilíneas

  1. Pingback: Determinación de longitudes en sistemas proyectados en coordenadas geográficas con PyQGIS | El Blog de José Guerrero

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s