Pgrouting için basitleştirmek zorunda olduğum yaklaşık 250.000 Segmentli (Avrupa ana yollarından oluşan) bir Shapefile'm var. Ama bunu düzgün yapmanın bir yolunu bulamıyorum.
Öyle görünüyor:
ve işte böyle görünmeli:
Kalan noktalar arasındaki topolojik bağlantıları korurken, bir şekilde 3'ten daha az hatta bağlı olan (Kesişim değil) Çizgilerin her Noktasını bir şekilde kaldırmam gerekiyor. Birinin bir fikri varsa, çok takdir edilecektir!
Saygılarımla
DÜZENLEME: @dkastl fikrini uygulamaya çalıştım ve aşağıdaki kodla ağımdan yalnızca gereksiz düğümleri (yalnızca 2 bitişik linestringli düğümler) almayı başardım (ağ üretimi alt ağın blogundan alınmıştır http://underdark.wordpress.com / 2011/02/07 / a-yeni başlayanlar-sayfa-kılavuzlama / ):
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;
Yani, şimdi tek yapmam gereken çizgilerin birleşmesi. Ancak, nasıl bir fikrim yok. Yukarıdaki sorgu sonucunun her satır için bitişik satırları alır ve onları birleştiren bir döngü olması gerektiğini hayal ediyorum. Ardından ağı tamamen yeniden oluşturur ve yukarıdaki sorgu boş bir sonuç döndürene kadar işlemi tekrarlar.