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

U vindt alle algoritmen 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:

  1. network_points

  2. network_lines

Zoals u kunt zien heeft de laag network_lines al een stijl die u helpt het netwerk van wegen te begriojpen.

../../../_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:

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

In de volgende afbeelding kozen we deze twee punten als begin- en eindpunt voor de analyse:

../../../_images/start_end_point.png

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

  2. Selecteer network_lines voor Vectorlaag die netwerk weergeeft

  3. Laat Kortste staan in de parameter Te berekenen type pad

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

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

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

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

Nu u weet hoe het gereedschap te gebruiken, wijzig de punten en test nog enkele andere locaties.

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

Controleer uw resultaten

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

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

7.3.5. hard Kortste kaart 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 (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.

  5. Doe hetzelfde, maar kies de locatie die is getagd met End point voor Eindpunt (x, y)

  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 waarden voor de snelheid 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.

7.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 dan 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è?

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.