QGIS объединяет элементы, состоящие из нескольких частей, в пакеты.

Для пакетного слияния составных объектов в QGIS вы можете использовать для этого программирование PyQGIS.
из qgis.core импортировать QgsVectorLayer, QgsProject

# Задайте путь к файлу составного векторного слоя для объединения
input_file = '/path/to/input_layer.shp'
# Задайте путь к выходному файлу объединенного слоя
output_file = '/path/to/output_layer.shp'

# Загрузите векторный слой из нескольких частей для объединения
input_layer = QgsVectorLayer(input_file, 'Input Layer', 'ogr')

# Создаем слой для хранения объединенных объектов
output_layer = QgsVectorLayer('Polygon?crs=epsg:4326', 'Выходной слой', 'память')

# Копируем поля атрибутов входного слоя в выходной слой
output_layer_data_provider = output_layer.dataProvider()
output_layer_data_provider.addAttributes(input_layer.fields())
output_layer.updateFields()

# Проходим объекты во входном слое
для объекта в input_layer.getFeatures():
    # Объединяем объекты, состоящие из нескольких частей,
    merged_feature = feature.geometry().buffer(0)
    
    # Добавляем объединенные объекты в выходной слой
    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 ', onlySelected=False)

# Обратите внимание, что приведенный выше код должен гарантировать, что среда QGIS Python была установлена ​​и настроена правильно, а необходимые библиотеки были импортированы. Пожалуйста, измените путь к файлу в коде в соответствии с реальной ситуацией.

Функция `buffer()` в QGIS используется для объединения составных частей объектов, затем объединенные объекты добавляются в выходной слой и, наконец, сохраняются в виде нового файла векторного слоя. Пожалуйста, измените путь к файлу в коде в соответствии с реальной ситуацией, чтобы она соответствовала вашей реальной ситуации, и убедитесь, что установлены необходимые зависимые библиотеки.

おすすめ

転載: blog.csdn.net/weixin_58851039/article/details/131320487