У меня есть база данных путей и узлов. Путь определяется двумя или более узлами. Список идентификаторов узлов, содержащихся в пути, хранится в таблице way_nodes.
У меня есть таблица соединений узлов, точки, где соединяются два или более способов. Объединение определяется как два или более способов, имеющих один и тот же узел. Я ищу, чтобы найти пути, которые имеют соединения. Итак, попробуем что-то вроде этого:
SELECT DISTINCT
way_id
FROM way_nodes wn
JOIN path_vectors pv ON pv.node_id = wn.node_id
Таблица path_vectors содержит список всех узлов, которые являются соединениями между способами, он предварительно рассчитан.
Я обнаружил, что это было слишком медленно, возможно, 5 путей в секунду, с моей большой базой данных ~ 10000 путей и ~ 40 000 узлов. Это связано с моим предыдущим вопросом .
Цель этой информации - упростить дорожные сети в простой график, который можно использовать с указателем пути для построения оптимального маршрута. Я использую данные Open Street Map, отсюда и похожая терминология.