Preencher coluna com números consecutivos no QGIS?


30

Eu faço uma nova coluna na minha tabela de atributos e ela tem um valor padrão (por exemplo, 0). Eu quero (provavelmente usando a calculadora de campo) ter o resultado de que a linha 1 tem o valor 1, a linha 2 = 2 e assim por diante, assim como um índice numerado.

Eu ficaria grato por um exemplo de código para a calculadora de campo (incluindo o uso de $rownum(acho que preciso disso para mudar para a linha)).

Respostas:


54

Basta colocar $rownum(QGIS 2) ou @row_number(QGIS 3+) como expressão. Simples assim. :)

Uma lista atualizada de todas as funções da calculadora de campo pode ser lida nos documentos oficiais .


Eu segui sua abordagem, no entanto, sem motivo aparente, os números mudam em um ponto. Ele funcionou perfeitamente da linha 1 para a linha 129 e depois passou para 789 ... existe uma maneira de resolver isso?
Guillaume

1
Verifique se você não tem um filtro de exibição ativo, pois não há motivo para pular.
lynxlynxlynx 10/01



1

Para mim, a melhor e mais fácil maneira é justa $id, isso retornará um idnúmero para cada linha que o indexar 0.


Ele retorna cada ID de recurso, mas a sequência não inicia necessariamente em 0 e pode ter valores ausentes. É o caso depois de ter excluído um recurso existente (ou seja, comece com uma camada com 3 recursos, exclua # 2, a chamada para $ id retornará 0 e 2.)
JGH

Você está certo, se houver valores ausentes, haverá um problema com o número de indexação real. No entanto, acho que essa chamada $iddepois de excluir linhas deve corroborar @row_number. Se eu entendi corretamente sua afirmação.
Vlad

não, ele vai deixar buracos
JGH
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.