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)).

Shepherdjo
fonte

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 .

lynxlynxlynx
fonte
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
8

O @ArMoraer desenvolveu um plugin interessante para poder controlar a maneira como essa numeração automática é feita, chamada "Classificação e número" . Você pode usá-lo para preencher uma coluna com números exclusivos, levando em conta outros 3 campos para classificar seus dados como deseja antes da numeração.

Consulte o tópico de origem: Existe uma maneira de atribuir número de linha para tabela classificada por coluna no QGIS?

gisnside
fonte
7

Se você estiver usando o QGIS 3, deverá usar @row_number

insira a descrição da imagem aqui

Leo Cardona
fonte
1

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

Vlad
fonte
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