Menyederhanakan poligon untuk linestring?

16

Saya ingin menyederhanakan beberapa poligon yang mewakili sungai menjadi linestrings. Saya berasumsi bahwa lubang dalam poligon dapat dihilangkan. Adakah yang punya ide bagus bagaimana melakukannya?

Akan lebih baik, jika mungkin dilakukan secara langsung di postgis atau oleh alat open source lain, tetapi deskripsi algoritma singkat akan cukup.

stachu
sumber

Jawaban:

13

Yang Anda butuhkan disebut "algoritma skeletisation".

Lihat artikel ini:

Haunert, J.-H., Sester, M., Juni 2008. Keruntuhan area dan garis tengah jalan berdasarkan kerangka lurus. GeoInformatica 12 (2), 169-191. URL http://dx.doi.org/10.1007/s10707-007-0028-x

Beberapa algoritma ini dikembangkan di perpustakaan CGAL .

Julien
sumber
Tautan tidak berfungsi lagi, Julien: apakah Anda pikir Anda bisa memberikan ringkasan algoritma atau setidaknya referensi formal untuk memungkinkan orang mencari makalah?
whuber
Ya, saya telah memperbarui jawabannya dengan referensi yang tepat ke artikel yang lebih baru.
julien
2
Terima kasih! (Tidak dapat menambahkan upvote lain - saya hanya punya satu untuk memberi. :-)
whuber
4

Di PostGIS 2.2 dengan SFCGAL, ini dapat dilakukan dengan ST_StraightSkeleton atau ST_ApproximateMedialAxis , tergantung pada kriteria Anda.

dbaston
sumber
2

plugin JUMP skeletonizer tersedia sebagai bagian dari openjump http://www.openjump.org

blackholesunn
sumber
1

Sama seperti peringatan, saya belum pernah mencoba ini sebelumnya. Keberhasilan Anda akan tergantung pada kualitas data yang Anda miliki saat ini.

Jadi, pikirkan poligon sebagai strip segitiga. Setiap segitiga terhubung ke sebuah titik di sisi yang berlawanan dari koridor dengan sebuah tepi. Sekarang, untuk masing-masing tepi di koridor, cukup letakkan simpul tepat di tengahnya. Verteks baru ini adalah poin dari linestring Anda. Anda mungkin bisa mengutak-atik bagaimana Anda memilih titik tengah di tepi untuk akurasi yang lebih besar.

Jon Bringhurst
sumber
0

Sekali lagi, ET GeoWizards mungkin jawabannya. Coba buat Centerlines dari alat Polygons .

Don Meltz
sumber