6.3. Lesson: Netwerkanalyse
Berekenen van de kortste afstand tussen twee punten is een veel voorkomend gebruik voor GIS. Gereedschappen hiervoor zijn te vinden in de Toolbox van Processing.
Het doel voor deze les: leren algoritmes voor Netwerk-analyses te gebruiken.
6.3.1. Follow Along: De gereedschappen en de gegevens
U vindt alle algoritmes voor netwerkanalyses in het menu
. U kunt zien dat er vele gereedschappen beschikbaar zijn:Open het project exercise_data/network_analysis/network.qgz
. Het bevat twee lagen:
network_points
network_lines
De laag network_lines heeft al een stijl die u helpt het netwerk van wegen te begrijpen.
Het gereedschap Kortste pad verschaft manieren om ofwel het kortste of het snelste pad te berekenen tussen twee opgegeven punten van een netwerk:
begin- en eindpunten geselecteerd op de kaart
beginpunt geselecteerd op de kaart en eindpunten genomen uit een puntenlaag
beginpunten genomen uit een puntenlaag en eindpunt geselecteerd op de kaart
Laten we beginnen.
6.3.2. Kortste pad (punt naar punt) berekenen
Het menu
stelt u in staat de kortste afstand te berekenen tussen twee handmatig geselecteerde punten op de kaart.In dit voorbeeld zullen we het kortste (niet snelste) pad tussen twee punten.
Open het algoritme Kortste pad (punt naar punt)
Selecteer network_lines voor Vectorlaag die netwerk weergeeft
Kies
Kortste
in Te berekenen type padGebruik deze twee punten als begin- en eindpunt voor de analyse:
Klik op de knop … naast Startpunt en kies de locatie die is getagd met
Starting Point
in de afbeelding. Het veld wordt gevuld met de coördinaten van het aangeklikte punt.Doe hetzelfde, maar kies nu de locatie die is getagd met
Ending point
voor EindpuntKlik op de knop Uitvoeren:
Een nieuwe lijnenlaag wordt gemaakt die het kortste pad weergeeft tussen de gekozen punten. Deselecteer de laag
network_lines
om het resultaat beter te kunnen zien:Open de attributentabel van de uitvoerlaag. Die bevat drie velden, die de coördinaten van het start- en eindpunt weergeven en de kosten.
We kozen
Kortste
als Te berekenen type pad, dus vertegenwoordigen de kosten de afstand, in kaarteenheden, tussen de twee locaties.In ons geval is de kortste afstand tussen de twee gekozen punten ongeveer
1000
meter:
Nu u weet hoe het gereedschap te gebruiken, test nog enkele andere locaties.
6.3.3. Try Yourself Snelste pad
Probeer, met dezelfde gegevens van de eerdere oefening, het snelste pad tussen de twee punten te berekenen.
Hoeveel tijd heeft u nodig om van het begin- naar het eindpunt te gaan?
Antwoord
Open
en vul het dialoogvenster als volgt:Zorg er voor dat Te berekenen type pad is ingesteld op
Snelste
.Klik op Uitvoeren en sluit het dialoogvenster.
Open nu de attributentabel van de uitvoerlaag. Het veld cost bevat de reistijd tussen de twee punten (als fractie van uren):
6.3.4. Follow Along: Gevorderde opties
Laten we nog wat meer opties verkennen van de gereedschappen voor Netwerkanalyse. In de vorige oefening berekenden we de snelste route tussen twee punten. Zoals u zich kunt voorstellen is de tijd afhankelijk van de snelheid van reizen.
We zullen dezelfde lagen en begin- en eindpunten gebruiken als in de vorige oefeningen.
Open het algoritme Kortste pad (punt naar punt)
Vul Invoerlaag, Beginpunt (x, y) en Eindpunt (x, y) in zoals we eerder deden
Kies
Snelste
als het Te berekenen type padOpen het menu Gevorderde parameters
Wijzig de Standaard snelheid (km/u) van de standaardwaarde
50
naar4
Klik op Uitvoeren
Sluit, als het algoritme is voltooid, het dialoogvenster en open de attributentabel van de uitvoerlaag.
Het veld cost bevat de waarde overeenkomstig de parameter voor de snelheid die u hebt gekozen. We kunnen het veld cost converteren van uren met fracties naar de meer leesbare waarde minuten.
Open Veldberekening door te klikken op het pictogram en voeg het nieuwe veld minuten toe door het veld cost te vermenigvuldigen met 60:
Dat is alles! Nu weet u hoeveel minuten u nodig hebt om van het ene punt bij het andere te komen.
6.3.5. Kortste pad met snelheidsbeperking
Het gereedschap Netwerkanalyse heeft nog andere interessante opties. Als we kijken naar de volgende kaart:
we zouden de snelste route willen weten, rekening houdende met de snelheidsbeperkingen voor elke weg (de labels geven de maximumsnelheid in km/u weer). Het kortste pad zonder rekening te houden met de snelheidsbeperkingen zou natuurlijk het paarse pad zijn. Maar op die weg is de maximumsnelheid 20 km/u, terwijl u op de groene weg 100 km/u mag!
Zoals we in de eerste oefening deden zullen we
gebruiken en zullen we handmatig de begin- en eindpunten kiezen.Open het algoritme
Selecteer network_lines voor de parameter Vectorlaag die netwerk weergeeft
Kies
Snelste
als het Te berekenen type padKlik op de knop … naast Startpunt en kies het beginpunt.
Doe hetzelfde voor Eindpunt
Open het menu Gevorderde parameters
Kies het veld speed als de parameter Snelheidsveld. Met deze optie zal het algoritme rekening houden met de snelheidsbeperkingen op elke weg.
Klik op de knop Uitvoeren
Schakel de laag
network_lines
uit, om het resultaat beter te kunnen zien
Zoals u kunt zien komt de snelste route niet overeen met de kortste.
6.3.6. Servicegebied (vanuit laag)
Het algortime
kan antwoord geven op de vraag: gegeven een puntenlaag, wat zijn alle te bereiken gebieden binnen een opgegeven afstand of tijdwaarde?Notitie
Het algoritme
is hetzelfde algoritme, maar stelt u in staat handmatig het punt op de kaart te kiezen.Gegeven een afstand van 250
meter willen we weten hoever we vanuit elk punt het netwerk op kunnen gaan op de laag network_points.
Deselecteer alle lagen, behalve
network_points
Open het algoritme
Selecteer
network_lines
voor Vectorlaag die netwerk weergeeftKies
network_points
voor Vectorlaag met startpuntenKies
Kortste
in Te berekenen type padVoer
250
in voor de parameter ReiskostenKlik op Uitvoeren en sluit het dialoogvenster
De uitvoerlaag geeft het maximale pad aan dat u kunt bereiken vanuit de puntobjecten, gegeven een afstand van 250 meter:
Leuk hè?
6.3.7. In Conclusion
Nu weet u hoe u het algoritme Netwerkanalyse kunt gebruiken om problemen met kortste en snelste paden op te lossen.
We zijn nu klaar om enkele ruimtelijke statistieken uit te voeren op gegevens van vectorlagen. Daar gaan we!
6.3.8. What’s Next?
Vervolgens zult u zien hoe u algoritmes voor ruimtelijke statistieken uitvoert op vector gegevenssets.