在QGIS中用连续数字填充列?


30

我在属性表中创建了一个新列,它具有默认值(例如0)。我想(可能使用字段计算器)得到的结果是,行1的值为1,行2 = 2,依此类推,就像编号索引一样。

对于字段计算器的代码示例(包括使用$rownum(我想在切换到该行时需要此代码)),我将不胜感激。

Answers:


54

只需将$rownum(QGIS 2)或@row_number(QGIS 3+)作为表达式即可。就那么简单。:)

可以在官方文档中阅读所有字段计算器功能的最新列表。


我采用了您的方法,但是没有明显的原因,数字在某一点上发生了变化。它从第1行到第129行完美地工作,然后转移到789。。。有没有办法解决这个问题?
纪尧姆

1
确保没有激活显示过滤器,因为没有理由使它跳转。
lynxlynxlynx



1

对我而言,最好,最简单的方法就是$id,这将为id每行从其索引的数字返回一个数字0


它返回每个功能ID,但是序列不一定从0开始,并且可能缺少值。它是具有删除现有要素后的情况下(即开始与具有3个功能,删除#2的层,调用$ ID将返回0和2)
JGH

没错,如果缺少值,那么实际索引号就会出现问题。但是,我猜$id在删除行后调用,应该可以证实@row_number。如果我正确理解您的确认。
弗拉德

不,它会留下孔
JGH
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.