描述
Describe 函数可返回图层的以下属性。同时还支持数据集属性及图层所引用的数据类型的属性。例如,引用要素类的图层可以访问要素类属性,而引用栅格数据集的图层可以访问栅格数据集属性。
- 如果所描述的数据元素是地图中的图层或内存中的图层,则返回的 dataType 提供所描述的图层的数据源的信息。以下为一些示例,“MosaicLayer”、“FeatureLayer”和“GroupLayer”。
- 如果所描述的数据元素是 .lyr 文件,则会返回“图层”的 dataType。
- 如果所描述的数据元素是 .lyrx 或 .lyr 文件,则会返回“图层”的 dataType。
- 您可以检查由 layer 属性返回的 Describe 对象,以获得有关 .lyr 文件所包含图层的信息。
属性
属性 | 说明 | 数据类型 |
dataElement (只读) | 图层所指的数据源的 Describe 对象。 | Describe |
featureClass (只读) | 与要素图层相关的要素类的 Describe 对象。 | Describe |
FIDSet (只读) | 用分号分隔的所选要素 ID 字符串(记录编号)。 | String |
fieldInfo (只读) | 图层的 FieldInfo 对象(属性集)。 | FieldInfo |
layer (只读) | .lyr 文件内图层的 Describe 对象。 | Describe |
nameString (只读) | 图层的名称。 | String |
table (只读) | 图层内表的 Describe 对象。 | 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
图层属性示例 2(独立脚本)
以下独立脚本显示了一些 .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"