空港まで車で何分? QGISで所要時間を計算して可視化してみよう
この記事でわかること
- OSMデータの読み込み方法
- 道路データを利用して所要時間を計算する手順
こんな人におすすめ
- QGISでOSMデータを読み込んでみたい方
- QGISを使って道路データから所要時間を計算したい方
はじめに
筆者は北海道に住んでいるのですが、ふと「北海道で空港から最も遠い場所はどこだろう?」という疑問が浮かびました。
道北の稚内空港と旭川空港の中間地点か、それとも道南の渡島半島の中央部あたりなのか。
この記事では、QGISで道路データから所要時間を計算し、可視化する方法を解説します。
道路データをQGISに読み込む
OSMデータをQGISに読み込む方法
所要時間を計算するには道路データが必要です。今回はOpenStreetMap(以下OSM)の道路データを使用します。
OSMの詳細は以下の記事をご覧ください。
OSMデータの読み込みには、プラグイン「QuickOSM」を使用します。インストール方法と使い方については、以下の記事をご覧ください。
「Quick query」タブを選択し、読み込む領域を中央左の[In]プルダウンメニューから選びます。今回は[Canvas Extent](QGISのキャンバス領域)を選択しました。
以下の項目を設定します:
- Key:OSMの道路タグである[highway]
- 左のプルダウン:[Or]
- Value:[motorway](高速道路)、[trunk](国道)、[primary](主要地方道)、[secondary](その他主要道)と、それぞれの[〇〇_link]を入力
設定後、[Run query]を押します。

読み込む地物が多すぎると処理がスキップされるため、キャンバス領域を狭くするか、縮尺を上げて調整してください。
数十秒待つと、道路データが読み込まれます。

