Skip to content

Instantly share code, notes, and snippets.

@Andygol
Created December 23, 2016 12:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Andygol/214c2a819aae258288500d7103d3c3f5 to your computer and use it in GitHub Desktop.
Save Andygol/214c2a819aae258288500d7103d3c3f5 to your computer and use it in GitHub Desktop.
Звʼязаність дорожнього графа

Звʼязаність дорожнього графа

Лінії, позначені тегами highway = * утворюють мережу доріг. Одним із завдань такої мережі є можливість побудувати маршрут з однієї області цієї мережі в іншу. Це можливо тільки за умови, що ці області мають спільні точки дотику — не мають розривів між ними та не утворюють незвʼязані один з одним "острови".

Image https://en.wikipedia.org/wiki/Stronglyconnectedcomponent

Крім побудови маршруту, важливою складовою мапи дорожньої мережі є її візуальна цілісність. Оскільки на різних масштабах/рівнях генералізації показується різний набір доріг, то важливо, щоб дорожня мережа також виглядала як єдине ціле.

Так на загальних (великий) масштабах будуть показані тільки важливі/основні типи доріг: motorway, trunk; іноді до них можуть додавати дороги primary. При подальшому наближенні, до них будуть додані дороги регіонального значення — secondary і tertiary, а на самих докладних масштабах ми побачимо ще вулиці та інші допоміжні дороги.

Ґрунтуючись на цьому, основним підходом до позначення класів доріг, у випадках відсутності інформації про офіційну їх класифікацію, повинен стати наступний принцип:

При відсіканні/приховуванні доріг нижчого класу, дороги що залишилися повинні утворювати звʼязану дорожню мережу.

Так, вся країна повинна покриватися без розривів дорогами класу trunk + motorway (при приховуванні trunk, дороги motorway можуть мати розриви, бо вони є покращеним варіантом trunk); у великих містах до них повинні приєднуватись дороги primary (primary дороги також відіграють ключову роль в траспортній мережі великого регіону — штату, області, краю). Якщо дороги secondary з двох сусідніх областей зʼєднані між собою тільки через звʼязки з дорогами нижчого рівня, то при збільшені масштабу вони утворять незвʼязані дорожні графи, які крім візуального дискомфорту можуть привести до неможливості побудови маршруту між ними.

Як перевірити звʼязаність дорожнього графа?

Для перевірки звʼязаності дорожнього графа можна скористатися кількома способами:

Для швидкої візуальної оцінки невеликої ділянки дорожньої мережі можна скористатись набором фільтрів в JOSM, які допоможуть нам приховати/показати дороги певного класу

Image

Фільтри в JOSM обробляються зверху вниз, тому їх необхідно розміщувати у відповідному порядку.

Image

Після активації/деактивації фільтрів у нас буде можливість переконатися в наявності або відсутності розривів в дорожній мережі.

Вашингтон

Дотримання цього нескладного принципу дозволяє завжди мати звʼязаний дорожній граф на будь-якому рівні генералізації даних.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment