QGIS fusiona elementos de varias partes en lotes

Para fusionar por lotes características de varias partes en QGIS, puede usar la programación PyQGIS para hacerlo.
desde qgis.core importar QgsVectorLayer, QgsProject

# Establecer la ruta del archivo de la capa de entidades de varias partes que se fusionará
input_file = '/path/to/input_layer.shp'
# Establecer la ruta del archivo de la capa combinada de salida
output_file = '/path/to/output_layer.shp'

# Cargue la capa de entidades de varias partes que se fusionará
input_layer = QgsVectorLayer(input_file, 'Input Layer', 'ogr')

# Cree una capa para almacenar características combinadas
output_layer = QgsVectorLayer('Polygon?crs=epsg:4326', 'Output Layer', 'memory')

# Copie los campos de atributos de la capa de entrada a la capa de salida
proveedor_de_datos_de_capa_de_salida = capa_de_salida.proveedor_de_datos()
capa_de_salida_proveedor_de_datos.addAttributes(capa_de_entrada.fields())
capa_de_salida.updateFields()

# Atraviese las entidades en la capa de entrada
para la entidad en input_layer.getFeatures():
    # Fusione entidades de varias partes
    merged_feature = feature.geometry().buffer(0)
    
    # Agregue las entidades fusionadas a la capa de salida
    output_layer_data_provider.addFeatures([ merged_feature ])

# 保存输出图层
QgsProject.instance().addMapLayer(output_layer)
output_layer_data_provider.createSpatialIndex()
output_layer_data_provider.commitChanges()
QgsVectorLayerExporter.exportLayer(output_layer, output_file, 'utf-8', output_layer.crs(), 'ESRI Shapefile ', soloSeleccionado=Falso)

# Tenga en cuenta que el código anterior debe garantizar que el entorno Python de QGIS se haya instalado y configurado correctamente, y que se hayan importado las bibliotecas necesarias. Modifique la ruta del archivo en el código de acuerdo con la situación real.

La función `buffer()` en QGIS se usa para combinar las partes múltiples de las características, luego las características combinadas se agregan a la capa de salida y finalmente se guardan como un nuevo archivo de capa vectorial. Modifique la ruta del archivo en el código de acuerdo con la situación real para que se adapte a su situación real y asegúrese de que se hayan instalado las bibliotecas dependientes requeridas.

Supongo que te gusta

Origin blog.csdn.net/weixin_58851039/article/details/131320487
Recomendado
Clasificación