Stai cercando molti set di dati di funzionalità per le classi di funzionalità ArcSDE utilizzando i filtri di campo in ArcCatalog?


11

Ho ~ 30 set di dati di funzionalità e ~ 100 classi di funzionalità sparse in tutti i set di dati di funzionalità. Vorrei cercare una classe di caratteristiche per nome tra i set di dati delle caratteristiche. Inoltre, vorrei eseguire una query su tutte le classi di funzionalità di quei record che hanno "Date_Mod" da someDate a someOtherDate.

Questo è tutto in ArcGIS SDE 10.0 su SQL Server 2008.

Risposte:


10

Per quanto mi riguarda, consiglierei di scegliere lo scripting Python per questo compito (arcpy).

Ecco alcune idee:

  1. Utilizzare ListDataset per ottenere tutti i set di dati.
  2. Usa ListFeatureClasses per ottenere tutte le occhiali.
  3. Utilizza SearchCursor per eseguire query sui dati.
  4. Dai un'occhiata alla funzione Descrivi - può anche essere molto utile per alcune attività.

AGGIORNARE:

Ho trovato dopo la pubblicazione: @Aragon ha descritto in dettaglio come eseguire il passaggio 3.


Ho creato uno script Python producendo qualcosa di simile con i 4 elementi elencati, quindi posso garantire che ciò è fattibile. Innanzitutto, decidi esattamente quale vuoi che sia il tuo output. Nel tuo script, crea prima la tabella di output. Quindi, inizi a livello di area di lavoro e conduci una serie di descrizioni ed elenchi, raccogliendo i tuoi dati lungo il percorso. Dovrai aggiungere ListFields e raccogliere i valori minimo e massimo fuori dalle colonne della data. Il tuo algoritmo esatto dipenderà dal formato dell'output e dalla posizione dei set di dati della funzione di input (hanno tutti origine in uno spazio di lavoro comune?).
RHB,

6

puoi consultare il metodo SearchCursor qui . solo una cosa è che crea un'espressione SQL anziché where_clause. Le espressioni di query sono uguali alle espressioni SQL standard anche in ArcGIS. è simile alla finestra di dialogo Seleziona per attributi. puoi scrivere il tuo strumento guardando il seguente codice

Sommario

La funzione SearchCursor stabilisce un cursore di sola lettura su una classe o tabella di feature. SearchCursor può essere utilizzato per scorrere gli oggetti riga ed estrarre i valori dei campi. La ricerca può facoltativamente essere limitata da una clausola where o dal campo e facoltativamente ordinata.

Sintassi SearchCursor (set di dati, {where_clause}, {spatial_reference}, {fields}, {sort_fields})

Esempio:

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) 

spero che ti aiuti ....


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.