Свойства слоя (arcpy)
Резюме
Функция Describe возвращает следующие свойства Layer. Свойства набора данных также поддерживаются, как и свойства типа данных и ссылки на слой. Например, слой, который ссылается на класс объектов, будет иметь доступ к свойствам класса объектов, а у слоя, ссылающегося на набор растровых данных, будет доступ к свойствам набора растровых данных.
- Если описываемый элемент данных – это слой в ArcMap или слой, хранимый в памяти, возвращаемый dataType предоставляет информацию об источнике данных описываемого слоя. К примерам можно отнести "MosaicLayer", "FeatureLayer" и "GroupLayer".
- Если описываемый элемент данных – это файл .lyr, возвращается dataType объекта "Layer".
- Информацию о слое в файле .lyr можно получить, изучив объект Describe, возвращаемый свойством layer.
Свойства
Свойство | Объяснение | Тип данных |
dataElement (только чтение) | Объект Describe источника данных, на который ссылается слой. | Describe |
featureClass (только чтение) |
Объект Describe класса объектов, связанных со слоем объектов. | Describe |
FIDSet (только чтение) |
Строка выбранных ИД объектов (номера записей), которые отделены друг от друга точкой с запятой. | String |
fieldInfo (только чтение) |
Объект FieldInfo (набор свойств) слоя. | FieldInfo |
layer (только чтение) | Объект Describe слоя в файле .lyr. | Describe |
nameString (только чтение) |
Имя слоя. | String |
table (только чтение) | Объект Describe таблицы в слоя в файле FeatureLayer. | Describe |
whereClause (только чтение) |
Выражение WHERE определяющего запроса слоя. | String |
Пример кода
Следующий автономный скрипт демонстрирует свойства векторного слоя, хранимого в памяти.
import arcpy
# Create an in memory feature layer from a feature class.
#
arcpy.MakeFeatureLayer_management(
"C:/data/chesapeake.gdb/bayshed",
"mainlines_layer")
# Create a Describe object from the feature layer.
#
desc = arcpy.Describe("mainlines_layer")
# Print some properties of the feature layer, and its featureclass.
#
print "Name String: " + desc.nameString
print "Where Clause: " + desc.whereClause
print "Feature class type: " + desc.featureClass.featureType
Следующий автономный скрипт демонстрирует свойства векторного слоя из файла .lyr.
import arcpy
# Create a Describe object from a .lyr file.
#
desc = arcpy.Describe("c:/data/water_pipes.lyr")
# Print some properties of the feature layer
#
print "Name String: " + desc.nameString
print "Where Clause: " + desc.whereClause
# Find out if the layer represents a feature class
if desc.dataElement.dataType == "FeatureClass":
print "Feature class: " + desc.dataElement.catalogPath
print "Feature class Type: " + desc.featureClass.featureType
else:
print "Not a regular feature class"