ArcGIS 等值线图层标注显示 - Python 代码详解
要将已有等值线图层的标注显示出来,可以使用 ArcPy 模块中的 LabelClasses 和 LabelClass 类来实现。下面是详细代码解释:
- 导入 ArcPy 模块
import arcpy
- 设置工作空间和等值线图层路径
# 设置工作空间路径
arcpy.env.workspace = r'C:\data'
# 等值线图层名称
contour_layer = 'contour.shp'
- 获取等值线图层的标注类
# 获取当前地图文档
mxd = arcpy.mapping.MapDocument('CURRENT')
# 获取地图文档中的 DataFrame 对象
df = arcpy.mapping.ListDataFrames(mxd)[0]
# 获取等值线图层的标注类
contour_label_classes = arcpy.mapping.ListLayers(contour_layer, '', df)[0].labelClasses
- 针对每个标注类,设置标注属性并启用标注
# 遍历每个标注类
for label_class in contour_label_classes:
# 设置标注表达式为等值线高程字段
label_class.expression = '[ELEVATION]'
# 启用标注
label_class.showClassLabels = True
完整代码如下:
import arcpy
# 设置工作空间路径
arcpy.env.workspace = r'C:\data'
# 等值线图层名称
contour_layer = 'contour.shp'
# 获取当前地图文档
mxd = arcpy.mapping.MapDocument('CURRENT')
# 获取地图文档中的 DataFrame 对象
df = arcpy.mapping.ListDataFrames(mxd)[0]
# 获取等值线图层的标注类
contour_label_classes = arcpy.mapping.ListLayers(contour_layer, '', df)[0].labelClasses
# 遍历每个标注类
for label_class in contour_label_classes:
# 设置标注表达式为等值线高程字段
label_class.expression = '[ELEVATION]'
# 启用标注
label_class.showClassLabels = True
注意,在 ArcGIS 中,标注的显示需要在地图文档中进行设置,因此上述代码需要在地图文档中运行,或者将代码嵌入到地图文档的 Python 脚本工具中。
原文地址: https://www.cveoy.top/t/topic/nYWT 著作权归作者所有。请勿转载和采集!