Remplir la colonne avec des numéros consécutifs dans QGIS?


30

Je crée une nouvelle colonne dans ma table d'attributs et elle a une valeur par défaut (par exemple 0). Je veux (probablement en utilisant la calculatrice de champ) que la ligne 1 ait la valeur 1, la ligne 2 = 2 et ainsi de suite, tout comme un index numéroté.

Je serais reconnaissant pour un exemple de code pour la calculatrice de terrain (y compris l'utilisation de $rownum(je pense que j'en ai besoin pour passer à la ligne)).

Réponses:


54

Mettez simplement $rownum(QGIS 2) ou @row_number(QGIS 3+) comme expression. Aussi simple que cela. :)

Une liste à jour de toutes les fonctions de la calculatrice de terrain peut être lue dans les documents officiels .


J'ai suivi votre approche, mais sans raison apparente, les chiffres changent à un moment donné. Cela a parfaitement fonctionné de la ligne 1 à la ligne 129, et après être passé à 789 ... existe-t-il un moyen de résoudre ce problème?
Guillaume

1
Assurez-vous que vous n'avez pas de filtre d'affichage actif, car il n'y a aucune raison pour qu'il saute.
lynxlynxlynx



1

Pour moi, le moyen le plus simple et le plus simple est juste $id, cela retournera un idnombre à chaque ligne en l'indexant 0.


Il renvoie chaque ID d'entité, mais la séquence ne démarre pas nécessairement à 0 et peut avoir des valeurs manquantes. C'est le cas après avoir supprimé une entité existante (c.-à-d. Commencer par une couche ayant 3 entités, supprimer # 2, l'appel à $ id renverra 0 et 2.)
JGH

Vous avez raison, s'il manque des valeurs, alors il y aura un problème avec le vrai numéro d'indexation. Cependant, je suppose que l'appel de la $id, après la suppression des lignes devrait corroborer @row_number. Si j'ai bien compris votre affirmation.
Vlad

non, cela laissera des trous
HGJ
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.