Voronoi yang tidak melewati batas

9

Saya memiliki beberapa lusin poin yang direncanakan di seluruh Inggris. Setiap titik mewakili fasilitas yang melayani masyarakat setempat. Untuk memperkirakan daerah tangkapan air dari setiap fasilitas, saya membuat poligon Voronoi di sekitar mereka, dan memotong poligon ke perbatasan Inggris (menggunakan shapefile Inggris). Saya kemudian mewarnai setiap poligon sesuai dengan atribut data titik.

Bagian yang dipotong dari peta ada di sini: (Wales dan Devon / Cornwall) masukkan deskripsi gambar di sini

Apakah ada cara untuk membuat Voronoi menghormati perbatasan alami Inggris (yaitu membatasi mereka ke shapefile saya selama penciptaan Voronoi)? Putih di peta saya adalah laut, dan beberapa poligon telah melintasi Selat Bristol. Ini tidak masuk akal untuk daerah tangkapan air.

Apakah ini mungkin, atau adakah alternatif? Saya telah menggunakan QGIS sejauh ini, tetapi saya terbuka untuk semua opsi, kode atau GUI, lebih disukai gratis.

Sunting: Ada beberapa pertanyaan Membangun diagram Voronoi menggunakan metrik waktu perjalanan yang rumit dan Apakah ada metode SIG yang dijelaskan untuk membuat daerah tangkapan berdasarkan jarak mengemudi terdekat? yang berbicara tentang membangun daerah tangkapan air dari waktu mengemudi. Itu adalah kemungkinan yang saya pertimbangkan jika ini tidak mungkin, tetapi algoritma Voronoi yang menghormati perbatasan akan lebih sederhana.

orang lain
sumber

Jawaban:

5

Buzzwords adalah diagram jalur voronoi terpendek , voronoi tessellation dengan kendala , penyesuaian tesselation, atau tesselation terbatas . CGAL dapat membantu Anda untuk menggabungkan triangulasi terbatas dengan konstruksi diagram voronoi . Anda juga dapat membaca presentasi ini tentang " diagram voronoi dengan rintangan " dari Kelompok Penelitian UPC tentang Diskrit, Kombinatorial, dan Geometri Komputasi.

huckfinn
sumber
Banyak yang baca di sana! Jadi sepertinya memang mungkin. Terima kasih
anotherfred
Ya itu adalah dunia yang luar biasa dari hal-hal geometri komputasi yang kompleks .
huckfinn