Page 10 sur 16
Intersection
import os import shutil monCheminDeBase = r'C:\\Users\\georg\\Downloads\\' project = QgsProject.instance() project.removeAllMapLayers() project.clear() iface.mapCanvas().refresh() peaks = QgsVectorLayer(monCheminDeBase + 'peaks_selection/peaks_selection.shp', 'Sommets', 'ogr') iris = QgsVectorLayer(monCheminDeBase + 'iris/iris.shp', 'IRIS', 'ogr') QgsProject.instance().addMapLayer(peaks) QgsProject.instance().addMapLayer(iris) # Directory for created layer _peaks_iris = monCheminDeBase + '_peaks_iris' if os.path.isdir(_peaks_iris) == True: shutil.rmtree(_peaks_iris) if os.path.isdir(_peaks_iris) == False: os.mkdir(_peaks_iris) # Intersect peaks and IRIS peaks_iris_path = _peaks_iris + r'\\peaks_iris.shp' processing.run('qgis:intersection', { \ "INPUT": peaks, \ "OVERLAY": iris, \ "INPUT_FIELDS": ["OSM_ID", "NAME", "OTHER_TAGS"], \ "OVERLAY_FIELDS": ["CODE_IRIS", "NOM_COM"], \ "OVERLAY_FIELDS_PREFIX": "", \ "OUTPUT": peaks_iris_path}) # Remove layers project.removeMapLayer(peaks) project.removeMapLayer(iris) # Open the new intersected layer peaks_iris = QgsVectorLayer(peaks_iris_path, "Sommets", "ogr") project.addMapLayer(peaks_iris) # Register layer mes_sommets = project.mapLayersByName("Sommets")[0]