Penyederhanaan geometri (generalisasi)

22

Apa cara yang disarankan untuk menyederhanakan geometri? Ingatlah proyeksi proyeksi, dan penyederhanaan geometri misalnya.

Saya pernah mendengar tentang mengonversi ke proyeksi 'equi-jauh' yang memungkinkan penyederhanaan tanpa distorsi, dan kemudian mengonversi kembali ke proyeksi yang Anda pilih.

John Weldon
sumber
4
Saya tidak yakin tetapi "generalisasi" mungkin merupakan tag yang lebih deskriptif untuk ini. Sederhanakan, setidaknya dalam konteks ArcGIS, adalah metode untuk memastikan kebenaran topologi. Wikipedia mengatakan penyederhanaan adalah bagian dari Generalisasi Kartografi. en.wikipedia.org/wiki/Cartographic_generalization
Kirk Kuykendall
Saran bagus @Kirk
John Weldon

Jawaban:

11

Seperti yang disebutkan glennon, algoritma standar untuk melakukan ini adalah Douglas-Peucker , yang merupakan algoritma default yang digunakan dalam perangkat lunak seperti PostGIS (yaitu GEOS) via St_Simplify, ArcGIS via Generalizedan GRASS via v.generalize. Artikel Wikipedia juga menautkan ke implementasi Python .

GRASS mendukung sejumlah algoritma berbeda, seperti yang dijelaskan di halaman bantuan untuk v.generalisasi .

Pada masalah proyeksi, saya pikir dalam hal ini herring merah yang dapat diabaikan. Satu-satunya masalah yang muncul dalam pikiran adalah berpotensi memadatkan garis untuk mencegah mereka menjadi terlalu disederhanakan.

scw
sumber
3

Jika dengan "penyederhanaan", maksud Anda adalah pengurangan sederhana dari jumlah titik, gunakan algoritma penyaringan dasar, seperti filter peucker Douglass. Tautan yang bermanfaat untuk itu: http://mapshaper.org/

Jika dengan "penyederhanaan", maksud Anda mendapatkan bentuk yang lebih sederhana, algoritme penyaringan tidak selalu cocok. Algoritma generalisasi yang lebih maju harus digunakan. Beberapa dokumen tentang algoritma tersebut dapat ditemukan di sana: http://generalisation.icaci.org/ , dengan beberapa contoh hasil: http://generalisation.icaci.org/index.php/result . Hanya beberapa dari algoritma ini yang diimplementasikan dalam perangkat lunak GIS komersial yang umum. Beberapa dapat diakses menggunakan ini: http://webgen.geo.uzh.ch/

Julien
sumber
situs aci.ign.fr tidak dapat diakses. Apakah Anda tahu di mana kami dapat menemukan contoh "algoritma generalisasi lanjutan" yang Anda sebutkan?
radouxju
Url telah berubah, periksa: generalisation.icaci.org
julien
2

Jika Anda menyederhanakan geometri karena keterbatasan daya pemrosesan komputer, Anda mungkin ingin mempertimbangkan membuat mipmaps dengan masker alpha terkait untuk setiap geometri pada berbagai tingkatan.

Jon Bringhurst
sumber
Sangat menarik, maukah Anda menguraikannya?
John Weldon
Nah, untuk melakukan ini, Anda perlu merasterisasi setiap geometri vektor ke dalam bitmap untuk setiap level yang Anda izinkan pengguna memperbesar dan memperkecil peta. Kemudian, alih-alih menggambar geometri vektor untuk setiap level berulang kali, Anda hanya akan membuat bitmap saja. Jadi, perhitungan untuk rasterisasi geometri (yang mahal jika Anda memiliki satu ton simpul) dilakukan di depan alih-alih setiap kali pengguna melakukan suatu tindakan. Topeng alfa muncul ke dalam gambar ketika Anda menggambar bitmap - itu digunakan sehingga hanya bentuk itu sendiri yang digambar.
Jon Bringhurst
1

Ini adalah topik yang sulit, karena Anda harus mempertimbangkan semacam resolusi dataset Anda. Kapan verteks geometri sama dengan verteks lain? Saya tidak pernah mendengar tentang konversi dan konversi kembali, meskipun itu akan menjadi ujian yang menarik.

Geometri sederhana, menurut OGC, geometri yang tidak berpotongan sendiri, dan dalam hal poligon, geometri yang berorientasi dengan benar, untuk kulit terluar dan kulit dalam dan selanjutnya.

George Silva
sumber