Estilo da camada de polígono dissolvida com o gerador QGIS Geometry?

8

O QGIS Geometry Generator parece ser uma boa maneira de manter os dados intactos, permitindo algumas visualizações criativas.

Eu tenho uma camada de polígonos tesselantes que gostaria de estilizar como uma superfície contínua sem bordas internas.

Para dissolver vários polígonos em Spatialite, eu usaria a função UNION, mas a Union no Geometry Generator não fornece um resultado, ou seja:

 union( $geometry, $geometry )

Portanto, é possível usar o Geometry Generator para mostrar uma camada de polígono dissolvida e, em caso afirmativo, como?

hexamon
fonte

Respostas:

7

Agora você pode fazer isso com o gerador de geometria no QGIS 2.99 / 3.0 usando buffer(collect($geometry),0)o construtor de expressões.

A nova collect()função agregada coleta todas as geometrias de recursos em um multipolígono; buffer()converte-o em um único polígono para ser estilizado como tal.

she_weeds
fonte
Existe uma maneira de fazer esse resultado sem coletar, mas como uma mesclagem? Se você testar isso em um polígono com 2 recursos e um preenchimento simples semitransparente, notará que a expressão é executada duas vezes e o preenchimento será duas vezes mais opaco do que você designou.
James B
Realizado desta é possível com o estilo polígono invertida requerendo assim nenhum código =)
James B
5

Eu tentei usar o Geometry Generator sem sucesso e decidi por uma camada virtual e uma consulta SQL

SELECT st_union(geometry) from layer_name

Você precisa substituir "layer_name" pelo nome da camada.

A camada virtual resultante é baseada na camada de origem e não cria novos dados.

Não é o estilo do gerador de geometria, mas deve resolver o seu problema.

Klas Karlsson
fonte