<<
>>

Дороги

Желательно вычислить растеризацию всех путей только один раз и единый растр дорог используется, для представления всех дорог на карте. Мы будем сохранять пикселы дороги как атрибут, cRoadType, для каждой вершины и пусть этот аттрибут, содержит значение или 'класс' дороги или специальное значение noroad (нет дороги).

В реализации теста, имеются только три класса дороги: узкая, средняя или широкая, поэтому только 2 бита необходимы, чтобы сохранить эту информацию. Возьмем грань, если источник и адресат оба имеют пикселы растра дороги, отличающиеся от значения noroad, то принимается, что имеется дорога, соединяющая их. Это вызывает проблему, если имеются пути, которые являются настолько близкими друг к другу, что их растрезационное представление 'смешивается'. При размере 25 м пикселов/ячеекпроблемы не будет. Даже если это происходит (например, в городских узлах транспортного движения), очень вероятно, что имеются фактическое соединения между дорогами, поэтому воздействие нахождения оптимального пути было бы незначительно. Однако, чтобы уменьшить вероятное воздействие таких путаниц, растеризация 'тонкой строкой' предпочтительна (см. рисунок 7). Для алгоритма растеризации выбран классический алгоритм Брезенхама для рисования строки (см. [FOLE90] ). Это хороший быстрый алгоритм, использует только целочисленные операции, и получается в результате доминирующий пиксел (тонкая строка).

5.2.2.3

<< | >>
Источник: F. Markus Jonsson. Поиск оптимального пути для транспортных средств на оцифрованых картах реальной местности. 1998

Еще по теме Дороги: