操作方法

操作方法:将字符串字段转换为数值字段

Last Published: January 13, 2023

摘要

在某些情况下,有必要将属性表中的字符串(文本)值字段转换为数值字段,这通常是因为未设置或识别原始数据类型,因此可执行正确的数据分析。 为了保持数据的完整性(特别是从外部源共享或导入数据时),将字段转换为不同类型的方法是将数据复制到所需类型的新字段。

以下给出了三种解决方案;第一种解决方案面向 ArcGIS Pro 1.x 和 2.x 版本;第二种面向 ArcGIS Desktop 10.x;而第三种面向较旧的软件(如 ArcView GIS 3.x)。

过程

对于 ArcGIS Pro 1.x 和 2.x:

  1. 打开 ArcGIS Pro 工程,并将适用的数据或表添加到工程中。
  2. 内容窗格中右键单击数据或表,然后选择属性表
  3. 单击添加按钮以创建新字段。 “添加”按钮的图像
  4. 字段列表视图中,设置以下属性:
    1. 设置新字段的名称。
    2. 数据类型设置为数值类型。 “长整型”或“双精度”字段类型是最常见的。
    3. 数字格式设置为数值并根据需要调整设置。
    4. 可根据需要设置字段的属性域值、默认值和长度值。
  5. 在(字段选项卡的)顶部功能区,保存对表的编辑内容,并关闭字段视图。
  6. 右键单击新创建的数值字段的标题,并选择计算字段计算字段地理处理对话框随即打开。
  7. 输入表字段名称表达式类型会自动填写。 在表达式字段列表窗口中,找到并双击包含必须传输到新创建的数值字段的属性的字符串字段。 在表达式文本框中输入以下内容:
!<字符串字段名>!
包含所选字符串字段名称的“计算字段”窗格对话框。
  1. 单击运行以运行此工具。
注意: 如果字符串字段包含 Null(空)值,则该工具可能无法运行。 创建新的数值字段时,请确保该字段允许空值,以便能够从字符串字段导入空值。 有关详细信息,请参阅 ArcGIS Pro Web 帮助文档添加字段

对于 ArcGIS Desktop 10.x

  1. 打开 ArcMap,然后打开图层或文件地理数据库属性表。
  2. 在 ArcMap 中,可右键单击字段标题并选择属性,以检查该字段的数据类型。
“字段属性”对话框。
  1. 窗口的左上方,单击表选项下拉按钮 “表选项”按钮,然后选择添加字段
注意添加字段选项仅在用户具有对数据的写入权限,且其他用户或应用程序无法访问该数据时可用。 当地图处于编辑会话中时,该选项也会被禁用。
  1. 提供新字段的名称
  2. 将字段类型设置为数值类型,例如长整型双精度
  3. 可根据需要设置精度比例
  4. 单击确定
  1. 右键单击新创建字段的标题,然后选择字段计算器
  2. 如果字符串字段仅包含数值,请使用以下步骤将属性复制到数值字段:
    1. 解析程序设置为 VB 脚本
    2. 在表达式窗口中输入 [字符串字段名],或从字段框中选择字符串字段,然后单击确定
“字段计算器”对话框。
  1. 如果字符串字段包含混合的字母数字值和数值,请使用以下步骤复制属性:
    1. 解析程序设置为 VB 脚本,并选中显示代码块的复选框。
    2. 将下面的代码复制粘贴到预逻辑脚本代码文本窗口中,然后将 String field name 替换为要转换的字段的名称。 请保留左右两侧的括号:
Dim String, Check String = [String field name] Check = IsNumeric(String) If Check = True then Output = CDbl(String) else Output = null End if
: 在第五行中,根据步骤 3(b) 中选择的数值字段类型,将 'CDbl(String)’ 替换为以下函数: - 整数:CInt(String) - 长整型:CLng(String) - 双精度:CDbl(String)
  1. 在第二个表达式窗口中(在此示例中为 'DoubleV =')输入:
输出
下图显示了字段计算器对话框的外观。 在本例中,字符串字段将转换为双精度字段。
输入到“字段计算器”窗口中的代码。
  1. 单击确定。 脚本完成后,数值字段将填充字符串字段中的值。
: 如果字符串字段包含带有非数字字符或符号的值,那么当转换为数值字段时,该像元的值将默认保持为 <Null>。

对于 ArcView GIS 3.x

: 自 2012 年 12 月起,ArcView GIS 已淘汰。 以下说明仅供参考。

要将字符串字段转换为数值字段,请创建一个新的数值字段,并将该值从原始字段复制到新字段。

向表中添加数值字段

  1. 打开表格,然后从菜单中选择开始编辑
  2. 编辑菜单中选择添加字段
  3. 字段定义对话框中:
    1. 名称设置为适当的名称,例如“区域”。
    2. 类型设置为数值
    3. 宽度设置为适当的数值,例如“32”。
    4. 小数位设置为所需的数值,例如“6”。
    5. 单击确定
  4. 菜单中选择停止编辑,并保存编辑。

使用“字段计算器”将值复制到新字段,并将值转换为数值

  1. 可根据需要打开表并开始编辑
  2. 选择数值字段。
  3. 选择从字段中计算菜单。
  4. 双击字段列表中的字符串字段。
  5. 类型设置为字符串
  6. 滚动至请求列表,然后双击 AsNumber
  7. 最终表达式应与以下内容类似:
[Strng_fld].AsNumber
  1. 单击确定
  2. 菜单中选择停止编辑,并保存编辑。

文章 ID:000002287

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

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