Procurando muitos conjuntos de dados de recursos para classes de recursos do ArcSDE usando filtros de campo no ArcCatalog?

11

Eu tenho ~ 30 conjuntos de dados de recursos e ~ 100 classes de recursos espalhados pelos conjuntos de dados de recursos. Gostaria de procurar uma classe de recurso por nome entre os conjuntos de dados do recurso. Além disso, gostaria de consultar em todas as classes de recurso os registros que possuem "Date_Mod" de someDate para someOtherDate.

Isso tudo está no ArcGIS SDE 10.0 no sql server 2008.

Justin
fonte

Respostas:

10

Quanto a mim, eu recomendaria escolher scripts python para esta tarefa (arcpy).

Aqui estão algumas idéias:

  1. Use ListDatasets para obter todos os conjuntos de dados.
  2. Use ListFeatureClasses para obter todas as classes de recursos.
  3. Use o SearchCursor para consultar dados.
  4. Dê uma olhada na função Descrever - também pode ser muito útil para algumas tarefas.

ATUALIZAR:

Encontrou após a postagem: @Aragon descreveu em detalhes como executar a etapa 3.

Alex Markov
fonte
Eu criei um script python produzindo algo semelhante com os 4 itens listados, para que eu possa garantir que isso é possível. Primeiro, decida exatamente o que você deseja que sua saída seja. No seu script, crie a tabela de saída primeiro. Em seguida, você começa no nível da área de trabalho e realiza uma série de descrições e listas, coletando seus dados ao longo do caminho. Você precisará adicionar ListFields e coletar os valores mínimo e máximo das colunas de data. Seu algoritmo exato dependerá do formato da sua saída e localização dos conjuntos de dados do recurso de entrada (todos eles se originam em um espaço de trabalho comum?).
RHB 26/02
6

você pode conferir o método SearchCursor aqui . apenas uma coisa é criar uma expressão SQL em vez de where_clause. As expressões de consulta também são iguais às expressões SQL padrão no ArcGIS. é semelhante à caixa de diálogo Selecionar por atributos. você pode escrever sua própria ferramenta observando o seguinte código

Sumário

A função SearchCursor estabelece um cursor somente leitura em uma classe ou tabela de recurso. O SearchCursor pode ser usado para percorrer objetos de linha e extrair valores de campo. A pesquisa pode opcionalmente ser limitada por uma cláusula where ou por campo e, opcionalmente, classificada.

Sintaxe SearchCursor (conjunto de dados, {where_clause}, {spatial_reference}, {fields}, {sort_fields})

Exemplo:

import arcpy

# Open a searchcursor 
#  Input: C:/Data/Counties.shp 
#  FieldList: NAME; STATE_NAME; POP2000 
#  SortFields: STATE_NAME A; POP2000 D 
# 
rows = arcpy.SearchCursor("C:/Data/Counties.shp", "'POP2000' > 5000", "", "NAME; 
STATE_NAME; POP2000", "STATE_NAME A; POP2000 D") 
currentState = "" 

# Iterate through the rows in the cursor 
# 
for row in rows: 
    if currentState != row.STATE_NAME: 
        currentState = row.STATE_NAME 

    # Print out the state name, county, and population 
    # 
    print "State: %s, County: %s, population: %i" % \
            (row.STATE_NAME, row.NAME, row.POP2000) 

espero que ajude você ....

Aragão
fonte
3

Você também pode ativar a indexação de pesquisa de arcmap (observe o desempenho).
A usabilidade para mim está começando a compensar a perda de desempenho.

insira a descrição da imagem aqui

Brad Nesom
fonte