Siguiendo con las pruebas en QGIS 2.99 con Windows hoy le toca el turno a Processing qgis:intersection. Escogí esta herramienta porque tenía unos parámetros (INPUT_FIELDS y OVERLAY_FIELDS) novedosos para mi que imaginé se pasaban como lista y así fue.
El conjunto completo de parámetros a usar es el siguiente:INPUT: <QgsProcessingParameterFeatureSource> Input layer OVERLAY: <QgsProcessingParameterFeatureSource> Intersection layer INPUT_FIELDS: <QgsProcessingParameterField> Input fields to keep (leave empty to keep all fields) OVERLAY_FIELDS: <QgsProcessingParameterField> Intersect fields to keep (leave empty to keep all fields) OUTPUT: <QgsProcessingParameterFeatureSink> Intersection
Con base en lo anterior se elaboró el código siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import processing registry = QgsProject.instance() Polygon8 = registry.mapLayersByName('Polygon8') Polygon4 = registry.mapLayersByName('Polygon4') output = 'c:/Users/usuario/pyqgis_data/intersection_p8_p4.shp' processing.run('qgis:intersection', {'INPUT':Polygon8[0], 'INPUT_FIELDS': ['FID', 'min', 'max'], 'OVERLAY':Polygon4[0], 'OUTPUT':output}) intersection = QgsVectorLayer(output, 'intersection_p8_p4', 'ogr') QgsProject.instance().addMapLayer(intersection) |
cuya ejecución en la Python Console de QGIS 2.99 produjo el efecto deseado (la intersección corresponde a los dos features color verde oscuro); tal como se aprecia en la imagen a continuación:
En la imagen anterior se observa en la tabla de atributos los tres campos seleccionados de Polygon8 y el único disponible en Polygon4. Cuando no se seleccionan los 'OVERLAY_FIELDS', por defecto, se incorporan todos los disponibles en la capa de intersección.
No hay comentarios:
Publicar un comentario