QGIS führt Landkategorien stapelweise entsprechend der Klassifizierung in Excel zusammen

In QGIS können Sie Python zum Schreiben von Codes verwenden, um den Vorgang der Stapelzusammenführung einiger Landtypen entsprechend der Landnutzungsklassifizierung in Excel zu realisieren. Hier ist Beispielcode:


# Erforderliche Bibliothek
aus qgis.core importieren, QgsProject, QgsVectorLayer, QgsJoinLayerByFieldOptions importieren

# Ebenenpfad und Dateinamen festlegen
vector_layer_path = 'path_to_your_vector_layer.shp' # Durch den Pfad der Vektorebene ersetzen
excel_file_path = 'path_to_your_excel_file.xlsx' # Durch den Pfad der Excel-Datei ersetzen
join_field = 'common_field' # Durch das Common ersetzen Name des Verbindungsfelds

# Vektorebene und Excel-Tabelle laden
vector_layer = QgsVectorLayer(vector_layer_path, 'vector_layer', 'ogr')
excel_layer = QgsVectorLayer(excel_file_path + '|layername=Sheet1', 'excel_layer', 'ogr')

# Attributtabellen-Join-Optionen erstellen
join_options = QgsJoinLayerByFieldOptions()
join_options.setJoinFieldName(join_field)
join_options.setUsingMemoryCache(True)
join_options.setPrefix('')
join_options.setJoinLayer(excel_layer)

# Attributtabellen-Join-Operation ausführen
QgsProject.instance().addMapLayer(vector_layer)
connected_layer = QgsVectorLayer.joinLayerByField(vector_layer, join_field, excel_layer, join_field, join_options)

# Speichern Sie das Ergebnis.
Output_path = 'path_to_save_output.shp'. # Ersetzen Sie es durch den Pfad und Dateinamen des gespeicherten Ergebnisses.
QgsVectorFileWriter.writeAsVectorFormat(joined_layer, output_path, 'utf-8', connected_layer.crs(), 'ESRI Shapefile')
 

Achten Sie darauf, den Pfad im Code durch Ihren tatsächlichen Dateipfad zu ersetzen. Dieser Code lädt eine Vektorebene und eine Excel-Tabelle, führt Verknüpfungsoperationen für Attributtabellen basierend auf gemeinsamen Verknüpfungsfeldern durch und speichert schließlich das zusammengeführte Ergebnis als neue Vektorebene.

おすすめ

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