13 Numeração semi-automática de objectos
No QGIS, pode numerar o campo “treenumber” consecutivamente na calculadora de campos, a partir de um determinado número e com zeros à esquerda, combinando as funções rownumber()
e lpad()
.
Eis um exemplo de como isto poderia ser:
Passo 1: Numeração consecutiva a partir de um determinado número
Para iniciar a numeração consecutiva com um número inicial específico, pode utilizar rownumber()
e adicionar o número inicial. Por exemplo:
@row_number + 100
Isto adiciona 100 a cada número de linha para que a numeração comece em 101.
Passo 2: Zeros à esquerda para uma ordenação correta
Pode utilizar a função lpad()
para acrescentar zeros para garantir que os valores estão corretamente alinhados para ordenação. A função lpad()
tem o seguinte formato:
lpad(string, Länge, Zeichen)
string
: O valor que pretende formatar (por exemplo,@número_linha + 100
).Comprimento
: O comprimento total do resultado, incluindo os zeros.Carácter
: O carácter que pretende utilizar para o preenchimento (por exemplo,0
).
Etapa 3: Combinação de ambas as funções
A combinação das funções para numeração consecutiva, que começa em 101, e saída de dois dígitos com zeros à esquerda tem o seguinte aspeto:
lpad(@row_number + 100, 5, '0')
Isto significa que:
- A numeração começa em 101.
- O resultado tem um comprimento de 5 caracteres.
- Se o número for inferior a 5 caracteres, são inseridos zeros antes do número.
Exemplo:
Se @número_linha
tiver o valor 1
, lpad(@número_linha + 100, 5, '0')
devolve o valor 00101
.
Exemplo completo no campo calculadora:
Se pretender atualizar o campo “treenumber”, pode introduzir esta expressão na calculadora do campo:
lpad(@row_number + 100, 5, '0')
Isto gera uma numeração consecutiva a partir de 101, que tem sempre 5 dígitos (por exemplo, 00101
, 00102
, 00103
, etc.).