Saya memiliki Shapefile (terdiri dari jalan-jalan utama Eropa) dengan sekitar 250.000 Segmen yang harus saya sederhanakan untuk pgrouting. Tapi sepertinya saya tidak bisa menemukan cara untuk melakukannya dengan benar.
Seperti inilah tampilannya:
dan seperti inilah seharusnya:
Saya entah bagaimana harus menghapus setiap Point of the Lines yang terhubung ke kurang dari 3 Lines (bukan persimpangan) sambil menjaga koneksi topologi antara poin yang tersisa. Jika ada yang punya ide, itu akan sangat dihargai!
salam Hormat
EDIT: Saya mencoba menerapkan gagasan @dkastl dan berhasil mendapatkan hanya simpul yang tidak perlu (node dengan hanya 2 linestrings yang berdekatan) dari jaringan saya dengan kode di bawah ini (pembuatan jaringan diambil dari blog underdark http://underdark.wordpress.com / 2011/02/07 / a-beginners-guide-to-pgrouting / ):
SELECT * FROM
(SELECT tmp.id as gid, node.the_geom FROM
(SELECT id, count(*) FROM network
JOIN node
ON (start_id = id OR end_id = id) AND (end_id = id OR start_id = id)
GROUP BY id ORDER BY id) as tmp
JOIN node ON (tmp.id = node.id)
WHERE tmp.count = 2) as unn_node;
Jadi, yang harus saya lakukan sekarang adalah menggabungkan garis. Namun, saya tidak tahu caranya. Saya membayangkan itu harus menjadi sebuah loop yang untuk setiap baris hasil kueri di atas mendapat garis yang berdekatan dan menggabungkannya. Maka itu akan membangun kembali jaringan sepenuhnya dan ulangi proses sampai permintaan di atas mengembalikan hasil kosong.
Jawaban:
Anda tentu harus menerapkan filter ramer-douglass-peucker ke baris Anda. Ini tersedia di PostGIS sebagai fungsi ST_Simplify . Versi dengan pelestarian topologi mungkin menarik untuk kasus Anda. Semoga berhasil!
sumber