Mencari Strategi Generalisasi untuk Membangun Garis Besar di PostGIS?
22
Saya memiliki dataset jejak kaki bangunan yang di-vectorised dari dataset raster. Dataset saat ini hanyalah representasi vektor dari data raster. Saya ingin dataset poligon yang hanya memiliki simpul di sudut-sudut gedung. Saya telah berusaha menggunakan perintah Sederhanakan di PostGIS dengan keberhasilan terbatas.
Ada banyak algoritma yang didedikasikan untuk membangun penyederhanaan. Anda mungkin melihat situs web ini untuk ikhtisar. Lihat juga pertanyaan ini . Anda bisa menggunakan:
Menyederhanakan penyederhanaan garis besar: Ini terdiri dari penghapusan tepi garis yang terlalu pendek dan memperpanjang tepi tetangga secara rekursif. Contoh:
Algoritma persegi panjang sekitarnya terkecil: Ini terdiri dalam mengganti geometri bangunan dengan persegi panjang terkecil di sekitarnya. Persegi panjang ini juga dapat diskalakan ke area awal bangunan. Contoh:
Algoritma kuadrat: Terdiri dari menerapkan rotasi cahaya ke tepi untuk membuat sudut kuadrat sempurna. Contoh:
Transformasi ini mungkin cukup untuk kebutuhan Anda. Sangat menarik untuk menggabungkannya.
Saya hampir 100% yakin tidak ada algoritma ini diimplementasikan di PostGIS. Beberapa diimplementasikan di perpustakaan java Opencarto yang saya kembangkan. Beri tahu saya jika Anda ingin mengujinya!
Dapatkah Anda memberikan penjelasan singkat tentang algoritme apa yang Anda rujuk di Opencarto untuk "penyederhanaan garis besar" yang disebutkan di atas. Saya tidak dapat menemukan info langsung di wiki atau kode di Opencarto.
"Jika kita buffer dengan jumlah besar, lalu membalikkan buffer dengan jumlah yang sama, kita akan mendapatkan sesuatu yang memiliki bentuk yang mirip dengan aslinya, tetapi tanpa bit berkerut."
itu pendekatan yang menarik dan tampaknya relatif efektif. Terima kasih atas penunjuknya, itu sesuatu yang bisa saya gunakan. Jawaban Anda akan lebih baik jika itu berisi frasa sederhana yang berisi gagasan inti yang dirujuk dan bukan hanya tautan.
Akan menghindari pembuatan geometri turunan (khususnya poligon) yang tidak valid http://www.postgis.org/documentation/manual-1.5SVN/ST_SimplifyPreserveTopology.html
harus menjadi output yang lebih baik daripada Sederhanakan
periksa geometri Anda terlebih dahulu dan sesudahnya dengan
ST_IsSimple(geometry geomA);
sumber
Sesuatu seperti ini mungkin berhasil:
http://blog.opengeo.org/2010/11/22/removing-complexities/
sumber