OpenStreetMap

Валидатор связности рутингового графа

Posted by Zkir on 28 July 2011 in Russian (Русский)

Дамы и господа! Хочу вам представить валидатор связности рутингового графа.

Что такое "рутинговый граф"? Это граф, по которому строится маршрут в навигационной программе. Попросту сказать, просто связанные между собой дороги.

В идеале должен быть один связный граф. Потому что если начало и конец маршрута попадают в несвязные между собой сегменты (подграфы), маршрут не строится.

Какие дороги включаются в рутинг?
В данном валидаторе в рутинговый граф включаются дороги, предназначенные для *транзитного движения автомобилей*, а именно дороги от 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  см ниже).

Проблема с highway=pedestrian
В свое время предполагалось, что это hw=pedestrian - это вовсе не пешеходная дорожка/аллея в парке (и откуда в русской вики взялись "аллеи" ? ...). а пешеходная улица, т.е. сущность одного порядка с hw=residential, и должна пристыковываться на общих основаниях к общему графу улиц, пусть с запретом проезда для автомобилей (т.е. hw=pedestrian должно быть эквивалентно hw=residential + vehicle=no). Если приглядеться внимательно, на вики hw=residential описывается вместе с дорогами, а не с пешеходными тропами.


Валидатор vs keepright
Заменяет ли этот валидатор Keepright (проверку  "almost junction/не до конца соединены")? Нет, не заменяет. Полностью заменить Keepright этот валидатор не может. Если дорога не пристыкована к другим дорогам совсем, валидатор покажет ее как изолированную. Но если дорога присоединена к остальным дорогам, но не во всех местах, где надо, она показана не будет. В тоже время keepright  показывает места, где должна быть общая вершина, а ее нет.

Как часто обновляется валидатор?
Одновременно с остальными представленными на peirce.gis-lab.info данными (картами, статистикой и адресным валидатором ) . Полный цикл обновления всех регионов составляет около полутора суток.
---
Отдельной странички со списком регионов [пока] нет,  все регионы доступны через список регионов РФ здесь: http://peirce.gis-lab.info/addr.php

также публикую список [анти]рекордсменов, для вашего удобства.
Регион/число подграфов.
Москва и обл. ________ 642
Санкт-Петербург и обл.  566
Челябинская обл. ____   479
Тверская обл. _______   379
Дагестан ____________  378
Карелия _____________ 328
Марий Эл ____________ 321
Башкирия ____________283
Екатеринбург и обл. ___  282
Кировская обл.    ______ 266


P.S.
Известные проблемы: почему-то не работает в IE8. Я рекомендую обновиться до IE9.

P.P.S.
Но в любом случае код визуализации опубликован на гитхабе (https://github.com/Zkir/osm2dcm), можете присылать патчи big_smile


Comment from YuriZ on 2 August 2011 at 21:34

на XP нельзя обновиться до 9-ки

Hide this comment

Comment from YuriZ on 2 August 2011 at 21:36

верстка не валидна
http://validator.w3.org

Hide this comment

Comment from Zkir on 3 August 2011 at 09:30

Надо обновляться до Семерки.
Поправил верстку, но не думаю, что это сильно поможет.

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

    [Text](URL)
  • Image

    ![Alt text](URL)

Login to leave a comment