Espero haber entendido bien su pregunta.
Supongamos que hay una capa "polygons"
con su correspondiente tabla de atributos en consecuencia, véase la imagen siguiente.
Y, por supuesto, hay algunas lagunas o solapamientos.
A continuación sugiero un proceso paso a paso de cómo simplificar sólo el subconjunto de polígonos, manteniendo sin espacios o solapamientos entre dos polígonos resultantes adyacentes.
Paso 1. Divida su capa original en "bueno" y "malo" características. He utilizado 'Extract by expression'
Por ejemplo "id" IN (2,3)
y "id" NOT IN (2,3)
. Sin embargo, puede utilizar cualquier otra técnica disponible para separar sus características.
Paso 2. Convertir polígonos en líneas con 'Polygons to lines'
.
Paso 3. Aplicando 'Line intersections'
donde las líneas se cruzan entre sí. Además explotar 'Delete duplicate geometries'
.
Paso 4. Continúe con 'Points to path'
.
Paso 5. Aplicar 'Dissolve'
a su "malo" características.
Paso 6. Utilice 'Delete holes'
Paso 7. Aquí se trabaja con 'Split with lines'
entre el resultado de Paso 6 y Paso 4 .
Paso 8. Debido a la inconsistencia de los atributos evocados en los pasos anteriores, se requieren algunos pasos adicionales sobre cómo lograr los atributos correctos. Probablemente extraeré los geocentroides del resultado del Paso 7 y, a continuación, aplique 'Join attributes by location'
y después un 'Join'
entre polígonos con geometrías correctas y puntos con atributos correctos.
Paso 9. Fusión "bueno" características con el resultado de Paso 8 a través de 'Merge vector layers'
. Y, por supuesto, un ajuste básico de los atributos es un plus.
Si necesita líneas rectas para el paso Paso 4. entonces hay que aplicar un par de pasos más.
Paso 4.1. Disuelve tus caminos con 'Dissolve'
.
Paso 4.2. Obtención de una línea recta por medio de un "Virtual Layer"
a través de Layer > Add Layer > Add/Edit Virtual Layer...
aplicar esta consulta
SELECT setsrid(make_line(start_point(geometry), end_point(geometry)), #put your srid here)
FROM "Paths"
Puede que haya mejores opciones con algoritmos de simplificación de líneas, aún no lo he comprobado.
P.D. En mi opinión, es mejor implementar este algoritmo en un modelador gráfico.
Referencias: