添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

您有一个将数值存储为文本的要素图层。 您需要将值格式化为数字,以便对其进行正确地符号化并使用它们来执行计算。

您无法将字段类型从文本转换为数值,但您仍然可以使用数据。 在本教程中,您将创建新的数值字段并使用文本字段中的数据对其进行填充。 您将学习如何选择字段类型以及如何计算字段。

本教程上次于 2024 年 6 月 5 日使用 ArcGIS Pro 3.3 进行了测试。 如果您使用的是其他版本的 ArcGIS Pro ,可能会遇到不同的功能和结果。

要求

视频

本教程也以视频方式提供。

计算新数值字段

您有一个包含加拿大马尼托巴省尼帕瓦镇税收评估值的图层。 您想使用它来显示每英亩的评估值。 该图层包含进行此计算所需的数据,但其存储为文本,而不是数字。

首先,您将重新格式化评估值。

  1. 下载 Neepawa 工程包

    名为 Neepawa.ppkx 的文件即会下载到您的计算机。 .ppkx 文件是一个 ArcGIS Pro 工程包,可能包含可以在 ArcGIS Pro 中打开的地图、数据和其他文件。

  2. 在计算机上找到已下载的文件。 双击 Neepawa.ppkx 以在 ArcGIS Pro 中将其打开。 如果出现提示,请使用 ArcGIS 账户登录。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户, 请参阅软件访问权限选项

    随即出现一张地图,显示尼帕瓦的房产宗地。

    尼帕瓦房产地图

    注:

    此地图中的数据是曼尼托巴省政府提供的 Manitoba Property Assessment Information 图层的子集。

  3. 内容 窗格中,右键单击 Neepawa Property Assessment 图层,然后单击 属性表

    图层快捷菜单中的属性表

  4. 检查该属性表。

    Total Value 字段包含评估值。 但是,它看起来可能被格式化为文本而不是数字,因为每个像元均包含一个 $ 字符。

  5. 在属性表中,指向 Total Value 字段标题。

    Total Value 字段类型

    随即出现一个弹出窗口,将字段类型列为 文本 (20) 。 数字 20 表示允许的字符数。

    提示:

    字段格式还有助于确定其类型。 文本字段具有左对齐的值。 数值字段具有右对齐的值。

    您需要将此字段中的数据存储为数值格式而不是文本,但不能更改字段类型。 相反,您将创建一个新字段并使用 Total Value 字段中的数字进行填充。

  6. 在属性表工具栏中,单击 计算

    计算按钮

    计算字段 窗口随即显示。 此工具将计算现有字段或新字段的值。

  7. 对于 字段名称(现有或新建) ,检入 Assessed Value ,然后按 Tab 键。

    由于您命名了一个尚不存在的字段,因此还必须选择一个字段类型。 字段类型用于确定可以在字段中存储的数据种类。

  8. 指向 字段类型 参数并指向信息按钮。

    字段类型参数的信息按钮

    随即显示一个窗口,其中描述了字段类型选项。 提供了四种数值字段类型: 浮点型 双精度型 短整型 长整型

    数值字段类型

    要选择最佳类型,请考虑以下两个问题:

    • 您是否需要存储十进制值? 否。 Total Value 字段中的数值没有小数位,因此您可以使用其中一种整型数据类型: 短整型 长整型
    • 您的数据范围如何? 最昂贵宗地评估值为 3400 万美元。 此数值过大, 短整型 字段类型无法存储,因此必须选择 长整型

      选择字段类型时,请尽量选择大小足以满足您需求的最小类型。

      注:

      ArcGIS 字段数据类型 中阅读有关数值数据类型的详细信息。

  9. 对于 字段类型 ,选择 长整型(32 位整型)

    在这种情况下,您所选的 表达式类型 并不重要。

    计算字段工具参数

  10. 字段 列表中滚动,同时双击 Total Value

    Assessed Value 框将填充文本 !Total_Value!

    使用 Total Value 字段填充的表达式框

    注:

    如果将 表达式类型 更改为 Arcade ,则 Assessed Value 框将更改为 $feature.Total_Value 。 两个选项均可运行。

    如果您的计算机使用美国英语以外的区域设置,则该表达式可能会由于不同的货币或千位分隔符而失败。 要避免此问题,请将 表达式类型 设置为 Arcade 并粘贴以下表达式:

    var numberOnly=Replace($feature.Total_Value, '$', '') // Remove dollar signs.
    Replace(numberOnly, ',', '') // Remove commas.

    将计算新 Assessed Value 字段以包含来自 Total Value 字段的值,但它们将被格式化为 长整型 字段类型,而不是文本。

  11. 单击 确定

    消息窗口随即显示。 它包括一条警告,指示新字段已从 Assessed Value 重命名为 Assessed_Value 。 该字段已重命名,因为字段名称不能包含空格。 该字段的别名仍然包含空格,即显示在属性表中的别名。

  12. 关闭消息窗口。
  13. 在属性表中,查看新 Assessed Value 字段以确认它包含您的期待值。

    属性表中的 Total Value 和 Assessed Value 字段

    Assessed Value 字段中的值应与 Total Value 字段中的值相同,但没有 $ 符号或逗号。

