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.