Suite

Comment créer un identifiant unique séquentiel par groupes ?


J'aimerais utiliser le calculateur de champ dans QGIS pour créer un identifiant d'entité unique (polygone) qui reflète différents niveaux dans une hiérarchie géographique. Disons donc que j'ai un attribut REGION dans lequel il y a plusieurs ZONES (caractéristiques uniques). J'ai des codes alphanumériques pour les RÉGIONS, mais à l'intérieur de chacun, je veux numéroter les ZONES dans l'ordre de 1 à n'importe quoi. L'ordre n'a pas d'importance. Ainsi, les identifiants uniques finaux ressembleraient à quelque chose comme :

GY001, GY002, GY003… DL001, DL002…

Si je ne voulais pas recommencer pour chaque RÉGION, je le calculerais simplement comme

concat(REGION, $rownum+1)

Mais comment relancer la numérotation pour chaque REGION ?


Si l'ordre des numéros d'indicatif régional n'a pas d'importance, vous pouvez essayer ceci :

  1. Calculer le nombre de fonctionnalités "REGION" similaires avec count(expression, group_by, filter)

  2. Commandez le shapefile selon "REGION". Il est possible de le faire par le plugin MMQGIS "sort-tool"

  3. Créez un "id" unique pour toutes les zones du calculateur de champ avec @row_number

  4. Compter les nombres pour les zones dans la calculatrice de champ

"id" % "counted_areas" +1


Voir la vidéo: Comment Créer un Compte identifiant Apple 2021 (Octobre 2021).