Basis netwerk visualisatie en routeren (QGIS3)

Netwerken maken, visualiseren en beheren is een belangrijk deel van GIS. Veel typen fysieke infrastructuur, zoals wegen, spoorwegen, nutsvoorzieningen, kunnen worden gemodelleerd als netwerken met lijnen en knopen - met daaraan gekoppelde eigenschappen. In deze handleiding zullen we leren hoe netwerken van wegen normaal gesproken worden gemodelleerd en het toepassen van enkele technieken voor opmaken om de eigenschappen voor routeren te visualiseren. We zullen ook de ingebouwde gereedschappen voor netwerkanalyses in QGIS3 gebruiken om het kortste pad te zoeken naar 2 punten langs het netwerk.

Overzicht van de taak

We zullen een laag nemen met hartlijnen voor wegen voor Washington DC, de verbindingen visualiseren en een netwerk bouwen om het kortste pad te zoeken tussen 2 willekeurige punten in de stad.

Andere vaardigheden die u zult leren

  • Hoe gegevens bepaalde ‘override’ te gebruiken om een pijlsymbool uit te lijnen, gebaseerd op de richting van de lijn.

De gegevens ophalen

De overheid van het district of Columbia deelt gratis honderden gegevenssets in de Open Data Catalog.

Download de Street Centerlines gedeeld door DCGISopendata als een Shapefile.

../../_images/data1.png

Voor het gemak kunt u direct een kopie van de gegevensset downloaden vanaf de link hieronder:

Street_Centerlines.zip

Gegevensbron: [DCOPENDATA]

Procedure

  1. Zoek in het paneel Browser naar het bestand Street_Centerlines.zip. Vergroot het en sleep het bestand Street_Centerlines.shp naar het kaartvenster.

../../_images/112.png
  1. U zult een nieuwe lijnenlaag, genaamd Street_Centerlines, zien toegevoegd aan het paneel Lagen. Deze laag geeft elke weg weer in Washington DC. Selecteer het gereedschap Objecten identificeren op de werkbalk Attributen. Klik op een willekeurig wegsegment om te zien welke attributen daaraan zijn gekoppeld. Er zijn standaard attributen zoals de naam van de weg, type etc., er is ook een attribuut, genaamd DIRECTIONA. Dit is een belangrijk attribuut om te importeren voor routeren omdat het specifieert of het segment voor twee richtingen of voor één richting is. Het bevat 4 verschillende waarden. Two Way voor straten met twee richtingen. One Way (Digitizing direction) voor straten met eenrichtingsverkeer, waar het verkeer is toegestaan in de richting van de lijn (beginpunt naar eindpunt) en One way (Against digitizing direction) voor straten met eenrichtingsverkeer, waar het verkeer in de tegengestelde richting van de lijn gaat. Er is ook een waarde Unknown waarvoor we zullen aannemen dat daar verkeer in twee richtingen is toegestaan. We zullen nu de informatie in dat attribuut gebruiken om een pijl weer te geven op wegen die eenrichtingsverkeer hebben.

../../_images/210.png
  1. Klik, in het paneel Lagen, op de knop Paneel Laag opmaken openen.Selecteer de renderer Regel-gebaseerd in de keuzelijst.

../../_images/310.png
  1. We zullen een nieuwe stijl maken met een filter voor alleen de wegen met eenrichtingsverkeer. Klik op de knop Regel toevoegen +.

../../_images/43.png
  1. Klik, in het dialoogvenster Regel bewerken, op de knop Expressie.

../../_images/53.png
  1. In het dialoogvenster Expressie-string bouwer, vergroot het gedeelte Velden en waarden in het middenpaneel. Selecteer het attribuut DIRECTIONA en klik op Alle unieke in het paneel aan de rechterkant. De 4 waarden die we eerder hebben besproken verschijnen. Het hier hebben van deze waarden als een verwijzing helpt bij het bouwen van de expressie. Ook kunt u dubbelklikken op een waarde om die toe te voegen aan de expressie.

../../_images/63.png
  1. Het doel is om een expressie te maken die alle wegen met eenrichtingsverkeer selecteert. Voer de volgende expressie in en klik op OK.

"DIRECTIONA" = 'One way (Against digitizing direction)' OR  "DIRECTIONA" ='One Way (Digitizing direction)'
../../_images/73.png
  1. Wijzig vervolgens het Symboollaagtype naar Symbolen-lijn.

../../_images/83.png
  1. Selecteer op middelpunt onder Plaatsing markering.

