Na lista de discussão ESRI-L desta manhã, havia uma pergunta sobre como ver ou exportar todos os domínios de valor codificado para um geodatabase. O objetivo é apresentar o conteúdo dos domínios em forma de tabela, para facilitar a leitura.
A ferramenta DomainToTable faz isso facilmente em um único domínio, mas quando há muitos domínios, ela se torna rapidamente cansativa. O melhor conselho que eu poderia dar foi sobre o recurso de processamento em lote , mas mesmo isso requer conhecer ou procurar os nomes dos domínios individualmente.
Certamente há uma maneira melhor?
esri-geodatabase
domains
Matt Wilson
fonte
fonte
GDB_Domains
mesa? Abri um GDB pessoal com domínios no Access e ele não está lá. Eu encontreiGDB_Items
com umDefinition
campo que parece conter os domínios, mas eles estão enterrados em XML.Respostas:
Aqui está algo que eu montei que funciona com os simples gdbs que tenho em mãos. Não sei como ele pode ou não lidar com subtipos com vários domínios (veja o comentário de Brent).
Uso:
Ele exporta as tabelas para o mesmo gdb do qual está recebendo os domínios. Ele falhará se as tabelas já existirem.
Versão atualizada no github em https://github.com/envygeo/arcplus/blob/master/ArcToolbox/Scripts/export_gdb_domains.py . Opcionalmente, grava no XLS e substitui as tabelas existentes.
Recursos:
História
Inicialmente, tentei usar um diretório de saída e arquivos .csv para os resultados, mas continuei recebendo "ERRO 000142: O nome do campo na tabela do dBASE não pode ter mais que 10 caracteres" . Parece sempre interpretar o caminho como parte do nome da tabela (
table =
linha de cf ) {encolher de ombros}.[Mais tarde]: @ dgj32784 encontrou a causa,
'description'
com 11 caracteres é muito longo.fonte
csv
módulo Python .Aqui está um código que exporta todos os domínios para arquivos do Excel. Além disso, você está recebendo o erro ao tentar exportar para DBF porque a palavra "descrição" possui 11 caracteres.
EDIT: formato de impressão fixo (linha 20)
fonte