使用 Arcade 表达式计算新字段

接下来,您将重新格式化面积值。 您将创建另一个数值字段并使用 Frontage/Area 字段中的值对其进行填充。 这一次,您需要编写一个 Arcade 表达式来正确复制数据。

  1. 查看包含面积值的字段的属性表。

    Frontage/Area 字段包含所需信息。 但是,该字段同时包含单词和数字,这意味着其字段类型必须是文本。 您将创建一个数值字段来仅存储数字。

  2. 在属性表工具栏中,单击 计算
  3. 计算字段 窗口中,对于 字段名称(现有或新建) ,键入 Area Acres ,然后并按 Tab 键。

    接下来,您需要选择一个字段类型。

    • 您是否需要存储十进制值? 是。 Frontage/Area 字段值均包含两位小数,因此您需要选择支持小数值的字段类型之一: 浮点型 双精度型
    • 您的数据范围如何? 最大宗地的面积为 185 英亩,因此较小的数据类型 浮点型 的大小可以满足需求。
  4. 对于 字段类型 ,选择 浮点型(32 位浮点型)

    计算字段工具参数

  5. 对于 表达式类型 ,选择 Arcade

    您可以使用 表达式类型 的任意选项来完成此字段计算。 对于本教程,您将使用 Arcade

  6. Area Acres = 框中,删除所有现有文本。

    您要从 Frontage/Area 字段复制数字信息并留下文本信息。 可以通过多种方法实现这一点,但在本教程中,您将使用 分割 函数。

  7. 单击 助手类型 按钮。 在显示的菜单中,单击 文本

    助手类型菜单中的文本

    助手 列表可以过滤与文本数据相关的函数。

  8. 助手 列表中,双击 Split()

    助手列表中的 Split() 函数

  9. Area Acres = 框中,将光标放在括号内。 在 字段 列表中,双击 Frontage/Area

    字段列表中的 Frontage/Area 字段

    该表达式现在显示为 Split($feature.Frontage_or_Area)

    分割 函数在指定字符处分割文本值并返回一个文本值数组。 Frontage/Area 字段中的值均包含一个数字,后跟一个空格,再跟一个单词(例如, 0.15 ACRES )。 您可以在空格处分割这些值以将数字与单词分开。

  10. Area Acres = 框中,将光标放在右括号前并键入 ,' '

    确保在两个引号之间包含一个空格,因为此部分表达式表示分割位置。

    表达式

  11. 在表达式的末尾,输入 [0]

    最终表达式

    这部分表达式指示数组中需要返回的项目。 例如,如果要返回拆分后的文本,则可以改为 [1]

    最终的表达式为 Split($feature.Frontage_or_Area,' ')[0] 。 只要有空间,即可转换为分割 Frontage/Area 字段。 返回第一次分割前的文本。

    注:

    分割函数还有其他可选参数。 有关这些参数的信息,您可以访问 ArcGIS Arcade 函数参考 页面。

    要使用 Python 3 编写相同的表达式,请键入 !Frontage_or_Area!.split( )[0]

    如果您的计算机使用以逗号作为小数分隔符的区域设置,请改用以下表达式:

    var frontageArea=Replace($feature.Frontage_or_Area, '.', ',')
    Split(frontageArea,' ')[0]
  12. 单击 确定

    随即显示一个消息窗口,其中显示了与以前相同的警告。

  13. 关闭消息窗口。
  14. 在属性表中,查看新 Area Acres 字段并确认它包含您的期待值。

    属性表中的 Area Acres 字段

    Area Acres 值应与 Frontage/Area 字段中的数字匹配。

