中文
Continue in the app
Be The First To Get Support Updates
Want to know about the latest technical content and software updates?

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

摘要

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

以下给出了三种解决方案;第一种解决方案面向 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. 菜单中选择停止编辑,并保存编辑。

相关信息

上次修改时间: 8/26/2021

文章 ID: 000002287

软件: ArcView GIS 3.2, 3.1, 3.0b, 3.0a, 3.0 ArcGIS Pro 2.4.3, 2.4.2, 2.4.1, 2.4, 2.3.3, 2.3.2, 2.3.1, 2.3, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2, 2.1.3, 2.1.2, 2.1.1, 2.1, 2.0.1, 2.0, 1.4.1, 1.4, 1.3.1, 1.3, 1.2