| Número de ID do Erro |
BUG-000155637 |
| Enviado | February 6, 2023 |
| Última Modificação | June 5, 2024 |
| Aplica-se à | ArcGIS Pro |
| Versão encontrada | 2.9 |
| Sistema Operacional | Windows OS |
| Versão do Sistema Operacional | N/A |
| Status | As Designed
Após revisão pela equipe de desenvolvimento, foi determinado que esse comportamento é conforme projetado. Consulte a seção Informações Adicionais para obter detalhes.
|
Informações Adicionais
The CIM often only persist changes made to an element in a project (to reduce the amount of bloat that would otherwise need to be persisted). In the case with field descriptions, the newly added data does not have any changes, therefore, nothing is persisted in the CIM. As a workaround, faking an alteration of a field in a feature or table can result in the information being persisted in the CIM.
The following code uses arcpy.AlterField (but simply keeps the field info the same). First, it reports zero field descriptions for a feature class and a table, makes the modifications, then reports the field description counts.
p = arcpy.mp.ArcGISProject('current')
m = p.listMaps()[0]
lyr = m.listLayers('NE_State_Boundaries')[0]
tab = m.listTables('CensusData')[0]
#Try returning cim field defs - NOPE
lyr_cim = lyr.getDefinition('V3')
print(f'LYR desc count PRE mod: {len(lyr_cim.featureTable.fieldDescriptions)}')
tab_cim = tab.getDefinition('V3')
print(f'TAB desc count PRE mod: {len(tab_cim.fieldDescriptions)}')
#Modify fields
lyrFld = arcpy.ListFields(lyr)[0]
arcpy.management.AlterField(lyr, lyrFld.name, lyrFld.name, lyrFld.name)
tabFld = arcpy.ListFields(tab)[0]
arcpy.management.AlterField(tab, tabFld.name, tabFld.name, tabFld.name)
#Try again
lyr_cim = lyr.getDefinition('V3')
print(f'LYR desc count POST mod: {len(lyr_cim.featureTable.fieldDescriptions)}')
tab_cim = tab.getDefinition('V3')
print(f'TAB desc count POST mod: {len(tab_cim.fieldDescriptions)}')
Solução Provisória
In ArcGIS Pro, manually change the alias name of the field and run the code.
Etapas para Reproduzir