У мене є Shapefile (складається з головних європейських доріг) з приблизно 250 000 сегментів, які я маю спростити для прошивки. Але я, здається, не можу знайти спосіб зробити це належним чином.
Ось як це виглядає:
і ось як це має виглядати:
Мені якось доводиться видаляти кожну точку ліній, яка з'єднана з менш ніж 3 лініями (не є перетином), зберігаючи топологічні зв’язки між рештою точками. Якщо хтось має ідею, це буде дуже вдячно!
З повагою
EDIT: Я спробував реалізувати ідею @dkastl і мені вдалося отримати лише непотрібні вузли (вузли із лише двома сусідніми рядками) з моєї мережі з кодом нижче (генерація мережі взята з блогу Underdark http://underdark.wordpress.com / 2011/02/07 / a-початківці-керівництво-до 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;
Отже, все, що мені зараз потрібно зробити - це злиття ліній. Однак у мене немає поняття, як. Я думаю, що це повинен бути цикл, який для кожного ряду результатів вищезазначеного запиту отримує суміжні рядки і об'єднує їх. Тоді вона б відновила мережу повністю і повторила процес, поки запит вище не поверне порожній результат.