Что-то мне кажется, что стягивать нужно не в точку, а в отрезок. А с отрезком поступать уже в соответствии с выбранным масштабом, - возможно, стягивать в точку.
То и значит. Карта должна быть пригодной для рутинга. Например, можно строить маршруты между городами.
Да, можно объединять. Что делать со скоростью - усреднять, устанавливая разумное значение скорости для данного класса дороги.
Можно не париться, для начала. Тем не менее, меня интересует автомобильная карта.
Да, улицы в городе желательно оставлять однонаправленными, если они уцелели после генерализации.
Линк - это однозначно развязка, которую нужно стягивать. Конечно, в исходных данных может быть ошибочно присвоенный *_link, но я думаю это на задачу не влияет.
Постараюсь ответить, как смогу. Если бы я мог строго формализовать эту задачу, наверно она была бы уже решена
Ну я не придираюсь, мне уже надо что-то в алгоритм закладывать
(это стандартная выдача osm2mp.pl)
На это я и рассчитывал. Just as planned
Линк - это однозначно развязка, которую нужно стягивать. Конечно, в исходных данных может быть ошибочно присвоенный *_link, но я думаю это на задачу не влияет.
Лады, буду стягивать. В крайнем случае добавим проверку длины _link.
Это хорошее замечание. Конечно, я намешал условий из нескольких задач.
Если брать строго формальное преобразование двухвеек в одновейки, то могут возникнуть запреты. Если посмотреть на цель- построение обзорной карты России (см. задачу 5), то в ней никаких запретов быть не может. Если вдруг возникли запреты, это значит что уровень генерализации выбран неверно.
Мне кажется, первое, что надо сделать, это удостовериться, что те дороги, которые связаны link’ом, - пересекаются. Желательно поблизости (уже на этом этапе можно сравнивать расстояние от link’а до точки пересечения и с длиной самого линка).
А дальше - определение точки пересечения, включение ее в граф (вместе со всеми необходимыми преобразованиями путей - ребер дорожного графа) и удаление линков.
Извините, если эта мысль уже звучала, но удаление всех _link, стягивание двухвеек в одновейки и принудительное пересечение разных уровней не решают обсуждаемую проблему?
Не совсем так. Принудительные пересечения нужно делать там где есть развязки. Там где дороги пересекаются в разных уровнях, но нет развязки, принудительное пересечение делать НЕ нужно.
Подсунул коду (развязки пока не стягивает, только геометрию цепочек срубает).
Если без residental-ов, то узла не делает. Дуйте через Птицеград, говорит.