【応用編】道路データを加工する
OSMデータにはmaxspeedタグに制限速度(最高時速)が記録されています。
ただし、データが入力されていない道路も多いため、その場合は道路種別から速度を推定して自動的に付与します。
各道路の時速は、motorway(高速道路)=90km/h、trunk(国道)=70km/h、primary(都道府県道)=60km/h、secondary(その他の道路)=50km/hとしました。
属性テーブルの[フィールド計算機]から新しいフィールド[speed]を作成し、以下を入力します。
CASE
WHEN "maxspeed" IS NOT NULL AND "maxspeed" != '' AND "maxspeed" > 0
THEN "maxspeed"
ELSE
CASE
WHEN "highway" = 'motorway' THEN 90
WHEN "highway" = 'motorway_link' THEN 60
WHEN "highway" = 'trunk' THEN 70
WHEN "highway" = 'trunk_link' THEN 50
WHEN "highway" = 'primary' THEN 60
WHEN "highway" = 'primary_link' THEN 40
WHEN "highway" = 'secondary' THEN 50
ELSE 30
END
ENDこれで、新しいフィールド[speed]が追加され、すべての道路データに速度が設定されます。
![OSMの道路データに新しいフィールド[speed]が追加された](https://images.microcms-assets.io/assets/6c4873527fd24450a0163b40e8e173f2/d3bdeb5c628449d9b795864e2f63ab51/usecase_airport-drive-time_03.png?w=1080&fm=webp)
空港からの所要時間を計算する
所要時間の計算には、プラグイン「QNEAT3」を使用します。
インストール後、プロセシングツールボックスから[QNEAT3 - Qgis Network Analysis toolbox]を選択し、[Iso-Areas]→[Iso-Areas as Pointcloud (from Point)]をダブルクリックします。

ダイアログが表示されたら、以下の項目を設定します:
- [Start Point]:計算開始点(地図をクリックして選択)
- [Size of Iso-Area]:到達範囲を秒単位で入力(1時間の場合は3600)
- [Optimization Criterion]:Fastest Path(time optimization)を選択
- [Speed field]:speed(前述の「道路データを加工する」を実施した場合のみ入力)
- [Default speed]:50
設定後、[実行]をクリックします。

今回は新千歳空港付近の道路を計算開始点としました。
プロセスが完了すると、新千歳空港を中心に道路上へポイントが表示されます。これが1時間以内に新千歳空港へ到達できる範囲です。

属性の「cost」フィールドで色分けすれば、時間に応じたグラデーション表示も可能です。

北海道で一番空港から遠い地点を探す
北海道の他の空港も同様に計算し、1つのレイヤに統合します。
プロセシングツールから[SQLを実行]を選択します。
統合したいデータソースを選択し、下記のコードを入力して実行すると、各地点の最小値を取得してマージできます。
(マージするレイヤ数に応じて「UNION ALL SELECT cost, geometry FROM input○」の行を増減させてください)
SELECT
MIN(cost) as min_cost,
geometry
FROM (
SELECT cost, geometry FROM input1
UNION ALL
SELECT cost, geometry FROM input2
UNION ALL
SELECT cost, geometry FROM input3
…マージするレイヤの数だけ増やす
)
GROUP BY geometryマージされたデータの[min_cost]を降順にソートし、最も数値が大きい地点を選択します。

北海道で空港から最も遠い地点は、島牧村 泊(泊川河鹿の湯付近)で、丘珠空港まで2時間28分(8879秒)となりました。

他にも空港から遠かった地点として、以下が挙げられます:
- 苫前町三渓(2時間21分)
- 羽幌町上羽幌(2時間19分)
- 新ひだか町、浦河町、様似町の山間部
これらは空港と空港の間に位置する行き止まりの山間部に多く見られました。
地図のスタイリング
色分け
サーモグラフィをイメージして、「空港から近い=暖色系」「離れるほど寒色系」という配色で、所要時間を30分ごとに色分けしました。

「近い=寒色系」という配色が一般的という意見もあるかもしれませんが、ヤフー(2015)が制作した到達時間マップのように、「近い=暖色系」とする例も多く見られます:
デザイン
空港のアイコンは、QGISのプリセットにあるSVGと円を組み合わせて作成しました。背景地図は国土数値情報データをもとに海岸線と市町村ラベルを表示させて完成です!

【おまけ】実情に即した計算をするには?
筆者が当初作成した地図は、OSMデータの制限速度や道路種別から推定した最高速度で計算していました。そのため、「都市部ではこんなに早く着けない」というコメントをXでいただきました。
そこで、国土交通省が公開している「平均旅行速度」のデータを利用することにしました。
「平均旅行速度」は、信号待ちや渋滞を含む実際の移動時間で計算されています。
北海道全域の朝夕旅行速度を見ると、一般国道(直轄)はDID(人口集中地区)では時速20キロ台ですが、市街部では40キロ台、平地部・山間部では50キロ台後半となっています。同じ道路でも地域によって大きな差があることがわかります。

これを参考に下記の表の値を設定し、道路データをDIDに重なる部分とそうでない部分に分類して平均旅行速度を付与しました。
道路種別 | DID(人口集中地区) | 非DID |
|---|---|---|
motorway(高速道路) | 時速60キロ | 時速80キロ |
trunk(国道) | 時速40キロ | 時速60キロ |
primary(主要地方道) | 時速30キロ | 時速50キロ |
secondary(その他主要道) | 時速20キロ | 時速45キロ |
下記画像は、従来の「制限速度(最高速度)」(左)と「平均旅行速度」(右)で計算した結果の比較です。特に都市部を経由する場合の到達範囲が狭くなり、より実情に近い結果になったと思われます。

これ以上の精度を求める場合は、実際のプローブデータや渋滞情報などを利用する必要があるかもしれません。
おわりに
最後に、「平均旅行速度」で計算したデータを使い、全国のマップも作成しました。
北海道以外では、群馬県北部、伊豆半島、高知県西部などに、2時間以上かかる水色〜青のエリアが広がっています。

このように、QGISを使えばOSMの道路データから所要時間を計算し、可視化することができました。
今回はQGISの標準機能のみで計算しましたが、より専門的な解析方法もあります。
興味のある方は、@geograさんの解説記事もぜひご覧ください!
データ出典
- 道路データ:©︎OpenStreetMap contributors
- 背景地図:地理院タイル、「国土数値情報(行政区域データ)」(国土交通省)


デザイン制作会社を経て、北海道札幌市の株式会社MIERUNEでグラフィックデザイナーとして携わる。X(旧Twitter)などのSNS上にて「地図とかデザインとか」の名前で地図や路線図などを中心とした作品を発表している。