Síťové analýzy I
Také v tomto cvičení budeme pracovat v programu ArcMap a pro síťové analýzy budeme využívat extenzi Network Analyst. V rámci tohoto cvičení budeme řešit celkem čtyři různé úlohy: Nejkratší trasa, Matice vzdáleností, Spádové oblasti, Nejbližší zařízení.
Nejkratší cesta
Tato úloha se často nazývá problémem obchodního cestujícího. Operace hledání optimální cesty identifikuje nejméně nákladnou cestu mezi výchozím a cílovým bodem. Samotný postup vyhledání optimální cesty lze provádět celou řadou algoritmů: např. Dantzigův, Dijkstrův, Bellman-Fordův, A* nebo Yenův. Pro vyhledání optimální cesty mezi dvěma body se nejčastěji využívá Dijkstrův algoritmus, byť se nejedná o algoritmus nejefektivnější, nicméně jeho efektivita výrazněji nezaostává a pro potřeby analýz je dostačující. Více informací o algoritmech např. v Horák (2013) nebo Demel (2002).
Naším cílem je naleznout nejrychlejší a nejkratší cestu mezi Ostravou a všemi ostatními obcemi s rozšířenou působností v Moravskoslezském kraji.
Datové podklady
Využijeme dva datové podklady – prvním budou data ze StreetNet a druhým pak data z ŘSD. V případě dat ze StreetNet ponecháme definovanou rychlost a dopočteme čas pro překonání daného úseku. v případě dat z ŘSD využijeme rychlost, která je přidána dle třídy komunikace a také dopočítáme čas.
Pro určení jednotlivých cílů využijeme souřadnice centroidů obcí z Českého statistického úřadu. Veškerá data jsou opět níže.
Postup
V případě StreetNet je potřeba určit, jaké komunikace budou vstupovat do analýzy. V minulém cvičení jsme si ukázali, že tento zdroj je velmi detailní a obsahuje také řadu cest, po kterých není možné legálně jet. Pokuste se určit dle vhodných atributů jen ty komunikace, které jsou pro náš účel vhodné. Následně jen tyto úseky exportujte to nové vrstvy. V případě dat z ŘSD tento krok nemusíme řešit, jelikož všechny komunikace jsou sjízdné.
Vytvoříme Network Dataset, postup je představen na vlastním cvičení, ale je možné využít také oficiální postup ze stránek ESRI. Vlastní analýza se nazývá New Route. Přidáme jednotlivé zastávky a nastavíme podmínky pro analýzu, ty můžeme libovolně měnit a porovnávat tak výsledky. My se zaměříme hlavně na rozdílné pořadí jednotlivých zastávek, které může být fixně zadáno nebo se může libovolně měnit (se zachováním počátečního bodu nebo ne). Nejkratší i nejrychlejší trasu porovnejte a uložte.
V dalším kroku si vytvoříme bariéry, které reprezentují omezení na pozemních komunikacích. Vytvoříme dva typy bariér – polygonové bariéry budou reprezentovat kompletní uzávěry větších oblastí (z důvodu např. povodní, klimatických podmínek) a liniové uzávěry pak lokální omezení (z důvodu např. nehod, oprav komunikace). Po vytvoření bariér přepočteme výsledek a ten uložte. Porovnáme s předchozí nejrychlejší a nejkratší trasou.
Kompletní nastavení bude představeno na cvičení, k dispozici je také opět oficiální postup.
Matice vzdáleností
Matice vzdáleností je nástrojem určujícím vzájemné vzdálenosti mezi množinou bodů vyjádřenou v metrech, minutách apod. V rámci této analýzy se obvykle využívá Dijkstrův algoritmus pro určení vzdáleností mezi všemi dvojicemi bodů. Je třeba brát v potaz, že vzdálenost mezi body N1 a N2 se nemusí rovnat vzdálenosti mezi N2 a N1, protože každá z cest může různě využívat jednosměrky a také pro ně mohou platit rozdílné omezení (bariéry) nebo rozdílné hodnocení impedance v závislosti na směru. Výsledná matice tak nemusí být symetrická.
Naším cílem je vytvořit matici vzdáleností mezi všemi obcemi s rozšířenou působností v Moravskoslezském kraji.
Postup
Pro tuto analýzu využijeme opět data ze StreetNet, která máme připravená již z předchozí úlohy, resp. máme připravený přímo daný síťový dataset. Pro konstrukci matice vzdáleností využijeme funkci New OD Cost Matrix. Následně je potřeba definovat počátky a cíle. Je tedy možné vytvořit jak čtvercovou matici a to v případě, kdy bude počet počátků a cílů stejný, resp. identický, tak také obdélníkovou matici. V tomto případě by počet počátků a cílů byl odlišný. V naší úloze je počet startů a cílů identický (sídla ORP) a tak načteme stejnou vrstvu jak do startů (origins), tak i do cílů (destinations).
V tomto kroku je také možné definovat bariéry. V praxi je pro definici bariér ideální využít data z Jednotného systému dopravních informací (JSDI), který je provozován Národním dopravním informačním centrem v Ostravě (NDIC). Tato data je možné stahovat online. My však využijeme aplikaci Dopravninfo.cz, kde se podíváme na aktuální uzávěrky či omezení v Moravskoslezském kraji a vytvoříme si vlastní vrstvu definující bariéry. Vytvoříme si novou bodovou vrstvu a v ní vytvoříme bodové události reprezentující aktuální omezení. Tuto vrstvu následně načteme jako bariéry do naší analýzy.
V nastavení analýzy je možné vybrat, zda chceme vytvářet matici vzdálenosti nebo času (dle atributů, které jsme použili při vytváření síťového datasetu). Zvolíme vzdálenost. Mezi další parametry, které je možné volit je počet nejbližších cílů, které se mají nalézt (tímto způsobem je možné vytvářet matici vyšších řádů) nebo prahovou vzdálenost/čas, do které se má hledat cíl. Dále pak možnost vygenerování linií, které by sloužily jako další výstup spolu s tabulárním výstupem. Po spuštění výpočtu jsou vygenerovány výsledky, viz obrázek níže. V tabulce jsou výsledné vzdálenosti/časy. Je patrné, že se nejedná o matici v matematickém slova smyslu, ale spíše o kombinaci startů a cílů, tedy M x M – M v případě souměrné matice, kde M je počet startů, resp. cílů.
Spádové oblasti
Tato analýza má za cíl určit spádové oblasti zadaných bodů zájmu v rámci sítě. Spádové oblasti lze vymezit buď pro více bodů, nebo pouze pro jeden bod. Při použití více bodů výsledek přiřazuje části sítě k zájmovému bodu, ke kterému je cesta v síti nejméně nákladná. Při použití jednoho bodu je nutné vymezit jaká spádová oblast má být vymezena, podle zvolené impedance – např. vzdálenost 1 km, nebo dojezdová doba 5 minut.
Výsledek zobrazuje část sítě dostupné z příslušných bodů zájmu s danými náklady. V případě více bodů zájmu bez uvedení nákladů na spádovou oblast dojde k rozdělení celé sítě na části tak, že se každému bodu v síti určí příslušný (spádový) bod zájmu na základě nejmenších nákladů. Pro tuto analýzu se používá upravený Dijkstrův algoritmus, pomocí něhož se počítají dostupnosti z uzlu k jednotlivým zájmovým bodům. Na základě těchto dostupností se pak jako spádový bod uzlu vybere zájmový bod s nejmenší impedancí.
Spádová oblast zájmových bodů vymezuje území, kam je možné docestovat s využitím zadané dopravní sítě v daném limitu (času, vzdálenosti apod.). Akumulace sledovaného kritéria je však prováděna pouze na síti. Pokud je výsledkem také polygonová vrstva definující jednotlivé spádové oblasti, tak dochází k aproximaci průběhu mimo síť. Toto je slabým místem analýzy, neboť mimo síť lze odhady provádět jen velmi obtížně (tyto odhady není na čem založit). Může a často dochází k nepřesnostem (viz obrázek níže), kde jsou servisní oblasti rozděleny do 10 minutových intervalů. Uprostřed je vidět rozdíl mezi příslušností linií do intervalu 30-40 minut (nejtmavší linie) a polygonů spadajících do intervalu 20-30 minut. Výsledek analýzy je silně závislý také na úplnosti dopravní sítě a realistickém nastavení parametrů.
Na obrázku níže je vidět výsledek zkonstruovaný dvěma různými postupy. Jedna verze vyplývá z vygenerovaných polygonových vrstev spádových oblastí vzniklé aproximací. Druhá verze vzniká z linií, které obsahují kumulativní dojížďkový čas do nejbližšího cíle. Následně je pro každou obec vypočítán aritmetický průměr z linií, které procházejí danou obcí. Rozdíly jsou patrné a výsledek z linií je přesnější.
Naším cílem je vytvořit spádové oblasti kolem obcí s rozšířenou působností v Moravskoslezském kraji a to ve vzdálenosti do 5, 10, 20 a 30 minut.
Postup
Vygenerujeme si obě verze spádových oblastí a porovnáme výsledky. Postup je prakticky stejný a rozdíl je až v závěrečném zpracování. Opět využijeme připravený síťový dataset z dat ze StreetNet a načteme všechny centra ORP. Mezi základní nastavení této analýzy patří volba proměnné, dle které se budou tvořit spádové oblasti (např. vzdálenost nebo čas), dále pak hraniční hodnoty pro tvorbu různých spádových oblastí (např. 10; 20; 30; 60; 90). Vybrat je možné také směr cesty (z nebo do center ORP). Pokud chceme generovat polygony, tak je možné volit mezi detailnější a obecnější variantou. Výsledky jsou detailnější, ale výpočet trvá delší dobu. Polygony se mohou ve výsledku překrývat, nepřekrývat nebo se spojovat. Mohou být vytvářeny disky nebo prstence. V případě generování linií je základní dělení mezi překrývající se linie nebo jen jednu výslednou linii pro nejbližší zařízení.
My vybereme právě jen jednu linii, tvorbu detailních polygonů a pracovat budeme s časem, přičemž hraniční hodnoty nastavíme dle zadání. Po nastavení necháme vypočítat výsledky. V případě polygonů upravíme výslednou vizualizaci. Přidáme si vrstvu obcí a vypočteme pro každou obec aritmetický průměr ze všech linií, které procházejí danou obcí. Výsledky porovnáme a najdeme rozdíly.
Data
Z licenčních důvodů jsou veškerá data dostupná na FTP disku v intranetu. Přihlašovací údaje budou předány na daním cvičení.
Cvičení bylo vytvořeno díky finanční podpoře projektu FRVŠ 80/2014, kterému za podporu děkuji.