操作方法

操作方法:在 ArcGIS Pro 中使用 ArcPy 计算所有数值属性字段值的总和

Last Published: April 7, 2023

摘要

在 ArcGIS Pro 中,“计算字段”工具中的 sum() 函数可用于计算数值字段列表中每条记录的总和。 然而,当要素类或表中包含大量字段时,手动选择所有数值字段是不切实际的。

本文提供的 ArcPy 脚本可用于计算要素类或表中所有数值字段的值之和。

在此示例中,'Point1' 要素类包含五个数值字段,如下图所示。

ArcGIS Pro 中 Point1 要素类的属性字段。

过程

  1. 在 ArcGIS Pro 的分析选项卡上,单击 Python 旁的向下箭头,然后单击 Python 窗口
  2. 在 Python 窗口中,输入以下 Python 脚本。 将 <路径> 替换为要素类或表的路径。
import arcpy

# Set the path to the feature class or the table
table = r""

# Add a new field to the table
arcpy.management.AddField(table, "SumField", "DOUBLE")

# Use UpdateCursor to iterate through the rows of the table
with arcpy.da.UpdateCursor(table, "*") as cursor:
    for row in cursor:
        # Initialize a variable to store the sum
        total = 0
        # Iterate through each field in the row
        for i in range(len(row)):
            # Check if the field is numeric and not OBJECTID, Shape_Length, and Shape_Area
            if isinstance(row[i], (int, float, complex)) and cursor.fields[i] not in ['OBJECTID', 'Shape_Length', 'Shape_Area']:
                # Add the field's value to the total
                total += row[i]
        # Update the new field with the total
        row[cursor.fields.index('SumField')] = total
        cursor.updateRow(row)
  1. 将光标放在脚本末尾,然后按两次 Enter 键。

现在,每个要素的数值字段之和将填入新字段 'SumField' 中。

Point1 要素类的属性字段,以及包含 ArcPy 脚本生成结果的新字段。

文章 ID: 000029132

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

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

下载 Esri 支持应用程序

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项