Viac

Ako vytvoriť sekvenčné jedinečné ID podľa skupín?

Ako vytvoriť sekvenčné jedinečné ID podľa skupín?


Chcel by som použiť kalkulačku poľa v QGIS na vytvorenie jedinečného ID (polygónu), ktoré odráža rôzne úrovne v geografickej hierarchii. Povedzme, že mám atribút REGION, v ktorom existuje niekoľko OBLASTI (jedinečné vlastnosti). Mám alfanumerické kódy pre REGIÓNY, ale v rámci každého chcem očíslovať OBLASTI v poradí od 1 do čokoľvek. Na poradí nezáleží. Konečné jedinečné ID teda budú vyzerať takto:

GY001, GY002, GY003… DL001, DL002…

Ak by som nechcel začať odznova pre každý REGIÓN, vypočítal by som to ako

concat (REGION, $ rownum+1)

Ako však znova začať číslovanie pre každý REGIÓN?


Ak na poradí predvoľby nezáleží, môžete vyskúšať toto:

  1. Vypočítajte počet podobných funkcií „REGIÓNU“ s počtom (výraz, skupina_by, filter)

  2. Tvarový súbor usporiadajte podľa „REGIÓNU“. Je to možné vykonať pomocou „triediaceho nástroja“ doplnku MMQGIS

  3. Vytvorte jedinečné „id“ pre všetky oblasti v kalkulačke poľa pomocou @row_number

  4. Počítajte čísla pre oblasti v kalkulačke poľa

"id" % "spočítané_rozsahy" +1