Se eu tiver uma classe de característica de arquivo de forma ou arquivo de banco de dados geográfico que possua campos que eu quero reordenar permanentemente, existe uma ferramenta, script ou utilitário que me ajudará a realizar rapidamente essa tarefa?
Geralmente eu sei que você precisa criar um novo campo, preenchê-lo com os valores antigos e excluir o campo antigo. Espero que exista algo já criado por aí que ajude com isso. Supondo que você não tenha o FME ou outra ferramenta ETL disponível, qual é a próxima melhor sugestão?
Essa NÃO é uma alteração no nível de exibição (por exemplo, arraste / solte os campos em ordem), mas grave para um novo arquivo de forma ou classe de recurso. Obrigado.
spatial-etl
field-mapping
RyanDalton
fonte
fonte
Respostas:
Tenho certeza de que você pode fazer isso com a Classe de recurso para Classe de recurso reordenando os campos na seção de mapa de campos da ferramenta.Edit: FC2FC não faz isso, mas ... ogr para o resgate.
Acabei de confirmar que ogr2ogr pode fazer isso. Especifique a ordem do nome do campo na opção -select. Por exemplo, se eu tiver um shapefile com dois campos, "Nome" e "FolderPath" (nessa ordem), mas desejar um novo shapefile com "FolderPath" primeiro, faria o seguinte:
fonte
A ferramenta ET GeoWizards fará isso, e parece que a versão gratuita fará isso sem nenhuma limitação no número de recursos.
fonte
O plug-in QGIS "Table Manager" agora também tem a capacidade de executar esta tarefa facilmente, sem a necessidade de linha de comando.
fonte
Agora, no QGIS, você pode usar a caixa de ferramentas de processamento (Ctl + Alt + T) e ir para geoalgoritmos do QGIS> Ferramentas de tabela de vetores> Campos de refatoração.
A partir daí, você terá todas as ferramentas para editar sua estrutura de tabelas.
fonte
O add-in do Arcmap X-Ray possui uma ferramenta para reordenar campos no formato Geodados
fonte
Para referência: MapInfo também pode fazê-lo imediatamente. Basta abrir o DBF e reordenar os campos permanentemente. http://www.dbf-editor.com também (US $ 40). Outros editores de DBF provavelmente também podem fazê-lo.
fonte
Eu tive um problema semelhante e a maneira mais rápida de reordenar permanentemente os campos de dados, se você já possui o QGIS, é usar o plug-in 'Table Manager', conforme sugerido anteriormente.
É simples de instalar plug-ins e é fácil de usar, conforme descrito na página abaixo:
http://www.qgistutorials.com/en/docs/using_plugins.html
Permite mover os atributos em uma ordem específica, renomear os campos, inserir novos campos e replicá-los. Também permite salvar o arquivo original ou renomeá-lo e salvá-lo de forma diferente do original.
Essa foi uma solução rápida e conveniente para o meu problema de gerenciamento da tabela de atributos e é altamente recomendada, especialmente para arquivos com um grande número de atributos associados.
fonte
A melhor maneira de fazer isso é usar mapeamentos de campo. Há anos que luto com esse recurso do software ESRI, mas finalmente estou contente com esta solução. Basicamente, você pode simplesmente fazer uma cópia da sua classe de recurso com os campos reordenados permanentemente usando arcpy.FieldMappings . Todos os dados também são transferidos. Após a conclusão do script, renomeie sua antiga Feature Class para myFeatureClass_old e a nova para myFeatureClass!
Aqui está o script, é super direto:
fonte
Agora, a classe de recursos para a classe de recursos pode executar isso na versão 10.5 usando a seção Mapeamento de campos da ferramenta GP.
fonte
MakeQueryTable permite definir a ordem dos seus campos para uma tabela ou FC (somente Geodatabase). A ordem que você especifica os campos é a ordem da saída. Acho esta ferramenta difícil de usar. YMMV
Arctoolbox, ferramentas de gerenciamento de dados, camadas e visualizações de tabela, faz consulta à tabela
fonte
Exporte as classes de recurso para um geodatabase pessoal vazio (arraste e solte é o mais rápido), abra o .mdb no Access, reordene os campos no Design View , salve e, em seguida, com a cópia do ArcMap / Catalog novamente para modelar ou arquivar o geodatabase.
O mesmo método funciona para renomear campos.
Tenha cuidado , porém , apenas trabalhe em cópias, é fácil estragar tudo. (Como Karey Jack observa em outra resposta, Esri desencoraja o acesso direto a .mdb ). Por segurança, ignore todas as tabelas que começam com
GDB_
e também aquelas que terminam com_Shape_Index
.fonte
Tente OGR2OGR. Você pode passar uma consulta SQL e colocar os campos na ordem que desejar.
Acabei de testar isso e funciona bem!
Para sua informação, a maneira mais fácil de instalar o OGR é via FWTools .
fonte
Abra o arquivo .mdb no MS Access e reordene os campos usando o recurso de arrastar e soltar no 'Design View'
Embora a ESRI desencoraje a edição de um banco de dados no link Access ESRI
fonte
Estou um pouco atrasado para a festa, mas estou surpreso que ninguém tenha mencionado o ESRI Geodatabase Diagrammer .
Um recurso fornecido pela ESRI para editar a estrutura XML do seu geodatabase e arquivos. Para mim, é essencial que você esteja trabalhando em algo em que o design precisa ser perfeito (projeto de longo prazo). Isso impedirá que você tenha que recriar arquivos continuamente após cometer um erro simples.
fonte