问题:字段计算器已完成,但值没有变化

您所在的位置:网站首页 得力计算器没反应了 问题:字段计算器已完成,但值没有变化

问题:字段计算器已完成,但值没有变化

2024-07-12 19:23| 来源: 网络整理| 查看: 265

描述

字段计算器是一款功能强大的工具,可用于同时修改所有字段值,而无需花时间进行单独计算。 但是,使用“字段计算器”时,需要谨慎对待字段类型、字段长度和域等细节。 在某些情况下,用户可能会看到“字段计算器”运行没有错误,但字段值不变的情况。

原因

使用“字段计算器”时需要注意的是,用户必须知道当前使用的字段类型。

例如,如果用户拥有一个包含两列的表,并希望仅在前两列匹配的情况下才在第三列中填充文本:Image showing the input table with three fields.

在“字段计算器”中使用比较代码:

Image showing code in Field Calculator where, within the code block, the statement "if Field1==Field2:".此操作完成后,在地理处理菜单 > 结果中看起来已经成功,但是第三列没有变化。Results window showing that Field Calculator completed successfully.这是因为尽管在某些情况下,这两个输入字段可能看起来相同(FieldName1 中为 1,FieldName 2 中为 1),但实际上二者的字段类型不同:Screenshot of FieldName1 properties showing Type: StringScreenshot of FieldName2 properties showing Type: Short因此,字符串“1”不等于短整型值“1”,并且由于在代码块中没有与“if”语句对应的“else”语句,因此不会返回任何用于填充该字段的内容。

解决方案或解决方法 务必检查“字段计算器”中的输入的字段类型。 可以使用 str(), int(), 等代码临时修改字段类型,以便将输入转换为相同类型,从而成功进行字段计算。 在此示例中,可以添加“else”语句。Image showing the added line "else: return "The values are different""如果“if”语句为 false,则此操作会提供一个输出,表明需要进一步的研究,具体研究 if 语句为 false 的原因,从而研究值及其类型。Image showing the third column now is populated with "The values are different"

文章 ID:000014885



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3