Styling lapisan poligon seperti dilarutkan dengan QGIS Geometry generator?

8

QGIS Geometry Generator sepertinya cara yang bagus untuk menjaga data tetap utuh sementara memungkinkan untuk beberapa visualisasi kreatif.

Saya memiliki lapisan poligon tesselating yang ingin saya gaya sebagai permukaan kontinu tanpa batas internal.

Untuk melarutkan sejumlah poligon dalam Spatialite saya akan menggunakan fungsi UNION, tetapi Union in the Geometry Generator tidak memberikan hasil, yaitu:

 union( $geometry, $geometry )

Jadi mungkinkah menggunakan Geometry Generator untuk menunjukkan lapisan poligon sebagai terlarut, dan jika demikian, bagaimana caranya?

hexamon
sumber

Jawaban:

7

Anda sekarang dapat melakukan ini dengan generator geometri di QGIS 2.99 / 3.0 dengan menggunakan buffer(collect($geometry),0)di pembuat ekspresi.

collect()Fungsi agregat baru mengumpulkan semua geometri fitur ke dalam suatu multipolygon; buffer()mengubahnya menjadi satu poligon untuk ditata seperti itu.

she_weeds
sumber
Apakah ada cara untuk melakukan hasil ini tanpa mengumpulkan tetapi sebagai penggabungan? Jika Anda menguji ini pada poligon dengan 2 fitur dan isian sederhana semi-transparan, Anda akan melihat bahwa ekspresi dilakukan dua kali dan isinya akan dua kali lebih buram seperti yang Anda tunjuk.
James B
Menyadari hal ini dimungkinkan dengan gaya poligon terbalik sehingga tidak memerlukan kode =)
James B
5

Saya sudah mencoba menggunakan Geometry Generator tanpa hasil, dan memutuskan Lapisan Virtual dan kueri SQL

SELECT st_union(geometry) from layer_name

Anda perlu mengganti "layer_name" dengan nama layer Anda.

Lapisan virtual yang dihasilkan didasarkan pada lapisan sumber dan tidak akan membuat data baru.

Ini bukan gaya generator geometri, tetapi seharusnya memperbaiki masalah Anda.

Klas Karlsson
sumber