Estou procurando uma maneira de pesquisar bancos de dados geográficos para uma classe ou tabela de recursos usando seu nome.
Existe alguma função como esta disponível?
Obviamente, o Windows Search retorna apenas os IDs aleatórios das tabelas em um Geodatabase. Eu realmente gostaria de procurar conjuntos de dados dentro deles.
Acho que isso ajudaria muitas pessoas, porque sei que não sou o único por aí que armazena dados espaciais em Geodatabases, apenas para arquivá-los com milhares de outros conjuntos de dados e não quero analisá-los.
Eu gostaria de pesquisar esses Geodatabases no ArcCatalog.
arcgis-desktop
arcpy
arcgis-10.1
esri-geodatabase
search-window
Cody Brown
fonte
fonte
Respostas:
Este é um longo caminho para fazer o que você está perguntando, usando algum python:
Você precisa de uma lista de todos os bancos de dados geográficos que deseja pesquisar. Se houver muito, use a função walk do python no diretório em questão. Isolar para todas as pastas com um n
.gdb
ou.mdb
, dependendo do banco de dados.Encontre todos os conjuntos de dados no GeoDatabase.
Encontre todas as camadas no conjunto de dados.
Pesquise os resultados das camadas pelo que você está procurando.
Aqui está um exemplo de código do que estou falando:
fonte
Outra maneira de procurar classes de recurso, que podem ou não estar em um conjunto de dados, é usar a
walk
função , como mencionado anteriormente. Requer apenas um espaço de trabalho para pesquisar (ou seja, uma pasta contendo centenas de GDBs).A lista resultante conterá os caminhos e nomes de arquivos de todas as classes de recursos que correspondem aos seus critérios de pesquisa, que podem ser impressos.
A
walk
função também pode ser modificada para procurar tipos específicos de recursos (por exemplo, polígonos, pontos, rasters etc.), alterandotype=""
para o tipo de recurso.fonte
Encontrei algum software há algum tempo que pode ser útil para indexar bancos de dados geográficos e outros dados espaciais:
https://www.voyagersearch.com/
Testei-o para a nossa empresa e, embora não o tenhamos usado por vários motivos, ele possui muitas funcionalidades úteis. Em resumo, ele cria um índice dos seus conjuntos de dados espaciais que podem ser pesquisados usando a localização - pois registra a extensão dos dados, o nome e também (eu acho) os atributos / conteúdos dos dados.
Estes são os índices do GeoDB: https://voyagersearch.zendesk.com/hc/en-us/articles/204187447-Indexing-Esri-Geodatabases-and-Shapefiles
Esta é a página de demonstração deles, que fará um trabalho melhor em demonstrar suas capacidades do que eu! http://voyagerdemo.com/web/navigo/#/home
fonte