eyecatch

あなたの町に信号はいくつある?QGISで北海道の市町村ごとの信号数を数えてみた

投稿日: 最終更新日:
この記事はQGIS 3.40を使用しています。

この記事でわかること


  • OpenStreetMapの信号データの読み込み方法
  • データを利用して信号の数を集計する方法

こんな人におすすめ


  • QGISでOpenStreetMapデータを読み込んでみたい方
  • QGISを使って市町村ごとに地物を集計したい方

はじめに

日常的に目にする信号機ですが、自分の住む市町村にどれくらいの数が設置されているか、気にしたことはあるでしょうか。多くの方にとって信号は「あって当たり前」の存在で、その数を意識することはほとんどないかもしれません。

地方へ足を運ぶと、都市部とは違って信号の設置数がぐっと少なくなり、1時間ほど運転しても一度も赤信号で止まらなかった、そんな経験をしたことがある方もいるのではないでしょうか。

本記事では、QGISとOpenStreetMapのデータを用いて、北海道内の市町村別に信号機の数を実際に集計してみたいと思います。

データの取得

信号データの取得

まず、信号のポイントデータを取得します。信号のポイントデータはオープンデータとして公開されていないため、今回はOpenStreetMapを使用します。

OpenStreetMapのデータをダウンロードできるツールである「Overpass Turbo」を使用して北海道内の信号データを取得します。以下のコードをエディタにコピペして、実行します。このコードは、「北海道」という名前のエリアを定義し、そのエリア内にある'highway'='traffic_signals'というタグを持つすべてのノード(信号機)を検索しています。

[out:json][timeout:25];
area["name:ja"="北海道"]->.a;
node(area.a)["highway"="traffic_signals"];
out body;
>;
out skel qt;

少し経つとマップ上に結果が表示されます。適切に取得できたら、画面上部の[エクスポート]からGeoJSON形式でダウンロードを行います。

Overpass Turboを使って信号のデータをダウンロード
Overpass Turboを使って信号のデータをダウンロード

OpenStreetMapについて詳しく知りたい方はこちらの記事をご覧ください。

行政区域データの取得

続いて、今回は市町村ごとに信号の数を集計したいので、国土数値情報から行政区域のデータをダウンロードします。今回は、令和7年度の北海道のデータをダウンロードしました。

行政区域データの取得
行政区域データの取得

信号の数の集計

信号データの読み込み

データの準備ができたら、ダウンロードした信号データのGeoJSONをQGISにドラッグ&ドロップで追加します。

信号データの読み込み
信号データの読み込み

属性テーブルを確認すると、地物数は9,718個となっています。これは、OpenStreetMapに登録されている北海道内の信号の数が9,718個であることを示しています。

信号データの属性テーブル
信号データの属性テーブル

なお、北海道警察の「北海道警察交通安全施設個別施設計画」によると、北海道内の信号数は約13,000とされています。そのため、OpenStreetMapのデータには約3,000の信号がまだ登録されていないことがわかります。

北海道の信号機の数(出展:北海道警察交通安全施設個別施設計画)
北海道の信号機の数(出展:北海道警察交通安全施設個別施設計画)
OpenStreetMapの地図データは、世界中のボランティアによって日々更新されています。そのため、地域によって情報の詳しさや精度にばらつきがあります。

行政区域データの読み込み・前処理

次に国土数値情報からダウンロードした行政区域データをQGISに追加します。

行政区域データの読み込み
行政区域データの読み込み

属性テーブルを確認すると、同じ市町村でも区ごとや飛地ごとに別のポリゴンになっており、地物数が9555となっていることがわかります。

行政区域データの属性テーブル
行政区域データの属性テーブル

今回は市町村ごとに信号の数を集計したいため、このデータを市町村名を示す属性「N03_004」を基準としてディゾルブしておきます。ディゾルブの具体的な手順については、下記の記事で詳しく解説していますので、ご覧ください。

ディゾルブ後の地物数は184となりました。

ディゾルブ後の属性テーブル
ディゾルブ後の属性テーブル

市町村ごとに信号の数の集計

データの準備ができたので、市町村ごとに信号の数を集計してみます。プロセシングツールより、[ポリゴン内の点の数]を起動します。

ポリゴン内の点の数を起動
ポリゴン内の点の数を起動

「ポリゴン内の点の数」が起動したら、以下のように入力します。

  1. ポリゴン:上記でディゾルブした行政区域レイヤ
  2. ポイント:信号レイヤ
  3. [実行]ボタンをクリック
ポリゴン内の点の数の画面
ポリゴン内の点の数の画面

処理が完了すると、「カウント(Count)」という名称で行政区域レイヤが出力されます。

結果の確認

では、結果を確認してみます。出力レイヤの属性テーブルを開いてみましょう。一番右側の「NUMPOINTS」列に集計結果の属性が追加されています。

属性テーブルを確認すると、北海道で最も信号が多い市町村は札幌市で3,179個でした。次いで旭川市が1,042個、函館市が642個となっています。当然ではありますが、人口が多い市町村ほど信号が多い傾向が見られます。

集計結果の属性テーブル
集計結果の属性テーブル

次に、北海道の市のみに絞って確認してみます。フィルタの使い方は以下の記事をご覧ください。

最も信号が少ないのは歌志内市で3個、次いで夕張市の7個という結果でした。OpenStreetMapのデータを使用しているため、この数が実態を正確に反映しているかは確認が必要ですが、市レベルで信号がこれほど少ないのは驚きの結果でした。

市のみの集計結果
市のみの集計結果

最後に、今回集計した結果をもとにコロプレスマップを作成してみました。

北海道信号マップ
北海道信号マップ

おわりに

この記事では、OpenStreetMapとQGISを活用して北海道の市町村別に信号の数を集計する方法を紹介しました。今回例のようなオープンデータを使った身近なテーマを題材とした分析は、誰でも気軽に始められる点が魅力です。今回の手法は信号だけでなく、他の地物の分析にも応用できるので、ぜひ様々なデータで試してみてください。

データ出典

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置から、価値へ。」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事