7.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 algoritmen voor Netwerk-analyses te gebruiken.
7.3.1. Follow Along: De gereedschappen en de gegevens¶
U vindt alle algoritmen 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
Zoals u kunt zien heeft de laag network_lines al een stijl die u helpt het netwerk van wegen te begriojpen.
Het gereedschap Kortste pad verschaft manieren om ofwel het kortste of het snelste pad te berekenen tussen twee opgegeven punten van een netwerk:
beginpunt en eindpunt 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.
7.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.
In de volgende afbeelding kozen we deze twee punten als begin- en eindpunt voor de analyse:
Open het algoritme Kortste pad (punt naar punt)
Selecteer network_lines voor Vectorlaag die netwerk weergeeft
Laat
Kortste
staan in de parameter Te berekenen type padKlik op de knop … naast Startpunt (x, y) 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 Eindpunt (x, y)Klik 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:
Laten we de attributentabel van de uitvoerlaag openen. 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, wijzig de punten en test nog enkele andere locaties.
7.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?
7.3.4. Follow Along: Gevorderde opties¶
Laten we nog enkele andere opties van het gereedschap Netwerkanalyse verkennen. In de vorige oefening berekenden we de snelste route tussen twee punten. Zoals u zich kunt voorstellen is de tijd afhankelijk van de reis**snelheid**.
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 standaard waarde
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.
7.3.5. Kortste kaart 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 (x, y) en kies de locatie die is getagd met
Start Point
in de afbeelding. Het veld wordt gevuld met de coördinaten van het aangeklikte punt.Doe hetzelfde, maar kies de locatie die is getagd met
End point
voor Eindpunt (x, y)Open het menu Gevorderde parameters
Kies het veld
speed
als de parameter Snelheidsveld. Met deze optie zal het algoritme rekening houden met de waarden voor de snelheid 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.
7.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 weergeeft
Kies network_points voor Vectorlaag met startpunten
Kies
Kortste
in Te berekenen type padVoer
250
in voor de parameter ReiskostenKlik op Uitvoeren en sluit dan het dialoogvenster
De uitvoerlaag geeft het maximale pad aan dat u kunt bereiken vanuit de puntobjecten, gegeven een afstand van 250 meter:
Leuk hè?
7.3.7. In Conclusion¶
Nu weet u hoe u het algoritme Netwerkanalyse kunt gebruiken om problemen met kortste-snelste paden op te lossen.
We zijn nu klaar om enkele ruimtelijke statistieken uit te voeren op gegevens van vectorlagen. Daar gaan we!
7.3.8. What’s Next?¶
Vervolgens zult u zien hoe u algoritmen voor ruimtelijke statistieken uitvoert op vector gegevenssets.