计算几何

您可能已经注意到 Frontage/Area 字段存储了两种值。 带有单词 ACRES 的行存储面积,带有单词 FEET 的行存储临街线,即宗地沿街道的长度。

注:

您可以使用 测量 浏览 工具在地图上确认临街线和面积值。

这意味着 Area Acres 字段中的许多值是错误的,因为它们不表示面积,且单位也不是英亩。 您无法将英尺值转换为英亩,因为两个单位分别测量距离和面积。 但是,您可以根据要素形状计算这些缺失值的面积。

首先,您将选择所有具有临街测量值的宗地。

  1. 在属性表中的工具条上,单击 按属性选择

    “按属性选择”按钮

  2. 按属性选择 窗口中,使用菜单构建子句 Where Frontage/Area contains the text FEET
    提示:

    在第三个菜单中,键入单词 FEET

    按属性选择子句

  3. 单击 确定
  4. 查看属性表,确认已选择所有 FEET 值,且未选择任何 ACRES 值。

    在属性表中选择的 FEET 值

    接下来,您将对 Area Acres 字段执行计算。 由于选择处于活动状态,因此计算将仅应用于所选行。

  5. 右键单击 Area Acres 字段标题,然后单击 计算几何

    计算字段快捷菜单中的几何

    计算几何 窗口随即显示。 此工具能够测量要素形状的长度、面积、周长以及其他几何属性。

  6. 对于 属性 ,选择 面积(测地线)

    测地线测量值考虑了地球的曲率。

  7. 对于 面积单位 ,选择 国际英亩

    计算几何工具参数

    坐标系 字段留空。 由于进行测地线测量,因此所选坐标系并不重要。

  8. 单击 确定

    在属性表中,查看 Area Acres 字段以确认所选值已被编辑。

    属性表中已更新的 Area Acres 值

    已为所选行计算出新的面积值。 这些值是直接从地图上测量得出的,而不是通过其他属性计算而来的。 所有已选择的行均包含六位小数,而未选的行仅包含两位。

  9. 在属性表的工具栏上,单击 清除 按钮以清除选择。

    清除按钮

  10. 关闭属性表。

使用新字段对地图进行符号化

最后,您将使用创建的新字段对地图进行符号化。

  1. 内容 窗格中,右键单击 Neepawa Property Assessment ,然后单击 符号系统

    随即显示 符号系统 窗格。

  2. 对于 主符号系统 ,选择 分级色彩

    使用 分级色彩 对数量进行符号化,它仅适用于数值字段。

  3. 对于 字段 ,选择 Assessed Value 。 对于 归一化 ,选择 Area Acres

    这些字段选择使用其价值除以面积来符号化每个宗地。

    分级色彩设置

    在地图上,红色宗地的每英亩价值最高。

    符号化地图

  4. 快速访问工具栏 上单击 保存 按钮。

    快速访问工具栏上的“保存”按钮

  5. 关闭 符号系统 窗格,然后关闭 ArcGIS Pro

ArcGIS Pro 中不能转换字段类型,但是可以从现有字段中创建和计算具有新类型的新字段。 在本教程中,您学习了如何识别和选择字段类型,如何计算字段和几何,以及如何构建 Arcade 表达式以隔离部分字段值。 您创建了两个数值字段来替换两个文本字段。

您可以在 教程库 中找到更多教程。

相关 Esri 培训

通过 ArcGIS Pro 创建和编辑数据

本课程将传授最佳做法,以创建精确的地理数据并随时对其进行维护。 您将获得各种 ArcGIS Pro 工具的丰富实践练习,这些工具可简化编辑过程,并降低更新 GIS 数据库时出现错误的可能性。

更多信息

在 ArcGIS Pro 中处理宗地数据

本课程讲授如何在 ArcGIS Pro 中使用宗地结构来维护精确、最新和权威的宗地数据。 您将学习在文件地理数据库中创建宗地结构、将宗地数据添加至结构以及编辑宗地以反映实际更改的标准工作流。 本课程假设您熟悉土地记录术语。

更多信息

数据管理入门

高质量 GIS 分析需要高质量 GIS 数据。 然而什么使 GIS 数据与众不同? 在此入门级课程中探索 GIS 数据的结构、存储方式和访问方式。

更多信息