Ini adalah proses multi-langkah, jadi Anda harus membuat model atau skrip khusus. Untuk menghindari irisan poligon yang berasal dari titik poligon yang bertetangga, Anda harus beralih melalui lapisan status Anda. Bekerja dengan poligon keadaan dan satu set poin acak, saya akan melalui proses sehingga Anda dapat memahami apa yang terjadi di dalam model kami.
Di dalam Model
- Ekstrak berdasarkan lokasi
- Ekstrak fitur dari:
points_layer
- Di mana fitur-fiturnya:
intersect
- Dengan membandingkan fitur-fitur dari:
polygons_layer
- Poligon Voronoi
- Lapisan input:
'Extracted (location)' from algorithm 'Extract by location'
- Wilayah penyangga:
500
(Kelihatannya berlebihan, tetapi kami ingin memastikan bahwa poligon Voronoi Anda benar-benar menutupi keadaan mereka. Karena kami akan memotong lapisan ini pada langkah berikutnya, tidak relevan seberapa besar kami membuat ini.)
- Algoritma induk:
Extract by location
- Klip
- Lapisan input:
'Voronoi polygons' from algorithm 'Voronoi polygons'
- Lapisan overlay:
polygons_layer
- Terpotong:
output
- Algoritma induk:
Extract by location
danVoronoi polygons
Seperti yang dapat Anda lihat, kami memiliki poligon Voronoi yang dibatasi oleh negara tempat poin dari negara tetangga tidak memengaruhi pengaturannya.
Berikut gambar model:
Gambar tidak menyampaikan ini, tetapi perhatikan bahwa input lapisan poligon dari model adalah Vector Features
objek, bukan a Vector Layer
.
Menjalankan Model
Ketika Anda menjalankan model Anda, sangat penting bahwa Anda mengklik ikon untuk beralih melalui fitur lapisan Serikat Anda.
Setelah Anda menjalankan model, Anda bisa menjalankan Gabung layer vektor pada output untuk mendapatkan output single-layer, jika itu penting bagi Anda. Sayangnya, saya tidak mengetahui cara mudah untuk menggabungkan beberapa keluaran model dalam model itu sendiri (tolong, seseorang perbaiki saya jika ada sesuatu).
Jika Anda merasa nyaman dengan Python, Anda dapat dengan mudah memodifikasi skrip yang diekspor dari model ini untuk menangani langkah tambahan itu. Namun, karena Anda tidak menyebutkan solusi berbasis kode dalam pertanyaan Anda, saya akan mengabaikannya.