Описание данных

Инструменты геообработки могут работать со всеми типам данных, например, с классами объектов базы геоданных, шейп-файлами, растрами, таблицами, топологиями и сетями. Каждый набор данных обладает определенными свойствами, которые можно использовать для управления при выполнении скрипта или в качестве параметров инструментов. Например, выходной тип объектов инструмента Пересечение (Intersect) зависит от типа формы пересекаемых данных – точка, линия или полигон. Если инструмент Пересечение (Intersect) выполняется в скрипте с входными наборами данных, необходимо определить типы форм входных наборов данных, чтобы можно было задать корректный выходной тип формы. Для определения типов данных всех входных наборов данных можно использовать функцию Describe.

С помощью функции Describe можно определить свойства набора данных и использовать их для принятия решений. Например, в следующем примере скрипт использует функцию Describe для оценки типа геометрии (полилиния, полигон, точка и т.д.) входных данных и для определения соответствующего инструмента геообработки.

import arcpy

inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)

# Describe a feature class
#
desc = arcpy.Describe(inFC)

# Get the shape type (Polygon, Polyline) of the feature class
#
type = desc.shapeType

# If the shapeType is Polygon convert the data to polylines 
#  using the FeatureToLine tool, otherwise just copy the 
#  data using the CopyFeatures tool.
#
if type == "Polygon":
    arcpy.FeatureToLine_management(inFC, outFC)
else:
    arcpy.CopyFeatures_management(inFC, outFC)

Функция Describe возвращает объект функции Describe с несколькими свойствами, например, тип данных, поля, индексы и многие другие. Свойства объекта являются динамическими, то есть в зависимости от описываемого типа данных доступны для использования различные свойства описания.

Свойства описания организованы в серии групп свойств. Любой определенный набор данных содержит свойства хотя бы одной из этих групп. Например, если описывается класс объектов базы геоданных, можно получить свойства из групп свойств GDB FeatureClass, FeatureClass, Table и Dataset. Все данные независимо от типа данных всегда получают общие свойства Describe Object.

Свойства Describe ObjectArcInfo Workstation Item PropertiesArcInfo Workstation Table PropertiesСвойства CAD Drawing DatasetСвойства класса объектов САПР (CAD FeatureClass Properties)Свойства набора кадастровых данных (Cadastral Fabric Properties)Свойства класса объектов покрытия (Coverage FeatureClass Properties)Свойства покрытия (Coverage Properties)Свойства набора данных (Dataset Properties)Свойства таблицы dBase (dBASE Table Properties)Свойства отслеживания редактора (Editor Tracking Properties)Свойства класса объектов (FeatureClass Properties)Свойства файла (File Properties)Свойства папки (Folder Properties)Свойства класса объектов БГД (GDB FeatureClass)Свойства таблицы БГД (GDB Table Properties)Свойства геометрической сети (Geometric Network Properties)Свойства наборов данных лазерного сканирования LAS (LAS Dataset Properties)Свойства слоя (Layer Properties)Свойства документа карты (Map Document Properties)Свойства набора данных мозаикиСвойства слоя Network Analyst (Layer Properties)Свойства набора сетевых данных (Network Dataset Properties)Свойства файла проекции Prj (Prj File Properties)Свойства канала растра (Raster Band Properties)Свойства каталога растров (Raster Catalog Properties)Свойства наборов растровых данных (Raster Dataset Properties)Свойства RecordSet и FeatureSetСвойства класса отношений (RelationshipClass Properties)Свойства класса представления (RepresentationClass Properties)Свойства набора схематических данных (Schematic Dataset Properties)Свойства схематического представления (Schematic Diagram Properties)Свойства папки схемы (Schematic Folder Properties)Свойства класса объектов SDC (SDC FeatureClass Properties)Свойства класса объектов шейп-файла (Shapefile FeatureClass Properties)Свойства таблицы (Table Properties)Свойства представления таблицы (TableView Properties)Свойства текстового файла (Text File Properties)Свойства набора данных Tin (Tin Properties)Свойства инструмента (Tool Properties)Свойства набора инструментов (Toolbox Properties)Свойства топологии (Topology Properties)Свойства покрытия VPF (VPF Coverage Properties)Свойства класса объектов VPF (VPF FeatureClass Properties)Свойства таблицы VPF (VPF Table Properties)Свойства рабочей области (Workspace Properties)

Работа с наборами свойств

Некоторые свойства являются членами набора Property. Например, допуски покрытия или свойства подключения рабочей области возвращаются в виде наборов Property. Набор свойств включают именованные свойства, которые можно вызывать из самого набора свойств. В следующем примере допуски покрытия (Нечеткий (Fuzzy), Висячий узел (Dangle), TicMatch, Редактировать (Edit), Замыкание узла (NodeSnap), Прореживание (Weed), Гранулирование (Grain) и Замыкание (Snap)) выводятся в качестве стандартных выходных данных:

import arcpy

# Create a describe object from a coverage feature class
#
desc = arcpy.Describe("D:/St_Johns/covs/freshwater")

# Create a property set of coverage tolerances
#
covTols = desc.tolerances

# Print each coverage tolerance
#
print covTols.fuzzy
print covTols.dangle
print covTols.ticMatch
print covTols.edit
print covTols.nodeSnap
print covTols.weed
print covTols.grain
print covTols.snap

Наборы свойств обычно используются, если свойства объекта описываются различным образом. Свойства подключения (сервер, экземпляр, база данных, пользователь и версия) рабочей области многопользовательской базы геоданных изменяются в зависимости от используемого типа базы данных ArcSDE, поэтому их удобно использовать в наборе свойств, не имеющем предопределенного набора значений.

Связанные темы

5/10/2014