Copiando domínio (e único domínio) entre os bancos de dados geográficos da Esri?

23

Às vezes, tenho a necessidade de copiar um (s) domínio (s) de um geodatabase para outro (sem a classe ou a tabela de características).

No passado, eu consegui isso de várias maneiras diferentes, mas cada método não é tão simples quanto eu acho que poderia ser (ou talvez haja uma ferramenta CopyDomain que eu tenha perdido).

Que método você usa para fazer isso?

Jay Cummins
fonte
Conheço pelo menos dois métodos adicionais: talvez não seja uma "resposta aceita" digna, mas definitivamente uma reputação digna. Vou publicá-las em alguns dias se ninguém mais fornecer como respostas.
Jay Cummins
Não postar as soluções adicionais, a comunidade vai votar se eles são dignos :)
MathiasWestin
Em várias ocasiões, tive que explicar aos DBAs não GIS como os domínios são como uma tabela, mas não são armazenados como uma tabela que pode ser acessada através do SQL. Talvez as respostas para isso devam estar no idioma que um DBA não GIS possa entender.
Kirk Kuykendall

Respostas:

10

http://arcscripts.esri.com/details.asp?dbid=14729

Esta é uma extensão do ArcCatalog que permite copiar domínios entre geodatabases.

Acredito que esteja atualizado apenas para a 9.3.1 SP1, portanto, pode não funcionar com o ArcGIS 10.

Britt Wescott
fonte
+1 Estou no ArcGIS 10, mas deixei deliberadamente a questão em aberto para qualquer versão. Consegui que a extensão 9.3.1 funcionasse no ArcCatalog 10. Não recebi o novo comando no menu de contexto, mas consegui adicionar o comando a uma barra de ferramentas e usá-lo dessa maneira.
Jay Cummins
Ok, feliz que funcionou. Você deve informar o autor da extensão sobre o comando do menu de contexto que não está funcionando no ArcCatalog 10.
Britt Wescott
Eu notifiquei o autor (grilos até agora). Além disso, apliquei o SP1 no ArcGIS 10 na sexta-feira. Agora, os domínios de cópia arccatalog erros de extensão quando o ArcCatalog é iniciado.
Jay Cummins
Isso faz sentido, espero que ele o atualize em breve.
Britt Wescott
15

Para domínios de valores codificados, eu vou fazer um Para Tabela Domínio do geodatabase fonte e, em seguida, fazer uma tabela Para Domínio para o novo geodatabase.

Não conheço uma maneira de fazer isso para os domínios de intervalo. Você pode criar um domínio para tabela , mas a tabela para domínio sempre entra como um domínio de valor codificado.

Jay Cummins
fonte
3
Acabei de usar as ferramentas Domínio para tabela e Tabela para domínio esta manhã e elas funcionaram muito bem.
Timothy Michael
3

Esse método é mais invasivo e prático apenas para 1 ou alguns domínios.

  1. No banco de dados geográfico original, crie uma classe de característica simulada com um campo simulado que corresponda ao tipo de dados do campo do domínio que você deseja copiar.

  2. Copie / cole a classe de featureclass no novo banco de dados geográfico e não exclua-o até atribuir o domínio a um campo em outra classe de featureclass.

Jay Cummins
fonte
3

Eu escrevi um rápido exe de arcobjects de linha de comando com base em algum código vba que encontrei na semana passada . Não é um código complicado.

Ex e está aqui .
Filme AVI aqui .

Impressão fina: o exe é compilado para a licença 10.0 / ArcEditor (a licença faz parte é codificada por enquanto).

texto alternativo

Jay Cummins
fonte
Eu tentei isso, mas recebo erros de exceção CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228,. Alguma ideia?
31511
Não sei ao certo, mas você é uma licença do ArcEditor? Essa foi uma ferramenta rápida e suja, portanto, provavelmente não é a ferramenta mais elegante. Você possui o Visual Studio? A fonte está aqui: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Aqui está um método para exportar / importar domínios que usam documentos XML Workspace .

Exigências

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro mais recente (testado)
  • Notepad ++, Notepad ou seu editor de texto favorito

Procedimento

Exportar XML da Origem

  1. Selecione o seu geodatabase de origem
  2. Exportar um documento de espaço de trabalho XML

exportação

  1. Exporte apenas o esquema. Os metadados são opcionais (seta vermelha).

somente esquema

Editar XML

O esquema do conjunto de dados é excluído na etapa.

  1. Abra o arquivo XML.
  2. (opcional) Ative a quebra de linha para facilitar a visualização.
  3. Exclua tudo entre <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>as </DatasetDefinitions>tags e. Deve ser algo como isto:

edições xml

  1. Deixe tudo o resto em paz.
  2. Salve o arquivo XML

Importar para o destino

  1. Localizar / Criar o novo geodatabase
  2. Importar o documento XML Workspace ...
  3. Selecione o XML editado e pronto.
  4. Feito.

Solução de problemas

  • A especificação do espaço de trabalho XML da Esri é muito específica. Se a etapa de importação apresentar um erro, provavelmente há um erro de esquema. Revise o XML ou exporte-o novamente e repita. Não remova nenhum cursor extra ou quebras de linha.
Elliott
fonte