Osnove vizualizacije in usmerjanja omrežja (QGIS3)

Ustvarjanje, vizualizacija in upravljanje omrežij je pomemben del GIS-a. Številne vrste fizične infrastrukture, kot so ceste, železnice, komunalne storitve, je mogoče modelirati kot omrežja s črtami in vozlišči - z lastnostmi, ki so jim pripisane. V tej vadnici bomo spoznali, kako se običajno modelirajo cestna omrežja, in uporabili nekaj tehnik oblikovanja za vizualizacijo lastnosti poti. Uporabili bomo tudi vgrajena orodja QGIS3 za analizo omrežij, s katerimi bomo našli najkrajšo pot med dvema točkama skupaj z omrežjem.

Pregled naloge

Vzeli bomo sloj cestnih blokov za Washington DC, vizualizirali povezljivost in zgradili omrežje za iskanje najkrajše poti med katerima koli dvema točkama v mestu.

Druga znanja, ki se jih boste naučili

  • Kako uporabiti podatkovno opredeljeno prekrivanje, definirano s podatki, za poravnavo simbola puščice glede na smer.

Pridobivanje podatkov

Vlada okrožja Columbia prosto deli na stotine podatkovnih nizov na portalu Open Data Catalog.

Prenesite Roadway Block deljeno s podatki DCGISopendata kot datoteko shapefile.

../../_images/data11.png

Zaradi priročnosti lahko kopijo zbirk podatkov neposredno prenesete s spodnjih povezav:

Roadway_Block-shp.zip

Vir podatkov: [DCOPENDATA]

Postopek

  1. Na plošči Browser poiščite preneseno datoteko Roadway_Block-shp.zip. Razširite jo in povlecite Roadway_Block.shp na delovno površino.

../../_images/115.png
  1. You will see a new line layer called Roadway_Block added to the Layers panel. This layer represents each road in Washington DC. Select the Identify tool in the Attributes Toolbar. Click on any road segment to see what attributes are attached to it. There are standard attributes like Route-name, Road-type etc. there is an attribute called SUMMARYDIR. This is an important attribute for routing as it specifies whether the segment is two-way or one-way. It contains 4 different values. BD (Both Directions) for two-way streets. OB (Out Bound) for one-way streets where the traffic is allowed in the direction of the line (start-point to end-point) and IB (In Bound) for one-way streets where the traffic flows in the opposite direction of the line. There is also ?? value where we will assume two-way traffic. We will now use the information in that attribute to display an arrow on one-way streets.

../../_images/213.png
  1. Kliknite gumb Open the layer Styling Panel na plošči Layers. V spustnem meniju izberite upodobitev Rule-based.

../../_images/310.png
  1. Ustvarili bomo nov slog s filtrom samo za enosmerne ceste. Kliknite gumb Add rule +.

../../_images/42.png
  1. V pogovornem oknu Edit rule kliknite gumb Expression.

../../_images/52.png
  1. V pogovornem oknu Expression string builder razširite razdelek Fields and Values v srednjem polju. Izberite atribut SUMMARYDIR in kliknite All Unique` na desni plošči. Pojavile se bodo 4 vrednosti, o katerih smo govorili prej. To, da so te vrednosti tukaj kot referenca, nam pomaga pri sestavljanju izraza. Prav tako lahko dvakrat kliknete na katero koli vrednost, da jo dodate v izraz.

../../_images/62.png
  1. Cilj je ustvariti izraz, ki izbere vse enosmerne ulice. Vnesite naslednji izraz in kliknite OK.

"SUMMARYDIR" in ('IB', 'OB')
../../_images/72.png
  1. Nato spremenite Symbol layer type v Marker line.

../../_images/82.png
  1. V razdelku Marker placement (Postavitev oznake) izberite on center point.

../../_images/92.png
  1. Kliknite na simbol Simple marker. Pomaknite se navzdol in izberite oznako filled_arrowhead. Videli boste, da se simbol v obliki puščice zdaj prikazuje na enosmernih ulicah. Vendar vse kažejo v eno smer, medtem ko vemo, da naš filter vsebuje ceste v več smereh. Simbole lahko še dodatno izpopolnimo s podatkovno opredeljeno prevlado za vrednost Rotation.

../../_images/105.png
  1. Kliknite gumb Data defined override poleg Rotation.

../../_images/116.png
  1. Vnesemo lahko pogojni izraz, ki vrne različne vrednosti vrtenja glede na enosmerno smer. Obrat za 180° za cesto v nasprotno smer bo oznaka smeri popolna, V tem primeru bomo ceste z atributom IB obrnili za 180°, zato bodo vse ceste imele pravilno smer prometnega toka. Vnesite naslednji izraz in kliknite OK.

if( "SUMMARYDIR" = 'IB', 180, 0)
../../_images/125.png
  1. Zdaj bodo puščice poravnane s pravilno smerjo vožnje. Da bi slog ostal pregleden, smo se odločili, da bodo puščice prikazane samo na enosmernih ulicah. Za neoznačene ulice velja, da so dvosmerne. Zdaj, ko je omrežje pravilno oblikovano, lahko opravimo nekaj analiz. Pojdite na Processing ‣ Toolbox.

../../_images/134.png
  1. Poiščite in najdite algoritem Analiza omrežja ‣ Najkrajša pot (od točke do točke). Z dvoklikom ga zaženite.

../../_images/144.png
  1. V pogovornem oknu Najkrajša pot (od točke do točke) izberite Roadway_Block kot Vector layer representing network`. Naj bo v polju Path type to calculate (vrsta poti za izračun) izbrana vrednost Shortest (najkrajša). Nato moramo izbrati začetno in končno točko. Kliknite gumb in na platnu kliknite na katero koli točko v omrežju. Če želite ponoviti rezultate iz tega priročnika, lahko kot začetna točka vnesete -76.99730092166396,38.887624846748984 in kot končna točka -76.99154831062152,38.89151000569929. Razširite razdelek Advanced parameter. Izberite SUMMARYDIR kot Direction field. Poznati morate vrednosti enosmerne smeri za prometni tok naprej in nazaj. Vnesite OB kot Vrednost za smer naprej in IB kot Vrednost za smer nazaj. Ostale možnosti pustite na privzetih vrednostih in kliknite Run.

../../_images/154.png
  1. Algoritem bo za izgradnjo mrežnega grafa uporabil geometrijo sloja in navedene parametre. Ta graf se nato uporabi za iskanje najkrajše poti med začetno in končno točko. Ko algoritem konča, se na plošči Layers doda nov sloj Najkrajša pot, ki prikazuje najkrajšo pot med začetno in končno točko.

../../_images/164.png
  1. Videli boste, da je med začetno in končno točko veliko možnih poti. Toda glede na omejitve omrežja, kot so enosmerne poti, je rezultat najkrajša možna pot. Vedno je dobro, da potrdite svojo analizo in predpostavke. Enostaven način za potrditev je, da uporabite kartografski prikaz druge osebe in preverite, ali se njihovi rezultati ujemajo z vašimi rezultati. Tukaj je najkrajša pot, ki jo je predlagal Google Maps <https://goo.gl/maps/XwTXTkvuaCuteocr8>`_ med isto začetno in končno točko. Kot lahko vidite, se priporočena najkrajša pot popolnoma ujema z našimi rezultati - s tem je naša analiza potrjena .

../../_images/174.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)