HOW TO
In manchen Fällen wird das Global ID-Feld beim Anhängen von Features aus einer File-Geodatabase an einen gehosteten Feature-Layer in ArcGIS Online nicht beibehalten. Das Beibehalten globaler IDs ist entscheidend, da sie jedes Feature eindeutig identifizieren und häufig zur Verfolgung von Beziehungen, zur Synchronisierung von Daten und zur Verwaltung des Bearbeitungsverlaufs verwendet werden, insbesondere in Offline-Workflows und Feature-Services.
In diesem Artikel wird ein Workflow zum Anfügen einer File-Geodatabase an einen gehosteten Feature-Layer in ArcGIS Online mithilfe eines Python-Skripts beschrieben, das im Python-Fenster in ArcGIS Pro ausgeführt wird.
Note: To preserve GlobalIDs and avoid the automatic creation of new GlobalIDs, ensure the GlobalID field is already present in the hosted feature layer.
import arcpy file_gdb_path = r"<file_geodatabase_path>" hosted_feature_layer = r"<hosted_feature_layer_URL>"
field_mappings = arcpy.FieldMappings()
global_id_field_map = arcpy.FieldMap() global_id_field_map.addInputField(file_gdb_path, "GlobalID") global_id_field_map.outputField.name = "GlobalID"
field_mappings.addFieldMap(global_id_field_map)
field1_field_map = arcpy.FieldMap() field1_field_map.addInputField(file_gdb_path, "<field_name>") field1_field_map.outputField.name = "<field_name>" field_mappings.addFieldMap(field1_field_map)
arcpy.Append_management(file_gdb_path, hosted_feature_layer, schema_type="NO_TEST", field_mapping=field_mappings)
Mit dem folgenden Code-Block wird das voll funktionsfähige Skript demonstriert.
import arcpy file_gdb_path = r"C:\Users\dpalzaniappan\Documents\ArcGIS\Projects\MyProject91\MyProject91.gdb\Testi" hosted_feature_layer = r"https://services9.arcgis.com/LMjydzYxR6YFiqk8/arcgis/rest/services/Testio123/FeatureServer/0" field_mappings = arcpy.FieldMappings() global_id_field_map = arcpy.FieldMap() global_id_field_map.addInputField(file_gdb_path, "GlobalID") global_id_field_map.outputField.name = "GlobalID" field_mappings.addFieldMap(global_id_field_map) field1_field_map = arcpy.FieldMap() field1_field_map.addInputField(file_gdb_path, "Name") field1_field_map.outputField.name = "Name" field_mappings.addFieldMap(field1_field_map) arcpy.Append_management(file_gdb_path, hosted_feature_layer, schema_type="NO_TEST", field_mapping=field_mappings)
Die folgende Abbildung zeigt das Python-Skript, das im Python-Fenster in ArcGIS Pro zum Anhängen der File-Geodatabase an den gehosteten Feature-Layer verwendet wird.

Artikel-ID: 000032358
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten