Пошук у багатьох наборах даних для класів функцій ArcSDE за допомогою польових фільтрів в ArcCatalog?


11

У мене є ~ 30 наборів даних функцій та ~ 100 класів характеристик, розповсюджених по наборах даних про функції. Я хотів би шукати клас функцій за назвою серед наборів даних про функції. Також я хотів би запитати з усіх класів функцій ті записи, у яких "Date_Mod" від someDate до someOtherDate.

Це все в ArcGIS SDE 10.0 на sql сервері 2008 року.

Відповіді:


10

Щодо мене, я б рекомендував вибрати сценарій python для цього завдання (arcpy).

Ось кілька ідей:

  1. Використовуйте ListDatasets для отримання всіх наборів даних.
  2. Використовуйте ListFeatureClasses для отримання всіх функціональних класів.
  3. Використовуйте SearchCursor для запиту даних.
  4. Погляньте на функцію Описувати - вона також може бути дуже корисною для деяких завдань.

ОНОВЛЕННЯ:

Знайшли після публікації: @Aragon детально описав, як виконати крок 3.


Я створив скрипт python, який виводить щось подібне з перерахованими 4 елементами, тому я можу поручитися за те, що це можливо. По-перше, вирішіть, що саме ви хочете, щоб був ваш результат. У своєму сценарії спочатку створіть таблицю виводу. Потім ви починаєте з рівня робочої області і проводите ряд описів і списків, збираючи свої дані по дорозі. Вам потрібно буде додати ListFields та зібрати значення min та max із стовпців дати. Ваш точний алгоритм буде залежати від формату вашого вихідного та розташування наборів даних вхідних функцій (чи всі вони походять з одного загального робочого простору?).
RHB

6

ви можете перевірити метод SearchCursor тут . лише одне полягає в тому, щоб створити вираз SQL замість where_clause. Висловлення запитів такі ж, як і стандартні вирази SQL в ArcGIS. він подібний до діалогового вікна Select By Attributes. ви можете написати власний інструмент, переглянувши наступний код

Підсумок

Функція SearchCursor встановлює курсор, доступний лише для читання, у класах чи таблиці функцій. SearchCursor можна використовувати для ітерації через рядкові об'єкти та вилучення значень поля. Пошук необов'язково може бути обмежений пунктом "де" або полем, і необов'язково відсортований.

Синтаксис SearchCursor (набір даних, {where_clause}, {pace_reference}, {polja}, {sort_fields})

Приклад:

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) 

Я сподіваюся, що це допоможе тобі ...


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.