6.3. Lesson: ネットワーク分析

Calculating the shortest distance between two points is a common GIS task. Tools for this can be found in the Processing Toolbox.

このレッスンの目的 ネットワーク分析 アルゴリズムを使うことを学びます。

6.3.1. basic Follow Along: ツールとデータ

すべてのネットワーク解析アルゴリズムは プロセシング - > ネットワーク分析 メニューにあります。利用可能なツールがたくさんあることがわかります:


Open the project exercise_data/network_analysis/network.qgz. It contains two layers:

  • network_points

  • network_lines

The network_lines layer has already a style that helps to understand the road network.



  • start and end points selected on the map

  • start point selected on the map and end points taken from a point layer

  • start points taken from a point layer and end point selected on the map


6.3.2. basic 最短経路を計算する(点から点へ)

ネットワーク解析 - >最短経路(2地点間) を使うと、地図上で手動で選択した2点間の最短距離を計算できます。

In this example we will calculate the shortest (not fastest) path between two points.

  1. Open the Shortest path (point to point) algorithm

  2. Select network_lines for Vector layer representing network

  3. Use Shortest for Path type to calculate

    Use these two points as starting and ending points for the analysis:

  4. Click on the ... button next to Start point (x, y) and choose the location tagged with Starting Point in the picture. The coordinates of the clicked point are added.

  5. Do the same thing, but choosing the location tagged with Ending point for End point (x, y)

  6. 実行 ボタンをクリックします:

  7. A new line layer is created representing the shortest path between the chosen points. Uncheck the network_lines layer to see the result better:

  8. Open the attribute table of the output layer. It contains three fields, representing the coordinates of the start and end points and the cost.

    最短 を:guilabel:計算するパスの種類 として選択したので、 コスト は2つの位置間の 距離 をレイヤ単位で表します。

    この場合、選択された点の間の 最短 の距離は約1000メートルです。


Now that you know how to use the tool, feel free to test other locations.

6.3.3. moderate Try Yourself 最速径路




6.3.4. moderate Follow Along: Advanced options

Let us explore some more options of the Network Analysis tools. In the previous exercise we calculated the fastest route between two points. As you can imagine, the time depends on the travel speed.

We will use the same layers and starting and ending points of the previous exercises.

  1. Open the Shortest path (point to point) algorithm

  2. Fill the Input layer, Start point (x, y) and End point (x, y) as we did before

  3. Choose Fastest as the Path type to calculate

  4. Open the Advanced parameter menu

  5. Change the Default speed (km/h) from the default 50 value to 4

  6. Click on Run

  7. アルゴリズムが終了したら、ダイアログを閉じて、出力レイヤの属性テーブルを開きます。

    The cost field contains the value according to the speed parameter you have chosen. We can convert the cost field from hours with fractions to the more readable minutes values.

  8. calculateField アイコンをクリックしてフィールド計算機を開き、 コスト フィールドに60を掛けて新しいフィールド を追加します。



6.3.5. hard Shortest path with speed limit



各道路の制限速度を考慮した 最速 ルートを知りたい(ラベルは 制限速度 をkm / hで表しています)。制限速度を考慮しない最短経路はもちろん紫色の経路になります。しかし、その道路では制限速度20 km / hですが、緑色の道路では100 km / h出せます!

最初の練習でやったように、ネットワーク解析 - >最短経路(ポイント間) を使用して、手動で始点と終点を選びます。

  1. Open the Network analysis ▶ Shortest path (point to point) algorithm

  2. Select network_lines for the Vector layer representing network parameter

  3. Choose Fastest as the Path type to calculate

  4. Click on the ... button next to the Start point (x, y) and choose the start point.

  5. Do the same thing for End point (x, y)

  6. Open the Advanced parameters menu

  7. Choose the speed field as the Speed Field parameter. With this option the algorithm will take into account the speed limits for each road.

  8. Click on the Run button

  9. Turn off the network_lines layer to better see the result



6.3.6. moderate サービスエリア(レイヤーから)

ネットワーク分析 - > Service area(レイヤから) アルゴリズムで質問に答えることができます:ポイントレイヤが与えられ、距離または時間の値が与えられると到達可能なすべてのエリアはどうなりますか?


The Network Analysis ▶ Service area (from point) is the same algorithm, but it allows you to manually choose the point on the map.

``250``メートルの距離が与えられたとして、 network_points レイヤーの各ポイントからどれだけネットワーク上を移動できるか知りたいのです。

  1. Uncheck all the layers except network_points

  2. Open the Network Analysis ▶ Service area (from layer) algorithm

  3. Choose network_lines for Vector layer representing network

  4. Choose network_points for Vector layer with start points

  5. Choose Shortest in Path type to calculate

  6. Enter 250 for the Travel cost parameter

  7. Click on Run and close the dialog




Cool isn't it?

6.3.7. In Conclusion

Now you know how to use Network analysis algorithm to solve shortest and fastest path problems.


6.3.8. What's Next?