Usando o ArcGIS 10.0, é possível reordenar os campos em um geodatabase de arquivo e a ordem persistiu no banco de dados?
Consideramos exportar para XML e escrever um analisador para alterar a ordem dos campos e, em seguida, recriar um novo banco de dados a partir do XML. Parece um processo trabalhoso.
Outra idéia é importar as definições de campo existentes para o Excel, reordená-las, exportar para CSV e, em seguida, escrever um script Python para criar esses campos em um novo Geodatabase. Existe um script como esse antes de escrevê-lo do zero?
Infelizmente, o ArcGIS Diagrammer parece não suportar o pedido em campo.
Existem scripts ou hacks que poderíamos usar para simplificar esse processo?
Respostas:
Conforme mencionado nos comentários, você pode reordenar os campos com o ArcGIS Diagrammer. Publiquei um passo a passo mais geral nesta resposta: Como atualizar a propriedade length de um campo de classe de recurso?
fonte
Em resposta a outra pergunta, eu disse que é possível usar as Estatísticas de Resumo para fazer o equivalente a PULLITEMS (campos antigos para reordenar). Essa técnica funciona bem apenas em tabelas, mas existe outro script disponível agora que diz que funciona nas classes de recurso e na tabela.
Eu também recomendaria os campos Resposta para reordenar permanentemente usando a ferramenta ArcGIS Make Query Table? que foi inspirado na resposta do @klewis a este.
fonte
A versão gratuita do ET Geowizards fará isso. Básico -> Classificar formas. Acabei de testar em um geodatabase de arquivo v10 e funciona. Ele precisa criar uma nova classe de recurso.
fonte
Se você não possui o Visio for Diagramer - Todas as outras respostas aqui quebram as associações. Eu achei que isso funcionava bem no meu caso:
fonte
Você precisa executar MakeTableQuery no conjunto de ferramentas Layers e Table Views para reordenar os campos. Na documentação, A ordem dos campos na lista de campos indica a ordem em que os campos aparecerão na camada de saída ou na exibição da tabela. Além disso, se uma coluna Shape for adicionada à lista de campos, o resultado será uma camada; caso contrário, é uma exibição de tabela. Está disponível com qualquer nível de licença.
fonte
Com a ferramenta Mesclar , você pode reordenar facilmente os campos permanentemente. Funciona com tabelas e classes de recursos. A reordenação pode ser feita por meio de script python e até com a caixa de diálogo Ferramenta (removendo um campo e recolocando-o na caixa de diálogo). Embora reordenar por meio do diálogo não seja uma abordagem perfeita.
Recomenda-se usar a ferramenta Mesclar uma vez e, em seguida, usar Copiar como snippet Python e, em seguida, alterar manualmente as ordens dos campos e colar o código python nas janelas python.
Aqui está um script python que usa a Merge Tool para reordenar campos (copiado daqui )
USO:
fonte
Existe uma extensão gratuita da Esri chamada X-Ray, que contém uma ferramenta feita para reordenar campos. Funcionou muito bem para nós e é fácil de usar.
fonte
Até agora, o método mais eficiente que encontrei para renomear campos, alterar sua ordem padrão e várias outras coisas é usar o Microsoft Access:
GDB_
, abra tabelas no modo de design de tabelaNotas:
Sempre tenha um backup atual. Você está mexendo diretamente com a estrutura interna do GDB e pode facilmente descartar seus dados alterando o banco de dados ao ponto em que o ArcGIS não sabe mais lê-lo.
Existem algumas palavras - chave reservadas no lado do ArcGIS que não podem ser usadas para nomes de campos. O Access criará ou renomeará os campos com essas palavras-chave, mas quando você os devolver, eles terão um sublinhado automaticamente anexado. Então
Current
se tornaCurrent_
. Observe também as palavras-chave reservadas do Access parcialmente sobrepostas .O GDB pessoal tem um limite de tamanho de arquivo de 2 GB, portanto o tamanho total de todas as tabelas e classes de recursos no GDB não pode exceder isso.
Pode ser tentador usar sempre GDBs pessoais para pequenos projetos (<2GB). Não. O desempenho é péssimo e há diferenças sutis na sintaxe SQL do Access que tornam Expressões de rótulo, Consultas de definição e assim por diante não portáteis.
fonte
Existe um Esri Como: Alterar a ordem dos nomes dos campos em uma solução da tabela de atributos .
Isso requer a edição do XML, mas depois que você acertar o esquema, estará bem.
fonte
Esse script Python é uma espécie de método de "fita adesiva" para fazer isso. Ele é limitado a 20 campos, mas pode ser facilmente adicionado a fim de permitir a execução para quantos campos seus dados tiverem.
O script foi projetado para ser executado como uma ferramenta de script, portanto, você precisará configurar parâmetros no ArcCatalog.
Os parâmetros devem ser os seguintes:
Código:
Sei que essa não é a maneira mais bonita ou eficiente de fazer isso, mas na verdade funciona muito bem e levou apenas meia hora para escrever. Eu uso isso o tempo todo quando preciso reordenar os campos e não requer o Diagrammer ou o Microsoft Access. Obviamente, o número máximo de campos pode ser um problema, mas novamente pode ser personalizado dentro do script.
fonte