Дамы и господа! Хочу вам представить валидатор связности рутингового графа.
Что такое "рутинговый граф"? Это граф, по которому строится маршрут в навигационной программе. Попросту сказать, просто связанные между собой дороги.
В идеале должен быть один связный граф. Потому что если начало и конец маршрута попадают в несвязные между собой сегменты (подграфы), маршрут не строится.
Какие дороги включаются в рутинг?
В данном валидаторе в рутинговый граф включаются дороги, предназначенные для *транзитного движения автомобилей*, а именно дороги от trunk и заканчивая residential/unclassified.
service/track в рутинг не включаются, но граф дорог должен быть связан и без них. Это и понятно, потому что если между точками А и Б есть маршрут, то он пролегает по "транзитным" дорогам.
Кроме того, highway=residential не может "висеть" на highway=service. Потому что как то же на нее заезжают. А если заезжают, то те улицы, по которым заезжают - транзитные, highway=residential/unclassified
Также отдельно хочу напомнить, что highway=track - это не есть просто дорога без покрытия. Это дорога по полям, которая имеет сугубо местное значение, например, та, по которой сельхозтехника выезжает на эти поля. Дорога, принадлежащая соединительной сети (например дорога между населенными пунктами), это highway=unclassified+surface=unpaved(earth, dirt, gravel, etc).
Поэтому не может быть такого, что посреди поля track переходит в unclassified, а потом снова в track.
А какие дороги НЕ включаются в рутинг?
Дворовые проезды highway=service, козьи тропы highway=track, а так же все пешеходные тропы/дорожки, и, временно, highway=pedestrian (про pedestrian см ниже).

Месяц назад в белорусском сегменте Интернета заработал новый интернет-ресурс - 