Adakah yang tahu cara mengekstrak garis tengah poligon berikut (Fig1) menggunakan fungsi PostGIS atau modul Python? Saya mencoba Fungsi Voronoi tapi itu tidak membantu untuk bentuk seperti ini. Saya ingin sesuatu seperti Fig2 blackline.
Adakah yang tahu cara mengekstrak garis tengah poligon berikut (Fig1) menggunakan fungsi PostGIS atau modul Python? Saya mencoba Fungsi Voronoi tapi itu tidak membantu untuk bentuk seperti ini. Saya ingin sesuatu seperti Fig2 blackline.
libSFCGAL.so
file dalam/usr/local/lib
direktori tetapi tidak tahu cara membawaST_StriaghtSkeleton()
db? Ada ide?Jawaban:
Ini mungkin alat yang salah untuk Anda, tetapi Anda bisa melakukannya hanya dengan plugin OpenJUMP dan Skeletonizer. Plugin dapat diunduh dari http://sourceforge.net/projects/jump-pilot/files/OpenJUMP_plugins/More%20Plugins/JUMP%20Skeletonizer%20Plugin/
File zip berisi manual yang bagus. Plugin dimaksudkan untuk aliran dan badan air tetapi poligon Anda meniru aliran ke saya.
Ini adalah poligon Anda saat saya mendigitalkannya. Perhatikan simpul di garis tengah input / outlet.
Titik masuk didigitalkan pada lapisan terpisah. Poin harus patah ke simpul pada batas poligon.
Gunakan alat Skeletonizer dan isi bidang
Dapatkan hasilnya
sumber
java.lang.Exception: Could not determine shapefile type - data is either all GeometryCollections or empty (Illegal State Exception)
saat menjalankan plugin Skeletonizer iniJika poligon Anda raster, mendigitalkannya.
Setelah poligon Anda benar-benar poligon :), solusi pertama terletak, seperti kata @WhiteboxDev, itu kerangka lurus, tetapi memiliki masalah bahwa, selain garis tengah yang Anda inginkan, itu juga mengembalikan banyak segmen yang memancar dari garis itu ke perbatasan poligon Anda. Tetapi jika Anda memiliki PostGIS 2.2+, Anda dapat menggunakannya
ST_ApproximateMedialAxis()
sebagai gantinya, itulah yang Anda inginkan.sumber