Describe

Краткая информация

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

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

Обсуждение

Многие типы данных содержат свойства из других групп свойства. Например, если описывается класс объектов базы геоданных, можно получить свойства из групп свойств Класс объектов базы геоданных, Класс объектов, Таблица и Набор данных.

Также см. arcpy.da.Describe, который возвращает ту же информацию, но в виде словаря.

Примечание:

В некоторых случаях объект, возвращаемый функцией Describe, не будет содержать все имеющиеся свойства. Например, объект Describe для слоя карты не будет содержать набор свойств layer. Это свойство существует только при описании файла .lyr.

При попытке получить доступ к свойству, которого нет в объекте Describe, возникает ошибка или возвращается пустое значение (None, 0 или -1, пустая строка). Если вы не уверены в определенном свойстве, можно использовать функцию Python hasattr() для проверки.

Синтаксис

Describe (value, {data_type})
ПараметрОписаниеТип данных
value

The specified data element or geoprocessing object to describe.

String
data_type

The type of data. This is only necessary when naming conflicts exist, for example, if a geodatabase contains a feature dataset (FeatureDataset) and a feature class (FeatureClass) with the same name. In this case, the data type is used to clarify which dataset will be described.

(Значение по умолчанию — None)

String
Возвращаемое значение
Тип данныхОписание
Describe

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

Пример кода

Пример свойств объекта Describe (автономный скрипт)

Следующий автономный скрипт демонстрирует свойства объекта layer и describe слоя, заданные параметром скрипта. Для параметра может быть задан файл слоя или слой карты.

import arcpy

# Get the layer as a parameter and describe it.
#
# The layer could be a layer in ArcMap (like "some_layer")
# Or, it could be a .lyr file (like "C:/data/some.lyr")
#
layerString = arcpy.GetParameterAsText(0)
desc = arcpy.Describe(layerString)

# Print selected layer and describe object properties
# 
print("Name: {}".format(desc.name))
if hasattr(desc, "layer"):
    print("Layer name: {}".format(desc.layer.name))
    print("Layer data source: {}".format(desc.layer.catalogPath))
    print(".lyr file: {}".format(desc.catalogPath))
else:
    print("Layer name: {}".format(desc.name))
    print("Layer data source: {}".format(desc.catalogPath))

if desc.FIDSet != '':
    print("Number of selected features: {}".format(len(desc.FIDSet.split(";"))))