摘要
Describe 函数可返回图层的以下属性。同时还支持数据集属性及图层所引用的数据类型的属性。例如,引用要素类的图层可以访问要素类属性,而引用栅格数据集的图层可以访问栅格数据集属性。
- 如果所描述的数据元素是地图中的图层或内存中的图层,则返回的 dataType 提供所描述的图层的数据源的信息。以下为一些示例,“MosaicLayer”、“FeatureLayer”和“GroupLayer”。
- 您可以检查由 layer 属性返回的 Describe 对象,以获得有关 .lyrx 或 .lyr 文件所包含图层的信息。
属性
属性 | 说明 | 数据类型 |
dataElement (只读) | 图层所指的数据源的 Describe 对象。 | Describe |
endTimeField (只读) | 图层的结束时间字段(如果图层为时间感知型)。 | String |
featureClass (只读) | 与要素图层相关的要素类的 Describe 对象。 | Describe |
FIDSet (只读) | arcpy.Describe 将返回用分号分隔的所选要素 ID 字符串(记录编号)。 arcpy.da.Describe 将返回所选要素 ID 的列表。如果尚未对图层应用选择,则 FIDSet 将返回 None;如果已对图层应用选择,但没有返回任何记录,则 FIDSet 将返回一个空列表。 | Integer |
fieldInfo (只读) | 图层的 FieldInfo 对象(属性集)。 | FieldInfo |
layer (只读) | .lyr 文件内图层的 Describe 对象。 | Describe |
nameString (只读) | 图层的名称。 | String |
startTimeField (只读) | 图层的开始时间字段(如果图层为时间感知型)。 | String |
table (只读) | 图层内表的 Describe 对象。 | Describe |
TimeZone (只读) | 开始和结束时间字段参考的时区(如果为图层指定了时间)。 | String |
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")