Инструменты геообработки могут работать со всеми типам данных, например, с классами объектов базы геоданных, шейп-файлами, растрами, таблицами, топологиями и сетями. Каждый набор данных обладает определенными свойствами, которые можно использовать для управления при выполнении скрипта или в качестве параметров инструментов. Например, выходной тип объектов инструмента Пересечение (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 Object
- ArcInfo Workstation Свойства элемента
- ArcInfo WorkstationСвойства таблицы
- Свойства набора данных чертежа САПР (CAD)
- Свойства класса объектов CAD
- Свойства набора кадастровых данных
- Свойства класса пространственных объектов покрытия
- Свойства покрытия
- Свойства наборов данных
- Свойства таблицы dBASE
- Свойства отслеживания правки
- Свойства класса объектов (FeatureClass)
- Свойства файла
- Свойства папок
- Свойства класса объектов БГД
- Свойства таблицы GDB
- Свойства геометрической сети
- Свойства наборов данных LAS
- Свойства слоя
- Свойства документа карты
- Свойства набора данных мозаики
- Network Analyst Свойства слоя
- Свойства набора сетевых данных
- Свойства файла привязки
- Свойства канала растра
- Свойства каталога растров
- Свойства наборов растровых данных
- Свойства наборов RecordSet и FeatureSet
- Свойства RelationshipClass
- Свойства класса представления
- Свойства набора схематических данных
- Свойства схематического представления
- Свойства папки схемы
- Свойства класса объектов SDC
- Свойства класса объектов шейп-файлов
- Свойства таблицы
- Свойства представления таблицы
- Свойства текстовых файлов
- Свойства набора данных Tin
- Свойства инструмента
- Свойства набора инструментов
- Свойства топологии
- Свойства покрытия VPF
- Свойства класса объектов VPF
- Свойства таблицы VPF
- Свойства рабочей области
Работа с наборами свойств
Некоторые свойства являются членами набора Property. Например, допуски покрытия или свойства подключения рабочей области возвращаются в виде наборов Property. Наборы Property включают именованные свойства, которые можно вызывать из самого набора свойств. В следующем примере допуски покрытия (нечеткий (fuzzy), висячий узел (dangle), совпадение контрольных точек (ticMatch), редактирование (edit), замыкание узла (nodeSnap), прореживание (weed), гранулирование (grain) и замыкание (snap)) выводятся в качестве стандартных выходных данных:
import arcpy
# Describe 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, поэтому их удобно использовать в наборе свойств, не имеющем предопределенного набора значений.