Describe (arcpy)
摘要
Describe 函数返回的 Describe 对象包含多个属性,如数据类型、字段、索引以及许多其他属性。该对象的属性是动态的,这意味着根据所描述的数据类型,会有不同的描述属性可供使用。
Describe 属性被组织成一系列属性组。任何特定数据集都将至少获取其中一个组的属性。例如,如果要描述一个地理数据库要素类,您可访问 GDB 要素类、要素类、表和数据集属性组中的属性。所有数据,不管是哪种数据类型,总会获取通用 Describe 对象属性。
讨论
许多数据类型包括其他属性组中的属性。例如,如果要描述一个地理数据库要素类,您可访问 GDB 要素类、要素类、表和数据集属性组中的属性。
注:
在某些情况下,Describe 返回的对象并不包含为其设计的所有属性。例如,在 ArcMap 的内容列表中,图层的 describe 对象不会包含图层属性集。只有在描述 .lyr 文件时,该属性才会存在。
如果试图访问 Describe 对象不具有的属性,它会抛出错误异常或返回空值(无、0 或 -1 或空字符串)。如果您对特定属性不是很确定,可以使用 Python 的 hasattr() 函数进行检查。
Describe 对象属性ArcInfo Workstation 项属性ArcInfo Workstation 表属性CAD 工程图数据集属性CAD 要素类属性地籍结构属性Coverage 要素类属性Coverage 属性数据集属性dBASE 表属性编辑器追踪数据集属性要素类属性文件属性文件夹属性GDB 要素类属性GDB 表属性几何网络属性LAS 数据集属性图层属性底图文档属性镶嵌数据集属性Network Analyst 图层属性网络数据集属性Prj 文件属性波段栅格属性栅格目录属性栅格数据集属性RecordSet 和 FeatureSet 属性关系类属性制图表达类属性逻辑示意图数据集属性逻辑示意图属性逻辑示意图文件夹属性SDC 要素类属性Shapefile 要素类属性表属性表视图属性文本文件属性Tin 属性工具属性工具箱属性拓扑属性VPF Coverage 属性VPF 要素类属性VPF 表属性工作空间属性
语法
Describe (value)
参数 | 说明 | 数据类型 |
value |
The specified data element or geoprocessing object to describe. | String |
数据类型 | 说明 |
Describe |
返回具有用于详细描述所描述的数据元素的属性的对象。某些返回的对象属性会包含文本值或对象。 |
代码实例
Describe 属性示例(独立脚本)
以下独立脚本显示了脚本参数设置的图层中的一些图层和 describe 对象的属性。可针对 ArcMap 中的 .lyr 文件或图层设置该参数。
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:", desc.name
if hasattr(desc, "layer"):
print "Layer name:", desc.layer.name
print "Layer data source:", desc.layer.catalogPath
print ".lyr file:", desc.catalogPath
else:
print "Layer name:", desc.name
print "Layer data source:", desc.catalogPath
if desc.fidSet != '':
print "Number of selected features:", str(len(desc.fidSet.split(";")))
5/10/2014