Instrução
Às vezes, o campo Global ID não é preservado ao anexar feições de um arquivo geodatabase a uma camada de feição hospedada no ArcGIS Online. Preservar Global IDs é crucial, pois eles identificam exclusivamente cada feição e são frequentemente utilizados para rastrear relacionamentos, sincronizar dados e gerenciar o histórico de edição, particularmente em fluxos de trabalho offline e serviços da feição.
Este artigo fornece um fluxo de trabalho para anexar um arquivo geodatabase a uma camada de feição hospedada no ArcGIS Online utilizando um script Python executado na janela Python dentro do ArcGIS Pro.
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)
O bloco de código abaixo demonstra o funcionamento completo do script.
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)
A imagem abaixo exibe o script Python utilizado na janela Python no ArcGIS Pro para anexar o arquivo geodatabase à camada de feição hospedada.

ID do Artigo: 000032358
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora