使用QGIS将属性表中的所有空值替换为零?


14

我的属性表中有一个新列,其中包含很多空值,我想将它们全部替换为零。

我该如何在现场计算器中做到这一点?

我正在使用QGIS 1.8

Answers:


17

在QGIS中,打开属性表,然后单击“使用表达式选择要素”按钮。要在形状文件中查找字段的所有空记录,查询将类似于:

"field_name" is null

您可以在“字段和值”列表中找到您的字段名称,双击要在“表达式”框中获取它的字段。

确保您选择新的过滤记录列表。然后返回到属性表,然后单击“字段计算器”按钮。选中“更新现有字段”框-确保选中“仅选择更新”复选框,然后从下拉框中选择要更新的字段。在表达式框中输入0,然后单击“确定”。


5

您可以直接在现场计算器中执行此操作:

  • 打开现场计算器
  • 选中“更新现有字段”框
  • 选择您要处理的字段
  • 在表达式框中输入以下表达式:if("fieldname" is null, 0, "fieldname"),用fieldname您的实际姓名字段代替

如果出现任何问题,显然创建新字段比覆盖旧字段更安全。


0

我刚刚意识到,您可以编辑shape文件夹的–.dbf–文件,并在其中插入新的列,行等。用于实现地图的主表。只需找到文件即可:LATINAMERICA.dbf,使用LibreOffice打开它(至少我用“ Spreadsheets”打开它,并且效果很好),然后编辑该文件,然后将其另存为.dbf。然后重新打开地图,它将在主表中进行更改...它对我有用(Qgis WIEN 2.8)我希望它能与大家一起使用,因为找到该解决方案确实很痛苦。


1
它通常是一个坏主意,编辑就自己的.dbf作为一个错误的操作(如排序)可能会导致问题,请参阅gis.stackexchange.com/questions/55544/...
JR
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.