Mais

Exportando recursos com anexos para uso fora do ArcGIS?

Exportando recursos com anexos para uso fora do ArcGIS?


O ArcGIS 10 apresenta a nova capacidade de adicionar anexos a recursos individuais para classes de recursos armazenados em um geodatabase. Um uso disso seria adicionar várias fotos a um local específico, hidrantes parecem ser um exemplo popular (suponho que é importante saber se você é um cachorro na Internet e precisa de um pit stop).

No banco de dados, a estrutura de uma classe de recurso habilitada para anexo tem três dobras:

  • a própria classe de recursos,
  • uma tabela contendo os anexos e metadados associados (nome do arquivo, tamanho, etc), e
  • uma classe de relacionamento que define o relacionamento 1 para muitos entre os dois.

Minha pergunta é: como exportar esses dados - classe de recurso, anexos, metadados de anexo - para consumo lado de fora de Arcgis? *

Exportar o FC é fácil, FeatureClassToFeatureClass funciona da mesma forma que em um FC não habilitado para anexos. Exportando a tabela de anexos? Não muito. TableToTable para output.dbf extrai apenas os metadados do arquivo anexado, para output.csv erros com tipo de campo não suportado e para saída informação tabela falha com um erro de campo geral.

Isso não é tão surpreendente, pois esses tipos de arquivo não oferecem suporte a um tipo de dados de blob binário. Eu esperava / esperava encontrar uma ferramenta que convertesse os binários anexados em seu formato nativo, por exemplo,

Então, que tal? O que preciso fazer para retirar os dados?

* ironicamente, meu projeto do momento que gerou este Q é exportar para uso no Arcgis, mas não no Arcgis Desktop ...


http://support.esri.com/em/knowledgebase/techarticles/detail/41763

Para ArcGIS 10.1+

from arcpy import da import os inTable = arcpy.GetParameterAsText (0) fileLocation = arcpy.GetParameterAsText (1) com da.SearchCursor (inTable, ['DATA', 'ATT_NAME']) como cursor: para linha no cursor: binaryRep = linha [0] fileName = row [1] # save to disk open (fileLocation + os.sep + fileName, 'wb'). Write (binaryRep.tobytes ()) del row del binaryRep del fileName

Exportar GDB para XML (clicando com o botão direito em GDB> Exportar para XML) pode exportar perfeitamente recursos + anexos. Além disso, se você está procurando uma abordagem mais automatizada, o ArcGIS 10.1 apresenta uma nova caixa de ferramentas para exportação XML. Você pode importar XML para novos GDBs ou acessar diretamente todos os seus dados analisando-os para outros aplicativos.


Eu não tentei os próximos métodos, então apenas o que penso sobre isso:

Se você for conveniente com ArcGIS .NET API, pode usar C # para exportar blobs para arquivos. Dê uma olhada neste trecho.

Você também pode tentar exportar a tabela de anexos para o Personal GDB e, em seguida, tentar exportar blobs para lá. Da mesma forma, você pode exportar para a tabela SDE e usar seu DBMS (sql?) Para fazer isso.


O seguinte script baixa os anexos da Camada de Recurso hospedados para o disco: Baixando os Anexos da Camada de Recurso por meio da API ArcGIS para Python. Ele usa a API ArcGIS para Python mais recente, que interage diretamente com qualquer Web GIS.


Assista o vídeo: How To: Trimble Catalyst with Esri Collector for Arc GIS