操作方法

操作方法:在 ArcGIS Pro 中使用 Python 或 Arcade 从字符串中移除前导文本

Last Published: January 30, 2024

摘要

在 ArcGIS Pro 中,可以使用 Python 或 Arcade 表达式来创建新字段,而无需包含字段的不必要文本字符串。 这在地址记录中非常常见,因为分析不需要街道号码。 从字符串中移除前导文本可用于数据管理或搜索结果优化。

本文提供了在 ArcGIS Pro 中使用 Python 和 Arcade 表达式从字符串中移除前导文本的示例和说明。

下图显示了包含文本字符串记录的 ADRESS 字段。

Schools_all 属性表包含 ADDRESS 字段

过程

  1. 内容窗格中,右键单击要素类,然后单击属性表以打开要素类的属性表。
从“内容”窗格中打开要素类的属性表
  1. 单击计算以打开计算字段工具。
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. 计算字段对话框中,配置以下参数:
  • 对于 Python 3:
    1. 对于输入表,选择要素类。
    2. 对于字段名称(现有或新建),选择要进行编辑的字段或者创建新字段。 在本示例中,将创建“PYTHONSPLITADDRESS”。
    3. 对于表达式类型,选择 Python 3
    4. 在第一个文本块中指定以下脚本: “maxSplitParameter”是已分割元素的数量。 例如,将“maxSplitParameter”设置为 1 将返回一个列表,其中包含 2 个元素。 “indexNumber”根据可迭代对象内元素的位置来引用可迭代对象的元素。 例如,将“indexNumber”设置为 1 将返回第 2 个元素。
!<fieldName>!.strip().split(" ",<maxSplitParameter>)[<indexNumber>]

以下代码块为表达式示例。

!ADDRESS!.strip().split(" ",1)[1]
  1. 单击验证以运行表达式测试。 如果表达式有效,请单击确定
“计算字段”工具窗格包含要填充的参数
  • 对于 Arcade 表达式:
    1. 对于输入表,选择要素类。
    2. 对于字段名称(现有或新建),选择要进行编辑的字段或者创建新字段。 在本示例中,将创建“ARCADESPLITADDRESS”。
    3. 对于表达式类型,选择 Arcade
    4. 表达式部分中指定以下 Arcade 表达式:
      1. 定义变量以在文本值中查找字符的序列。 在本示例中,“varName1”命名为 fstSpace
var <varName1> = find(' ',$feature.<fieldName>,<startPosition>)
  1. 定义变量以计算文本值中的字符数量。 在本示例中,“varName2”命名为 strCount
var <varName2> = Count($feature.<fieldName>)
  1. 定义变量以计算“varName1”和“varName2”之间的差值。 在本示例中,“varName3”命名为 strDiff
var <varName3> = <varName2> - <varName1>
  1. 指定以下语句以返回文本值末尾指定数量的字符。
return right($feature.<fieldName, <varName3>)

以下代码块为完整表达式示例。

var fstSpace = Find(' ', $feature.ADDRESS, 0)
var strCount = Count($feature.ADDRESS)
var strDiff = strCount - fstSpace

return Right($feature.ADDRESS, strDiff)
  1. 单击验证以运行表达式测试。 如果表达式有效,请单击确定
“计算字段”工具窗格包含要填充的参数

下图显示了使用 Python 和 Arcade 表达式将“PYTHONSPLITADDRESS”和“ARCADESPLITADDRESS”字段添加至“Schools_all”属性表,并从“ADDRESS”字段中移除了前导文本。

在 Schools_all 属性表中添加了 2 个新字段

文章 ID: 000029050

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

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

下载 Esri 支持应用程序

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项