地理处理工具可处理所有类型的数据,如地理数据库要素类、shapefile、栅格、表、拓扑和网络。每种数据都具有可访问的特定属性,以进一步用于控制脚本流或用作工具参数。例如,相交工具的输出要素类型取决于要相交的数据的形状类型,即点、线或面。在脚本中对输入数据集列表运行相交工具时,必须能够确定输入数据集的形状类型,以便设置正确的输出形状类型。可以使用 Describe 和 arcpy.da.Describe 函数确定所有输入数据集的形状类型。
arcpy.Describe 函数返回的 Describe 对象包含多个属性,如数据类型、字段、索引以及许多其他属性。该对象的属性是动态的,这意味着根据所描述的数据类型,会有不同的 Describe 属性可供使用。arcpy.da.Describe 函数将返回相同的信息(但将作为字典)。
使用 Describe 函数可确定数据集的属性,为下一步操作做好准备。例如,在以下示例中,脚本使用 Describe 来估计输入数据的形状类型(折线、面、点等等)并确定合适的地理处理工具。
import arcpy
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
# Describe a feature class using arcpy.Describe
desc = arcpy.Describe(inFC)
# If the shapeType is Polygon convert the data to polylines using the
# FeatureToLine tool, otherwise just copy the data using the CopyFeatures tool.
if desc.shapeType == "Polygon":
arcpy.FeatureToLine_management(inFC, outFC)
else:
arcpy.CopyFeatures_management(inFC, outFC)
同样,arcpy.da.Describe 也可用于相同的目的。以下示例中使用 arcpy.da.Describe 返回的字典来评估形状类型。
import arcpy
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
# Describe a feature class using arcpy.da.Describe
desc = arcpy.da.Describe(inFC)
# If the shapeType is Polygon convert the data to polylines using the
# FeatureToLine tool, otherwise just copy the data using the CopyFeatures tool.
if desc['shapeType'] == "Polygon":
arcpy.FeatureToLine_management(inFC, outFC)
else:
arcpy.CopyFeatures_management(inFC, outFC)
Describe 属性被组织成一系列属性组。任何特定数据集都将至少获取其中一个组的属性。例如,如果要描述一个地理数据库要素类,您可访问 GDB 要素类、要素类、表和数据集属性组中的属性。所有数据,不管是哪种数据类型,总会获取通用 Describe 对象属性。
- 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 表属性
- 工作空间属性