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. basic Follow Along: De gereedschappen en de gegevens

U vindt alle algoritmes voor netwerkanalyses in het menu Processing ► Netwerkanalyse. U kunt zien dat er vele gereedschappen beschikbaar zijn:

../../../_images/select_network_algorithms.png

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.

../../../_images/network_map.png

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. basic Kortste pad (punt naar punt) berekenen

Het menu Netwerkanalyse ► Kortste pad (punt naar punt) 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.

  1. Open het algoritme Kortste pad (punt naar punt)

  2. Selecteer network_lines voor Vectorlaag die netwerk weergeeft

  3. Kies Kortste in Te berekenen type pad

    Gebruik deze twee punten als begin- en eindpunt voor de analyse:

    ../../../_images/start_end_point.png
  4. 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.

  5. Doe hetzelfde, maar kies nu de locatie die is getagd met Ending point voor Eindpunt

  6. Klik op de knop Uitvoeren:

    ../../../_images/shortest_point.png
  7. 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:

    ../../../_images/shortest_point_result.png
  8. 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:

    ../../../_images/shortest_point_attributes.png

Nu u weet hoe het gereedschap te gebruiken, test nog enkele andere locaties.

6.3.3. moderate 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?

6.3.4. moderate 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.

  1. Open het algoritme Kortste pad (punt naar punt)

  2. Vul Invoerlaag, Beginpunt (x, y) en Eindpunt (x, y) in zoals we eerder deden

  3. Kies Snelste als het Te berekenen type pad

  4. Open het menu Gevorderde parameters

  5. Wijzig de Standaard snelheid (km/u) van de standaardwaarde 50 naar 4

    ../../../_images/shortest_path_advanced.png
  6. Klik op Uitvoeren

  7. 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.

  8. Open Veldberekening door te klikken op het pictogram calculateField en voeg het nieuwe veld minuten toe door het veld cost te vermenigvuldigen met 60:

    ../../../_images/shortest_path_conversion.png

Dat is alles! Nu weet u hoeveel minuten u nodig hebt om van het ene punt bij het andere te komen.

6.3.5. hard Kortste pad met snelheidsbeperking

Het gereedschap Netwerkanalyse heeft nog andere interessante opties. Als we kijken naar de volgende kaart:

../../../_images/speed_limit.png

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 Netwerkanalyse ► Kortste pad (punt naar punt) gebruiken en zullen we handmatig de begin- en eindpunten kiezen.

  1. Open het algoritme Netwerkanalyse ► Kortste pad (punt naar punt)

  2. Selecteer network_lines voor de parameter Vectorlaag die netwerk weergeeft

  3. Kies Snelste als het Te berekenen type pad

  4. Klik op de knop naast Startpunt en kies het beginpunt.

  5. Doe hetzelfde voor Eindpunt

  6. Open het menu Gevorderde parameters

  7. Kies het veld speed als de parameter Snelheidsveld. Met deze optie zal het algoritme rekening houden met de snelheidsbeperkingen op elke weg.

    ../../../_images/speed_limit_parameters.png
  8. Klik op de knop Uitvoeren

  9. Schakel de laag network_lines uit, om het resultaat beter te kunnen zien

    ../../../_images/speed_limit_result.png

Zoals u kunt zien komt de snelste route niet overeen met de kortste.

6.3.6. moderate Servicegebied (vanuit laag)

Het algortime Netwerkanalyse ► Servicegebied (vanuit laag) kan antwoord geven op de vraag: gegeven een puntenlaag, wat zijn alle te bereiken gebieden binnen een opgegeven afstand of tijdwaarde?

Notitie

Het algoritme Netwerkanalyse ► Servicegebied (vanaf punt) 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.

  1. Deselecteer alle lagen, behalve network_points

  2. Open het algoritme Netwerkanalyse ► Servicegebied (vanuit laag)

  3. Selecteer network_lines voor Vectorlaag die netwerk weergeeft

  4. Kies network_points voor Vectorlaag met startpunten

  5. Kies Kortste in Te berekenen type pad

  6. Voer 250 in voor de parameter Reiskosten

  7. Klik op Uitvoeren en sluit het dialoogvenster

    ../../../_images/service_area.png

    De uitvoerlaag geeft het maximale pad aan dat u kunt bereiken vanuit de puntobjecten, gegeven een afstand van 250 meter:

    ../../../_images/service_area_result.png

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.