操作方法

操作方法:在 ArcGIS Pro 中使用 ArcPy 标注相关表

Last Published: April 11, 2023

摘要

在 ArcGIS Pro 中,可以使用字段工具集中的工具根据字段对任何地理数据库表或要素类的相关表进行标注。 本文提供了通过在 ArcGIS Pro 中运行 ArcPy 脚本,使用字段工具集中的工具标注相关表的工作流。

过程

  1. 启动 ArcGIS Pro 并打开该工程。
  2. 内容窗格中,右键单击要素类,然后单击标注属性以打开标注分类窗格。
ArcGIS Pro 中的内容窗格
  1. 标注分类窗格中,单击标注表达式 标注表达式图标按钮并配置以下参数。
    1. 对于语言,选择 Python
    2. 表达式部分中指定以下脚本。 更改 <keyField1>、<firstLabel1>、<firstLabel2>、key1、key2、L、L2、<label2> 和 myDataTable 以匹配环境。
      • <keyField1> 和 key1 是要素类中的关键字段,用于关联相关表。
      • <firstLabel> 和 L 是要标注的要素类中的字段。
      • <keyField2> 和 key2 是相关表中的关键字段。
      • L2 是相关表中要标记的字段。
      • myDataTable 是相关表文件的文件夹路径,以及相关表的名称。
def FindLabel (<keyField1>, <firstLabel>):
    import arcpy
    key1 = <keyField1> # The key field in the feature class
    key2 = "<keyField2>"   # The key field in the related table
    L = <firstLabel> # The label field in the feature class
    L2 = "<label2>"   # The label field in the related table
    myDataTable = r"<path-to-related-table>"   # The related table file path
    cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
    for row in cur:
        if str(key1) == str(row[0]): 
            L = L + " " + str(row[1])
    return L

以下代码块演示了完整的工作脚本。

def FindLabel ([ENAME], [CNAME]):
    import arcpy
    key1 = [ENAME] # Key field in feature class
    key2 = "District"   # Key field in related table
    L = [CNAME] # Label field in feature class
    L2 = "Population"   # Label field in related table
    myDataTable = r"C:\Users\IDT27\Documents\Artwrk\29840\HKPOP\HKPOP.gdb\HK2016_Census_csv"   # Path to related table
    cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
    for row in cur:
        if str(key1) == str(row[0]): 
            L = L + " " + str(row[1])
    return L
  1. 单击验证以运行表达式测试。 如果表达式有效,请单击应用
包含要填充的参数的标注分类窗格

文章 ID: 000029840

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项