5 votos

Disolver (fusionar) polígonos QGIS basándose en los valores de los atributos sólo cuando son adyacentes

Soy un usuario bastante nuevo de QGIS y tengo una pregunta sobre la funcionalidad de disolución.

Estoy trabajando con el Perfiles shapefiles NUTS-2 proporcionada por la UE, que he importado en QGIS. He creado una nueva capa con sólo Dinamarca y los Países Bajos como se puede ver en la imagen de abajo.

DK and NL

La tabla de atributos correspondiente es la siguiente.

Attribute table

Los campos describen el ID y el nombre de cada nodo NUTS, así como el código de país. He introducido un nuevo campo de atributo, denominado Merge_attr.

He conseguido disolver los polígonos con el mismo valor de atributo de Merge_attr. Sin embargo, me gustaría disolver los polígonos basándome en el valor de Merge_attr sólo cuando pertenecen al mismo país y potencialmente sólo cuando son adyacentes.

¿Podemos restringir la funcionalidad de disolución a sólo los polígonos que son adyacentes?

Esto significa que no debería tener lugar lo siguiente (los polígonos amarillos se han fusionado aunque no sean adyacentes):

Non adjacent polygons dissolved

4voto

nuecaster Puntos 128

Opción 1: Fusionar las características sólo cuando pertenezcan al mismo país.

La herramienta Disolver le permite seleccionar más de un atributo como campo de Disolución. Utilice estos dos campos para el campo Disolver:

  • Merge_attr
  • Cualquier campo es único para cada país. En su conjunto de datos se ve como CNTR_CODE es un código único para cada país, así que utilice ese campo. O puede haber un campo con el nombre del país llamado algo así como CNTR_NAME .

Opción dos: Combinar características sólo cuando sean adyacentes.

Esto no es una opción. En su lugar, después de la disolución, puede utilizar multipart to singleparts para separar los rasgos no adyacentes. Tenga en cuenta que se perderán los atributos de algunas de las características. Puede recuperar los atributos perdidos de la siguiente manera:

Después de disolver la capa,

  1. Utilice esta expresión en el select by expression para seleccionar todas las características multiparte en la capa de Disolución:

     regexp_match( geom_to_wkt( $geometry ), 'multi') > 0
  2. Ejecutar multipart to singleparts sólo en las funciones seleccionadas.

  3. Ejecutar join attributes by location para añadir atributos de la capa original a las características de una sola parte creadas en el paso 2.

  4. Utilice refactor fields para copiar los valores de los campos unidos en los campos originales.

  5. Elimine las características multipartes de la capa Disolver. Estas son las características que seleccionó en el paso 1. Si ya no están seleccionadas, simplemente repita el paso 1. Asegúrese de que la capa Disolver está activa, y luego pulse el botón Eliminar seleccionados en la barra de herramientas de digitalización.

  6. Copie y pegue todas las características de una sola parte del paso 4 en la capa Disolver.

  7. Guarde sus ediciones en esta capa. Si es una capa temporal, asegúrese de exportarla a un formato de capa no temporal antes de salir de QGIS.

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