Tenho mais de cem FCs, cada um com 10 ou 20 atributos para adicionar ou alterar os aliases, duas ou mais vezes por ano. Escusado será dizer que isso não é algo que eu vou grunhir. Como posso automatizar esse processo?
A solução Python é preferida, mas usará qualquer coisa que funcione.
Eu tenho acesso ao Arcgis 9.3.1 e 10 (nível de licença do ArcInfo).
arcpy
arcgis-10.0
alias
Matt Wilson
fonte
fonte
Respostas:
A partir da versão 10.1, AlterAliasName () pode ser usado para renomear tabelas:
A partir da versão 10.3, Alter Field pode ser usado para alterar o nome dos campos:
fonte
Com a ajuda de Mark Cederholm, tenho uma solução funcional usando python e arcobjects . É difícil nas bordas, mas conseguiu o trabalho. Depois de seguir a receita nessa página, crie um novo script que use as
GetLibPath, NewObj, CType, OpenFeatureClass
funções desnippets.py
. Crie também as tabelas de pesquisa de renomeação no formato .csv:Pesquisa alias campo a campo (att_code-name_lookup.csv):
Classe de recurso para a pesquisa FC Alias (fc_code-name_lookup.csv):
e o script:
fonte
Este código funciona para mim na versão 9.3.1 ...
fonte
Outra solução, cortesia de Rob Clark :
No python, a sintaxe da
field_map
peça é complicada; portanto, faça uma interatividade para definir os parâmetros corretamente, deixe-o executar. Em seguida, vá para a janela de resultados , clique com o botão direito do mouse e Copie o snippet python . Aqui está um trecho recombinado em algo um pouco mais fácil de estender e reutilizar (mais trabalho poderia ser feito para separar as partes do mapa e das propriedades do campo):fonte
Esta solução é para usuários que usam o SQL Server como geodatabase. você pode alterá-lo manualmente por um comando de atualização do SQL. o nome de todos os recursos é salvo na tabela [sde]. [GDB_OBJECTCLASSES]. o nome do alias definido simplesmente se você alterar o valor da coluna do alias.
EDIT: este método é um método rápido para alterar o nome alternativo. mas usar IClassSchemaEdit é melhor porque no método sql update você não pode usar o nome alternativo até redefinir o espaço de trabalho do recurso.
fonte