3
20
2026
QGISを使ってGPSのトラックログを表示してみる
GIS(地理情報システム)を使って国土地理院の地図上にGPSのトラックを重ねてみる
一般の人たちが地図上にGPSのトラックログを表示させようとする場合、PC上で動作するGIS(Geographic Information System :地理情報システム)ツールを使うことになる.GISツールとして世間で使われている代表的なものとして、ArcGIS というアプリケーションサービスがあるが、これは完全に業務用のツールでその筋の専門家でなければ使いこなすのは難しい上に、個人の趣味レベルで導入することができるような安価な値段ではない.
貧乏組織や個人が趣味レベルでGISを利用する場合、QGISというオープンソースベースのGISソフトウェアを導入するのが一番現実的な方法だ.勿論、オープンソースベースのアプリケーションソフトウェアなので、無償でダウンロードして自分のコンピュータ上で動かすことが可能だ.
このサイトは一般向けのサイトなので、技術的な内容については深堀りしないが、なるべく手順に従って行くだけで国土地理院の地形図をGISシステム上に表示してGPSのトラックログ(軌跡)を表示できるように説明して行くことにする.
QGISのインストール
上記のQGISのホームページにある ”Download”リンクをクリックすると、寄付してねのメッセージページが表示されるので、QGISプロジェクトに賛同して寄付をしようという場合は、寄付をしてあげて下さい.とりあえず試してみて使い勝手が良いので今後も使い続けたいという場合は、寄付は後日に回すことにして、”Skip it and go to download” ボタンで先に進める.
お金持ちの皆さんは是非とも寄付しましょう
自分のPC環境に合わせたバージョンのダウンロード候補が幾つか表示されるので、利用したいバージョンを選択してダウンロードする.このとき表示されるバージョンは、現時点での最新版(Latest Release)と、長期サポート版(Long Term Release)の2つのどちらかを選べば良い.尚、”Nightly Build”版は開発途中のバージョンなので、一般の人が利用するような代物ではない.
Mac版のインストラー選択画面
Windows版はOnline Installer版かStandalone(完全パッケージ版)のどちらかを選択する
一般的には業務で使用する場合は長期サポート版を、個人が趣味で使う程度であれば最新(安定)版を選んで置けばよいだろう.現時点(3/19/2026)での最新版は、2週間程前にメジャーアップデートが行われたV4.0版なのだが、リリースされたばかりでまだバグが多いと思われるが、とりあえず今回はこのV4.0版を使って説明して行くことにする.
Windows版に関しては、通常版のインストーラー “Offline (Standalone) installers” の他に、”Online (OSGeo4W) installer” のインストーラーを選択することができる.通常版のパッケージはQGISの全てのコンポーネントが含まれた状態で配布されている完全一体型のパッケージで、バージョンアップの度にインストールし直すことになる.
一方、”Online (OSGeo4W) installer” 版は、QGISに習熟した人向けのインストーラーで、オンラインで関連する様々なコンポーネントやツールを一纏めにインストールすることやバージョンの異なるQGISの併用が可能で、変更のあったコンポーネントをその都度オンラインでアップデートしていく運用形態となっている.QGISに習熟しているのであればこちらのインストーラーバージョンを利用することが推奨されている.初心者は単純な通常版のインストーラーを使ってQGISを利用する方が良いだろう.
Linux版の場合は使用しているLinuxディストリビューションを選択することになるが、パッケージ形式のダウンロードではなく、インストール方法を説明するドキュメントが表示されるだけなので、コマンドラインを駆使してQGISをインストールする必要があるので、Linuxに不慣れな人にはインストールは難しいだろう.
QGISで国土地理院のベクタータイルを読み込んで表示してみる
QGISのインストールが完了したら、実際にQGISを起動してみよう.画面の表示例はMac OSで撮ったものだが、QGISで使用しているGUIで用いているQtフレームワークは、Windows/Mac/Linux間の見た目の違いは少ないので、どのOSでも殆ど同じだと思って良い.
QGIS V4.0のオープニング画面
QGISが起動したら、国土地理院のベクタータイルを読み込むために、ベクタータイル用の新規のレイヤーを作成する.新規のレイヤーを作成する方法は幾つかあるが、今回はメニューを用いて作成してみる.
QGISのメインメニューの左から5番目の “Layer” を開き、上から3番目の項目 “Add Layers…” を開く.18個ほどあるメニュー項目の下部の “Add Vector Tile Layer…” を選択すると次のようなベクタータイルの読み込むための設定を行う.
今回は国土地理院のサーバから配信されるベクタータイルを用いるので、”Source Type” は “Service” を選択する.”Connections” は最初は何も登録されていないの、”New” プルダウンメニューから、”New Generic Connection…” を呼び出す.
メインメニューから “Layers” > “Add Layer…” > “Add Vector Tile Layer…” と辿る
国土地理院のベクタータイルを登録するための設定を追加する
Vector Tile Connection ダイアログで国土地理院のベクタータイルの設定を追加する
国土地理院のベクタータイル地図を表示するためのスタイル定義ファイルについて
ベクタータイルレイヤーに国土地理院のベクタータイルを読み込むための設定を行って行くことになるが、その前に国土地理院のベクタータイル地図のスタイル定義ファイルを手元のPC上にダウンロードしておく必要がある.スタイル定義ファイルはベクタータイルに記録されている地物データに対して、それらをどのようなスタイル(見映え)で表示するのかを指定している大変重要な役割を担っており、このスタイル定義ファイルを如何に上手に作成するかが、地図の出来不出来を左右する要となるものだ.
国土地理院では現在、『国土地理院ベクトルタイル提供実験』を行っており、今回はこの実験で提供されているベクタータイルデータと地図の見映えを地理院地図風に近づける目的で作成された4種類のスタイル定義ファイルをユーザに提供している.
国土地理院のベクタータイル提供実験で提供されているスタイルのサンプル
[ Mapbox GL で読み込み可能なスタイル形式 ] (GitHubリポジトリ)
https://github.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/blob/master/std.json
https://github.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/blob/master/std_vertical.json (注釈の一 https://github.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/blob/master/pale.json
部が縦表記されている)
https://github.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/blob/master/blank.json
※上記のURLはGitHubのリポジトリへのリンクなので、実際のスタイル定義ファイルが置かれている場所へのURLは、それぞれ
https://raw.githubusercontent.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/refs/heads/master/std.json
https://raw.githubusercontent.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/refs/heads/master/std_vertical.json
https://raw.githubusercontent.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/refs/heads/master/pale.json
https://raw.githubusercontent.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/refs/heads/master/blank.json
となる.
Vector Tile Connection ダイアログで設定する項目として、下記の項目を指定する必要がある.
”Name” : 任意の名前を付ける
”Style URL” : スタイル定義ファイルの場所をURL形式で指定する
”Source URL” : ベクタータイルのファイルの場所をURL形式で指定する
”Min. Zoom Level” : ベクタータイルを表示する最小のズームレベル
”Max. Zoom Level” : ベクタータイルを表示する最大のズームレベル
”Authentication” (今回の国土地理院のデータを利用する場合は認証は必要ない)
“Style URL” には、スタイル定義ファイルのURLを記載することになるが、とりあえず今回は上記のGitHub上に用意されたスタイルファイルを指定して置くことにする.(本番では自分の手元のPC上に置いたスタイル定義ファイルを用いる)
“pale.json”を利用する場合は、
https://raw.githubusercontent.com/gsi-cyberjapan/gsivectortile-mapbox-gl-js/refs/heads/master/pale.json
を記載する.
“Source URL” には、国土地理院のベクタータイル提供実験のタイル配信サーバのURLを記載する.URLには、
https://cyberjapandata.gsi.go.jp/xyz/experimental_bvmap/{z}/{x}/{y}.pbf
をそのまま記載する.
“Min. Zoom Level”と”Max. Zoom Level”の値は、今回のベクタータイル提供実験の場合、min = 4, max = 17 を設定する.
国土地理院のベクタータイル提供実験のURLを設定する
国土地理院のベクタータイルを指定したスタイルで表示してみる
国土地理院のベクタータイルレイヤーの設定が完了すると、QGIS画面の左側にある “Browser” ペーンの”Vector Tiles”の項目の下に、先程設定した “GSI Vector Tile – Pale” が追加されちるので、この項目をダブルクリックすると、”Browser” ペーンの下にある、”Layers” ペーンに”GSI Vector Tile – Pale”が追加されると同時にQGISの地図表示領域に日本列島の形をした影のような小さな塊が表示されていることだろう.
画面上部には、黄色い帯状のエラーメッセージが表示されていることだろう.このエラーメッセージはQGISが読み込んだ国土地理院のスタイル定義ファイルをQGIS独自のスタイル定義に変換する際に部分的にエラーが発生したという内容のものだ.
このエラーの内容については後ほど説明することにして、とりあえずクローズ(”X”アイコンで閉じる)して先へ進めることにする.
日本列島らしき影の近辺でマウスを1回左クリックすると、クリックした部分が地図表示画面の中央付近に移動するので、マウスのスクロールホイールを使ってズームアップ・ズームダウンしてみる.ズームアップして地図を拡大していくとだんだん地図らしくなってくる.
スクロールホイールの操作によるズーム操作は結構難しいので、QGIS画面の下部にある “Scale”プルダウンメニューを使って、固定縮尺モードで一気に指定した縮尺で表示させることも可能だ.”Scale”プルダウンメニューで縮尺を 1/25,000 に切り替えると、見慣れた上の地形図に似た感じの地図が表示されるので、一度試してみて欲しい.
日本列島らしき怪しい影が画面上に小さく表示されている
ズームアップして行くとだんだん地図らしくなってきた
Scaleプルダウンで 1/25,000 に設定すると見慣れた紙の地形図風に表示される
スタイル定義ファイル読込み時のエラーについて
国土地理院が提供している地理院地図のスタイルに近づけたスタイル定義ファイルを読み込んだ際に、QGISはスタイルの変換に失敗した旨のエラーが表示されていたが、この状態でも地図は表示されているので実用上はあまり問題なさそうだ.
このエラーを解決するには、スタイル定義ファイルの修正とsprite(複数のアイコンイメージを集約して一つのイメージファイルで複数のアイコンを管理する方法)ファイルの修正並びに指定されたフォントのPCへのインストールなどが必要になり、それなりのITスキルが必要なので、このブログでは詳しい説明は省くことにする.
この問題の解決方法については、私の技術系のブログ “y2blog” の記事『QGIS上で国土地理院のベクタータイルのスタイルを変更してみる』で解説しているので、興味のある人はそちらを参照いただきたい.
GPSのトラックログを地図上に表示してみる
アウトドア用途の地図としては右に出るものがないと言われている国土地理院の地形図上にGPSのトラックログを重ねたいと思っている人は少なくないだろう.このようなことを実現するには、自分でWEBマッププログラミングを行うか、ヤマレコやYAMAPのような会員制のサイトを利用してGPSのログをトレースするしかない.
有料の会員になるとプライベートクラウドサービス的な使い方をできるようなサービスも有るのかもしれないが、基本的には自分の行動履歴を外部に晒すことになるので、そんな大げさなことをせずにプライベートな行動ログを残しておきたいということも多い筈だ.
この様なプライベートな用途で用いる場合は、QGISのようなPC上のGISツール上でGPSログデータを地図に重ね合わせるのが最善の策だろう.幸いなことに、QGISには簡単にGPSログデータを取り込んで、地図に重ねわせる機能が備わっている.
国土地理院のベクタータイルを表示するレイヤーを作成してあるが、QGISではこのレイヤーとは別にGPSデータを重ねるためのレイヤーを追加することが可能だ.
GPSレイヤーを追加するには、ベクタータイルレイヤーを追加した場合と同様に、メインメニューから “Layer” > “Add Layer” > “Add GPS Layer…” と辿って行くと、”Data Source Manager | GPS” ダイアログが現れる.
GPSトラックデータ用のData Source Layerを追加する(GPS)
PC上のGPXデータファイルをアタッチする
GPSのトラックデータが細い緑の実線で地図と重ね合わされている
背景の地図を消してGPSのトラックデータのみ表示してみる
GPSのデータレイヤーのデフォルトのスタイルはQGISがランダムな配色を割り当てることになるが、今回は緑色の細い実線ラインとなっているので、背景の地図と重なると殆ど目立たないので、ラインのスタイルを変えてもう少し目立つようにしてみる.
GPSのレイヤー名をダブルクリックすると、ラインのスタイルを編集するダイアログが現れるので、ラインの色は太さ、透明度、ラインタイプ、などを変更する.
画面左下の”Layers”ペーンの項目の順番を変えることによって描画されるレイヤーの上下関係を変更することができるので、GPSトラックのレイヤーを一番上に持っていけば、背景の地図の上に描画されるので背景地図の地物によって隠れて見えなくなることはなくなる.
ラインスタイルを編集してGPSトラックが目立つように変更してみる
GPSトラックを簡単に地図に重ね合わせることができた
今回はGPSのトラックデータを国土地理院のベクタータイル地図データと重ねて表示させる方法について簡単に説明した.QGISを用いると、GPSトラックデータだけではなく様々な地物データを同様な手法で重ね合わせることが可能だ.
QGISを使いこなせるようになるにはかなりの習熟コストを要するが、これだけの機能を備えたツールが無償で誰でも利用可能であることはとても素晴らしいことだと思う.