7 votos

¿Cómo crear un identificador único secuencial por grupos?

Me gustaría utilizar la calculadora de campos en QGIS para crear un identificador de característica única (polígono) que refleje diferentes niveles en una jerarquía geográfica. Digamos que tengo un atributo REGIÓN dentro del cual hay varias ÁREAS (características únicas). Tengo códigos alfanuméricos para las REGIONES, pero dentro de cada una quiero numerar las ÁREAS en secuencia del 1 al que sea. El orden no importa. Así que los identificadores únicos finales serían algo así:

GY001, GY002, GY003... DL001, DL002...

Si no quisiera volver a empezar para cada REGIÓN, simplemente lo calcularía como

concat(REGION, $rownum+1)

Pero, ¿cómo reiniciar la numeración para cada REGIÓN?

1voto

Chance Puntos 1

Si el orden del código de área no importa, puede intentar esto:

  1. Calcule el número de características "REGION" similares con count(expression, group_by, filter)

  2. Ordenar el shapefile según la "REGIÓN". Es posible hacerlo mediante el plugin de MMQGIS "sort-tool".

  3. Hacer un "id" único para todas las áreas en la calculadora de campo con @número_de_fila

  4. Contar los números de las áreas en la calculadora de campo

"id" % "counted_areas" +1

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X