../../_images/93.png
  1. Klik op het symbool Standaard symbool. Scroll naar beneden en kies de markering filled_arrowhead. U zult zien dat het symbool dat op een pijlpunt lijkt nu zal verschijnen op de wegen met eenrichtingsverkeer. Maar zij wijzen allemaal maar in één enkele richting, terwijl wij weten dat ons filter wegen in verschillende richtingen bevat. We kunnen de symbolen verder verfijnen met symbolen met een data-bepaalde ‘override’ voor de waarde Rotatie.

../../_images/103.png
  1. Klik op de knop Data-bepaalde ‘override’ naast Rotatie.

../../_images/113.png
  1. We kunnen een expressie met voorwaarden invullen die verschillende waarden voor de rotatie teruggeven, afhankelijk van de richting voor eenrichtingsverkeer. Een eenvoudig rotatie van 0 of 180 graden werkt om rekening te kunnen houden met de richting, maar dat werkt alleen voor horizontale lijnen. We moeten ook rekening houden met de hoek van de lijn in de expressie - om de pijlpunt loodrecht uit te kunnen lijnen voor alle lijnen. De functie angle_at_vertex helpt ons de hoek te zoeken en die te gebruiken in de expressie. Voer de volgende expressie in en klik op OK.

CASE
  WHEN "DIRECTIONA" =  'One Way (Digitizing direction)'
    THEN angle_at_vertex($geometry, 1) - 90
  WHEN "DIRECTIONA" =  'One way (Against digitizing direction)'
    THEN angle_at_vertex($geometry, 1) - 90 + 180
END
../../_images/123.png
  1. Nu zult u zien dat de pijlpunten zijn uitgelijnd op de juiste richting van de weg en hoek. We kiezen er voor om de pijlpunten alleen weer te geven op de wegen met eenrichtingsverkeer om de stijl niet te druk te maken. Niet gelabelde straten worden geacht wegen met tweerichtingsverkeer te zijn. Nu we het netwerk juist hebben opgemaakt, kunnen we enkele analyses uitvoeren. Ga naar Processing ‣ Toolbox.

../../_images/133.png
  1. Zoek en lokaliseer het algoritme Netwerkanalyse ‣ Kortste pad (punt naar punt). Dubbelklik om het te starten.

../../_images/143.png
  1. Selecteer, in het dialoogvenster Kortste pad (punt naar punt), Street_Centerlines als de Vectorlaag die netwerk weergeeft. Behoud het Te berekenen type pad als Kortste. Vervolgens dienen we een begin- en eindpunt te kiezen. U kunt op de knop klikken en op een willekeurig punt in het kaartvenster klikken. Als u de resultaten voor deze handleiding wilt repliceren, kunt u -76.99730092166396,38.887624846748984 als het Startpunt invoeren en -76.99154831062152,38.89151000569929 als het Eindpunt. Vergroot het gedeelte Gevorderde parameters. Kies DIRECTIONA als het Richtingsveld. U moet bekend zijn met de waarden voor één richting voor de voorwaartse en achterwaartse verkeersstromen. Voer One Way (Digitizing direction) in als de Waarde voor voorwaartse richting en One way (Against digitizing direction) als de Waarde voor achterwaartse richting. Laat de andere waarden op hun standaard waarden staan en klik op Uitvoeren.

../../_images/153.png
  1. Het algoritme zal de geometrie van de laag en de opgegeven parameters gebruiken om een grafiek voor het netwerk te bouwen. Deze grafiek wordt dan gebruikt om het kortste pad te zoeken tussen begin- en eindpunten. Als het algoritme is voltooid zult u een nieuwe laag Kortste pad zien toegevoegd aan het paneel Lagen die het kortste pad weergeeft tussen start- en eindpunten.

../../_images/163.png
  1. U zult zien dat er veel mogelijke paden zijn tussen start- en eindpunten. Maar gegeven de beperkingen van het netwerk - zoals eenrichtingswegen, is het resultaat het kortst mogelijke pad. Het is altijd een goed idee om uw analyse en veronderstellingen te valideren. Een eenvoudige manier om het te valideren is om een derde partij service voor in kaart brengen te gebruiken om te zien of hun resultaten overeenkomen met die welke wij hebben berekend. Hier is het kortste pad voorgesteld door Google Maps tussen dezelfde start- en eindpunten. Zoals u kunt zien komt de aanbevolen kortste route exact overeen met onze resultaten - wat onze analyse valideert.

../../_images/173.png
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License