Инструменты геообработки могут работать со всеми типам данных, например, с классами объектов базы геоданных, шейп-файлами, растрами, таблицами, топологиями и сетями. Каждый набор данных обладает определенными свойствами, которые можно использовать для управления при выполнении скрипта или в качестве параметров инструментов. Например, выходной тип объектов инструмента Пересечение зависит от типа геометрии пересекаемых данных – это могут быть точки, линии или полигоны. Если инструмент Пересечение выполняется в скрипте с входными наборами данных, необходимо определить типы геометрии входных наборов данных, чтобы можно было задать корректный выходной тип геометрии. Для определения типов данных всех входных наборов данных можно использовать функции arcpy.Describe и arcpy.da.Describe.
Функция arcpy.Describe возвращает объект Describe с несколькими свойствами, например, тип данных, поля, индексы и многие другие. Свойства объекта являются динамическими, то есть в зависимости от описываемого типа данных доступны для использования различные свойства Describe. Функция arcpy.da.Describe возвращает такую же информацию, но в виде словаря.
С помощью функции Describe можно задать свойства набора данных и использовать их для принятия решений. Например, в приведенном ниже примере скрипт использует функцию Describe для оценки типа геометрии (полилиния, полигон, точка и т.д.) входных данных и для определения соответствующего инструмента геообработки.
import arcpy
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
# Describe a feature class using arcpy.Describe
desc = arcpy.Describe(inFC)
# If the shapeType is Polygon convert the data to polylines using the
# FeatureToLine tool, otherwise just copy the data using the CopyFeatures tool.
if desc.shapeType == "Polygon":
arcpy.FeatureToLine_management(inFC, outFC)
else:
arcpy.CopyFeatures_management(inFC, outFC)
С той же целью может использоваться метод arcpy.da.Describe. В следующем примере возвращаемый arcpy.da.Describe словарь используется для оценки типа геометрии.
import arcpy
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
# Describe a feature class using arcpy.da.Describe
desc = arcpy.da.Describe(inFC)
# If the shapeType is Polygon convert the data to polylines using the
# FeatureToLine tool, otherwise just copy the data using the CopyFeatures tool.
if desc['shapeType'] == "Polygon":
arcpy.FeatureToLine_management(inFC, outFC)
else:
arcpy.CopyFeatures_management(inFC, outFC)
Свойства описания организованы в серии групп свойств. Любой определенный набор данных содержит свойства хотя бы одной из этих групп. Например, если описывается класс объектов базы геоданных, можно получить свойства из групп свойств Класс объектов базы геоданных, Класс объектов, Таблица и Набор данных. Все данные независимо от типа данных всегда получают общие свойства Describe.
- Описание свойств объектов
- ArcInfo Workstation Свойства элемента
- ArcInfo Workstation Свойства таблицы
- Свойства правил атрибутов
- Свойства рабочей области файлов BIM
- Свойства Набора данных чертежа САПР
- Свойства класса объектов САПР
- Свойства класса объектов покрытия
- Свойства покрытия
- Свойства набора данных
- Свойства таблицы dBASE
- Свойства отслеживания изменений
- Свойства класса объектов
- Свойства группы полей
- Свойства файла
- Свойства папки
- Свойства класса объектов базы геоданных
- Свойства таблицы базы геоданных
- Свойства геометрической сети
- Свойства слоя геостатистики
- Свойства набора данных LAS
- Свойства слоя
- Свойства набора данных Location Referencing
- Свойства документа карты
- Свойства набора данных мозаики
- Network Analyst Свойства слоя
- Свойства набора сетевых данных
- Свойства набора данных участков
- Свойства набора данных участков для ArcMap
- Свойства файла проекции
- Свойства канала растра
- Свойства каталога растров
- Свойства набора растровых данных
- Свойства Record Set и Feature Set
- Свойства класса отношений
- Свойства класса представлений
- Свойства набора данных схемы
- Свойства диаграммы схемы
- Свойства папки схемы
- Свойства класса объектов SDC
- Свойства класса объектов шейп-файлов
- Свойства таблицы
- Свойства представления таблицы
- Свойства текстового файла
- Свойства Tin
- Свойства инструмента
- Свойства набора инструментов
- Свойства топологии
- Свойства сети трассировки
- Свойства инженерной сети
- Свойства покрытия VPF
- Свойства класса объектов VPF
- Свойства таблицы VPF
- Свойства рабочей области