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

2点間の最短距離の計算は、よく引用されるGISの用途です。このためのツールは プロセシング ツールボックスにあります。

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

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

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

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

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

  1. network_points

  2. network_lines

ご覧のとおり、 network_lines レイヤーは道路ネットワークを理解するのに役立つスタイルを既に持っています。

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

最短経路ツールは、ネットワークの2点間の最短経路または最短経路を計算する方法を提供します。

  • start point and end point 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

では始めましょう。

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

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

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

次の図では、これら2つの点を分析の開始点と終了点として選択しています:

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

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

  2. Select network_lines for Vector layer representing network

  3. Let Shortest in the Path type to calculate parameter

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

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

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

    ../../../_images/shortest_point.png

  7. 選択した点間の最短経路を表す新しい線レイヤが作成されます。 network_lines レイヤーのチェックを外して結果を良くしてください:

    ../../../_images/shortest_point_result.png

  8. 出力レイヤの属性テーブルを開きましょう。始点と終点の座標と コスト を表す3つのフィールドがあります。

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

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

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

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

7.3.3. moderate Try Yourself 最速径路

前の演習と同じデータを使用して、2点間の最速経路を計算してみます。

始点から終点までどのくらいの時間が必要ですか?

結果を確認

7.3.4. moderate Follow Along: Advanced options

ネットワーク分析ツールの他のオプションについて調べてみましょう。 前回の練習 では、2点間の 最速 経路を計算しました。想像できるように、時間は旅行 速度 に依存します。

前の練習問題と同じレイヤと同じ開始点と終了点を使用します。

  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

    ../../../_images/shortest_path_advanced.png

  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を掛けて新しいフィールド を追加します。

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

おしまい!これで、ある地点から別の地点までの所要時間がわかります。

7.3.5. hard 制限速度付最短経路図

ネットワーク解析ツールボックスには他にも興味深いオプションがあります。次の地図を見てください:

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

各道路の制限速度を考慮した 最速 ルートを知りたい(ラベルは 制限速度 を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 location tagged with Start Point in the picture. The menu is filled with the coordinates of the clicked point.

  5. Do the same thing but choosing the location tagged with End point 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 values for each road.

    ../../../_images/speed_limit_parameters.png

  8. Click on the Run button

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

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

ご覧のとおり、最速ルートは最短ルートに対応していません。

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

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

注釈

ネットワーク分析 - > Service area(ポイントから) も同じアルゴリズムですが、手動で地図上の地点を選択できます。

``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 in the Travel cost parameter

  7. Click on Run and then close the dialog

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

    出力レイヤは、250メートルの距離を与えられてポイント地物から到達できる最大径路を表します。

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

Cool isn't it?

7.3.7. In Conclusion

これで、 ネットワーク分析 アルゴリズムを使用して最短経路問題を解決する方法がわかりました。

これで、ベクタレイヤデータに対して空間統計を実行する準備が整いました。さあ行きましょう!

7.3.8. What's Next?

次は、ベクターデータセットに空間統計アルゴリズムを実行する方法について説明します。