QGIS 3 を利用した地質図作成メモ

産総研
last updated 2023.9.22
はじめに

 現在、地質図の作業用GISソフトとしてQGISを利用しています。GIS使用歴は2015年からで、2018年の本部組織異動の前まではバージョン2を使っていました。2年間の本部勤めの後、2020年に地質の仕事に復帰したときにはバージョン3が主流になっており、乗り換えましたのでその内容をご紹介します。お役に立てれば幸いです。

QGIS 3でつくる地質図のイメージ図
QGIS 3でつくる地質図のイメージ図。

 本ページではQGISを利用します。QGISはFOSS4Gの代表的なGISソフトウェアで、商用・非商用を問わず誰でも利用することができます。また、プラグインで機能を拡張することができます。ベクトルデータはシェープファイル等のファイルで保存しますが、そこに含めることができない情報は、定義ファイル (スタイルファイル (qml)、レイヤー定義ファイル (qlr)、プロジェクトファイル (qgs, qgz) などの独自のxml形式) として保存します。従って、端末の機種を替えたときなどでも環境設定を引き継ぐことができます。一部の定義ファイルは、QGIS以外でも使える汎用の形式にエクスポートすることもできます (レイヤースタイルの設定 (sld) など)。

用意するもの

 QGIS バージョン3で地質図を製作するのに必要となる基本的なインストール構成は、以下の通りです。プラグインは、QGISのメニューから[プラグイン] - [プラグインの管理とインストール]で簡単に追加・削除できます。

基図の設定

 日本国内の場合は、位置情報の基準にする際の基図は国土地理院の配信している地理院タイルを設定するのが基本と言えます。設定の方法については「GISで見る地質図」のページの記述を参照してください。

 地質図を編集する際には水域を別途参照したい場合があると思います。水域のベクトルデータは既存のサービス・データがあるので、それらを利用するのが便利です。

 小縮尺での利用でしたら、「川だけ地図」が便利です (ズームレベル: 5-13)。「川だけ地図」の利用もXYZ Tilesから行いますが、少し注意が必要で、URLの記述のうちy座標を反転させる必要があります (http://www.gridscapes.net/AllRivers/1.0.0/w/{z}/{x}/{-y}.png)。詳しくはこちら

 また、詳細な水域データが必要な場合は、基盤地図情報ダウンロードサービスから、水域 (WL) をダウンロードして利用することができます。シェープファイル等に変換して読み込んでください。座標系の設定にご注意を。ただし、この水涯線はたいへん精細で、そのまま小縮尺地質図幅用に使うのはあまり適していません。一方、野外調査データを扱う場合には、重宝します。

地質図のレイヤー

 地質図のレイヤーは新規作成します。基本的な構造としては、ポリゴン・ライン・ポイントの各レイヤーを合わせることで地質図を表現することにします。

 組み合わせるレイヤーの種類や重ね合わせの順序など、編集における各種の作業設定は「プロジェクト」として保存します。メニューから[プロジェクト]-[名前を付けて保存...]で保存してください。特に、データやレイヤーの種類が増えるとそれに合わせたレイヤー独自の設定も次第に複雑になります。レイヤーの設定内容が増えてきたら、プロジェクトはこまめに保存することをおすすめします。特に、ポリゴンやラインの色や線種などを決める「スタイル」については、設定例を後述します。

ポリゴンの属性

 ポリゴンは地質図では最も基本となる情報であり、その属性は凡例構造を反映している必要があります。最終的には凡例のあらゆる情報が含まれるべきですが、項目が多いとそれだけ煩雑になり、入力ミスの原因ともなります。属性テーブルは結合させることができるので (手順はこちら) 、編集段階では項目数は最低限にとどめておき、作業が進捗した段階で属性テーブルの結合により情報を統合するのでも良いでしょう。一方、表示用の色分けやラベル情報に用いるので、極端に少なくすると使いづらくなってしまいます。

 編集作業用のメモも含め、岩相層所区分を反映させる際に当初から必要となる属性フィールドの例を以下に示します。ご参考まで。

フィールド 内容 データの例
CODE (コード) ないし SYMBOL (シンボル) 凡例に固有な番号ないし記号。地質図のラベル表示にも利用できます。 1, 2, 3, …や、a, r, tl, tm, th, At, Azuki…など
LITHOLOGY (岩相) 地層区分を定義する岩相の情報。 砂岩、デイサイト、○○層の貫入岩…など
AGE (時代) 地層区分を定義する地質年代の情報。 前期中新世後期頃、16 Ma前後…など
ETC (備考) その他、地層名等の地層区分に必要な情報。 未報告岩体、吉川 (1998) ではxx層に区分…など

 ポリゴン・ライン・ポイントの各レイヤーは、プロジェクトとは別にファイルに保存します。ファイルフォーマットとしては、今でもシェープファイルが利用されることが多いですが、QGISでは表示の設定が同時保存されない、フィールド名に使える文字数が半角10文字までという制限があるなど少し使いづらい点もあるので、注意が必要です。QGISではgeopackageというOGC (※) 標準形式のファイルがデフォルトになっています。

 ※ Open Geospatial Consortiumという国際的な標準化に取り組んでいる非政府・非営利組織。

スナップとトポロジー

 ポリゴンを描くにはスナップを、修正する際にはトポロジーを有効に使うとたいへん便利ですので、作業の前に予備知識として記します。

  • スナップ: 自動的に既存の地物の頂点や線分に接続する機能。スナップを有効にしておくと、地物の重複を回避できます。
  • トポロジー: 2つ以上の地物で頂点を共有している状態。ひとつの頂点を移動すると、頂点を共有する2つ以上の地物が同時に変形できます。

 ポリゴンを描く場合には、事前にスナップを有効にしておき、既存のポリゴンの界線を利用するように描くことができます。また、別のレイヤーの地物にもスナップすることができます。一方、スナップの設定を忘れてしまったときなど、重複したポリゴンが生成されます。この修正は、一度作ったポリゴンを別のポリゴンのラインで切り抜く作業になりますが、レイヤー単位で行うことになるため、あまり手軽ではありません。最初にポリゴンを作成するときに注意し、いかにうまく描くかが大切です。

  • 基本の設定: [設定] - [オプション] - [デジタイズ]で設定します。この画面の「スナップ」の設定は、すべてのレイヤーに対する初期設定になります。
  • ポリゴンの描画設定 (スナップ): 実際には、スナップの設定はレイヤーごとに変更した上で編集するのが便利です。それには、[プロジェクト] - [スナップオプション] で設定します。まず、磁石のアイコン (スナップを有効にする) ボタンを押してスナップを有効にします。スナップモードとして [詳細設定] を選び (通常は [すべてのレイヤー] になっている)、「重なりを避ける」にチェックを入れておくと、既存のポリゴンと重なる部分は自動的にその外形にスナップするように切り抜かれます。「許容範囲」はある程度大きいと楽ですが、小さなポリゴンを作成する場合には小さくする必要があります。地質図のように、一度描いた地物を頻繁に編集する場合は、共有されていない頂点が発生しないようにするために「型」は [頂点] にしておくとよいでしょう。[交差部でのスナップ] は、必要を感じた場合のみ有効にします。
  • ポリゴンの編集設定: トポロジ編集が可能なように、[プロジェクト] - [スナップオプション] で変更します。[トポロジ編集] ボタンを押しておくと、編集の際に複数のポリゴンで共有された点を動かすときに、重複するすべてのポリゴンの点が一度に移動するようになります。

 スナップオプション設定ウィンドウを図に示します (クリックで拡大)。

スナップ設定ウィンドウの例
スナップ設定ウィンドウの例。

 ただし、オーバーレイなど明らかに地物の交差が発生する場合には、編集する状況に応じて、これらの設定は適宜オフにしておく必要があります。地質図の作成段階が進んできて、複数のレイヤーを扱うようになったときは気をつけましょう (私はかつて「交差回避によりジオメトリが壊れているので地物を追加できません」と言われ、1日はまりました)。レイヤーを非表示にしていると気がつきにくいです。

ポリゴンの作成
(基本編)

 実際の地質図の編集は、試行錯誤の連続です。調査の進んだ箇所から地質図を作成し、データが増えてきた時点で地域を拡大・修正することになります。したがって、ポリゴン・ラインに関しては、作成と改変を繰り返す作業になります。ポイントデータは追加が主体で、場合によっては属性を修正することになります。

 ポリゴンの作成は基本的には [ポリゴン地物を追加] と [頂点ツール] で行います。いずれも [デジタイジングツールバー] に含まれています。

 ポリゴンは [ポリゴン地物を追加] (手順は下記参照) で新規作成しますが、編集が可能なのでデータが少ない初期段階から厳密に描く必要はありません。基図を変えると修正が必要な箇所を見つける場合もあり得ます。ポリゴンの修正は、[頂点ツール] で行います (手順は「ポリゴンの改変」参照)。当初は広域的な粗いポリゴンを描いておき、トポロジを有効にした状態でノードの追加で精細に仕上げてゆく方法でも大丈夫です。

 [地物の追加] ではラバーバンドと呼ばれる作成中のポリゴンが表示されるので、頂点を連続して描いていきます。最初は沖積層や人工改変地のように区分・分布がはっきりしていて、後から修正があまりいらないものから書き込んでいくのがよいでしょう。

  1. ベクトルレイヤーを新規作成しておきます。
  2. ポリゴンの場合は、レイヤーのプロパティの[シンボロジ] - [レイヤーレンダリング] - [混合モード」で「レイヤー」の設定を [乗算] にしておきます (描画のときに基図が隠れてしまうため)。また、ラバーバンドは [設定] - [オプション] - [デジタイズ] の「ラバーバンド」の箇所で、色 (特に透明度) を薄めに設定しておきます (描画するときに、作成中のポリゴンの色が基図を隠してしまうため)。
  3. [デジタイジングツールバー] の鉛筆のアイコンを押して、レイヤーを「編集モード」にします。
  4. [ポリゴン地物を追加] でポリゴンを描きます。最後のノードまでクリックした後に右クリックすると属性ウインドウが開くので、値を入力すると確定。
  5. 随時、編集内容を保存しておきます。

 [ポリゴン地物を追加]でポリゴンを新規作成する例を図に示します (クリックで拡大)。

新規作成したベクトルレイヤーにポリゴンを新規作成する例
新規作成したベクトルレイヤーにポリゴンを新規作成する例。

 対象とするポリゴンを一筆書きで描き、最後に右クリックで確定します。属性を入力し、OKを押して確定します。あらかじめ表示スタイルの設定 (色や透過度、ラベルの付加等) を行っておくと、確定してすぐにスタイルが反映されるので、より描きやすくできます。

 隣接する地質区分が既に正確に描かれている場合、スナップを有効にし、重なりを避ける設定にしておくと、既存のポリゴン側はやや余分なサイズに粗く描くだけで、自動的に既存の頂点にスナップされた図形が描かれます。基本的にはこの方法が最も手軽に描けます。

 既存のポリゴンにスナップさせてポリゴンを新規作成する例を図に示します (クリックで拡大)。

谷に分布する地層を描く例
谷に分布する地層を描く例。[ポリゴン地物の追加]で、描きたい場所よりも広くトレースすると、既存のポリゴンにフィットするかたちで新しいポリゴンが生成されます。

 先に大きなポリゴンが描かれていると、隙間はおおざっぱにトレースするだけで済むので効率的です。

 ポリゴンの改変は、頂点ツールで行います。

  • [頂点ツール] を選択し、ポリゴンの上にマウスカーソルを持って行くと、ノードのハンドルが「○」印で表示されます。
  • ノードの上にマウスカーソルを持って行くと、ノードの「○」印が「◎」に変わります。
  • その状態でクリックすると選択状態になり、自由に動かせるので、好みの位置でクリックすれば移動が確定します。
  • 新たにノードを追加するときは、当該箇所をダブルクリックするか、マウスオーバーで線分上に現れる「+」印をクリックします。
  • ノードを削除するときは、当該ノードを選択しておき、Deleteキーで削除します。
  • トポロジを有効にしていても、ノードをクリックして動かせるのはひとつの地物の頂点だけです。
  • 「+」印以外の線分上をクリックすると、両端の2つの頂点が選択状態になります。
  • ドラッグによる範囲指定で、複数の地物の頂点を選択状態にしておいた場合には、重なっている地物の頂点がすべて同時に編集 (移動・削除) できます。頂点が複数の場合でも、ドラッグで事前選択しておけば同様に可能です。
ポリゴンの作成
(応用編)

 地質図を描く際には平面をポリゴンで埋めてゆくことになりますが、効率よく進めるためのやり方が複数あります。「高度なデジタイジングツールバー」を使うと、より複雑な編集を行うことができます。以下に目的に応じた方法を示します。

  • ポリゴンの結合による拡張: ポリゴンは全体を一度に描く必要はありません。少しずつ描き足した複数のポリゴンを、結合することもできます。大きなポリゴン (平野部の沖積層や河川など) の場合、一筆ではなかなか完成できないので複数回に分けた方が描きやすかったりします。複数のポリゴンを結合するには、あらかじめ目的のポリゴンを選択しておき、[編集] - [選択地物の結合]で行います。隣接していないポリゴンでも有効です。
[編集] - [選択地物の結合]でポリゴンを結合する例
[編集] - [選択地物の結合]でポリゴンを結合する例。
  • 外縁部分の追加 (延伸): [編集] - [地物の変形] で行います。ポリゴンの内側を起点とし、新しく追加したい形状をトレースすることでもポリゴンを拡張できます。ただし、私の環境では複数のポリゴンが関係するときや、少し複雑な形状のときに、エラーになることがあります。地質図編集作業の初期段階 (まだポリゴンがないところ) でポリゴンの形状を整える、または隣り合う大きなポリゴンから単純な形状を切り取るときには向いています。
[編集] - [地物の変形]でポリゴンを拡大する例
[編集] - [地物の変形]でポリゴンを拡大する例
  • 内包ポリゴンの穴埋め: ポリゴンの内部に穴 (空白域) があるときは、スナップを有効にして完全に覆い被せるように新しいポリゴンを描くと、穴の形に一致した形のポリゴンが作成されます。
  • ドーナツ状空白域の埋め戻し: あるポリゴンの内部にある空白域を削除する場合、[編集] - [リングの削除] で行います。特にポリゴンを選択しておく必要はなく、空白域をクリックするだけで可能です。
  • 外縁部分のトリミング: 上記、「外縁部分の追加 (延伸)」とまったく同じ方法です。[編集] - [地物の変形] で行います。初めにポリゴンの外側をクリックした後、削除したい形状をトレースするとトリミングされます。ただし、他の複数のポリゴンと干渉しないことが必要です。
  • ポリゴンの分割: ポリゴンを単純に分割するだけならば、[編集] - [地物の分割] で行います。ただし、ポリゴンの外縁または外側を起点・終点とし、ラインがポリゴンを横断するようにします。複数のポリゴンにまたがっても、同時に切断されます。
[編集] - [地物の分割]でポリゴンを分割する例
[編集] - [地物の分割]でポリゴンを分割する例。
  • 内包ポリゴンの新規作成: ポリゴンの内部に穴 (空白域) を空けるときは、[編集] - [リングの追加] で行います。この場合、ポリゴンの内部は切り抜かれます。一方、既存のポリゴンの内部に、別の属性を持つポリゴンを後から切り分ける場合は、[リングの充填] を使います。この場合、ポリゴンは新たに生成するため、別の属性を指定します。

 河川や池のポリゴンは、基盤地図情報の水域 (WL) から必要な箇所をコピペすると簡単です。河川のように連続する地物でもポリゴンは分割されているので、通常は複数選択することになります。この場合、コピペ後すぐに [選択地物の結合] を行うと、同時に属性も設定できるので効率良く作業できます。

 コピペしたポリゴンは非常に精細なので、目的とする縮尺レベルの地物のポリゴンとしてそのまま使えるとは限りません。用水路等の不要な細部のポリゴンは、[地物の分割] や [頂点ツール] を用いて適宜削除しましょう。また、中州のような一時的な陸域が不要な場合は、[リングの削除] や [リングの充填] を用いて適宜修正します。

 注意して作成したベクトルデータでも、何らかのエラーは起こりうるものです。これを確認するためには、[ベクタ] - [ジオメトリツール] - [有効性チェック] を行います。詳しくは「トラブルシューティング」の「ジオメトリエラー対策」をご覧ください。QGIS 3 になってからは、バックグラウンドで自動的にエラーのチェックが行われているようで、ステータスバーにカーソルを乗せると、エラーがあったことを示してくれるようになりました (画面でも×印が現れます)。

ラインの描画・編集

 ラインの描画・編集も基本的にはポリゴンと同様に行います。レイヤーが違っていてもスナップは効くので、地質境界線や地質境界線を兼ねる断層線は、地質図のポリゴンを表示してスナップをオンにして描くと良いでしょう。このとき、地質ポリゴンを選択状態にしておくとノードの位置がわかるので、トレース作業がやりやすくなります。なお、ラインではスナップの「交差の禁止」チェックボックスは有効になりません。

地質図のレイヤーを表示しておいて断層線を描いている例
地質図のレイヤーを表示しておいて断層線を描いている例。このとき、地質ポリゴンを選択状態にしておくとノードの位置がわかるので、作業しやすくなります。

 ポリゴンの界線をラインに変換するには、[ベクタ] - [ジオメトリツール] - [ポリゴンをラインにする…]で出力ファイルを指定すれば可能です。長大なラインが地質界線を兼ねている場合 (火山灰鍵層、付加体の衝上断層など) は、この方法で変換したラインを適宜編集して作成しても良いでしょう。

ポイントの描画・編集

 ポイントの描画・編集はシンプルなので、作業上あまり迷うところはないでしょう。編集ツールの [頂点ツール] も使え、ポイントの場合はそのまま地物を移動することができます。

 ただし、地質図固有の問題として、走向傾斜データはノースモード (N45W、25Eなど) で記録すると、そのままでは計算に使えません。後述する走向傾斜記号表示などで利用するためには、360度方式 (315、25など) への変換式を作成するか、あらかじめ360度方式でも併記しておく必要があります。

属性の編集

 属性の編集は、地図から地物を選択して行う場合と、属性テーブルを使って行う場合の2通りがあります。

  • 地図から地物を選択して行う属性編集: 「属性ツールバー」の[地物情報表示] で地物を選択すると、属性フォームが別のウィンドウで開きますので、直接編集します。
  • 属性テーブルを使って行う属性編集: 「属性ツールバー」の[属性テーブルを開く] により、属性テーブルが別のウィンドウで開きますので、直接編集します。フィールドを追加・削除したいときにも属性テーブルを使います。

 ベクトルデータの場合、属性データを効果的かつ効率よく整備することはとても重要です。なるべく作業を楽にするために、コピペや自動入力が活用できるように工夫しましょう。

  • 地物属性のマージ: あらかじめ複数のポリゴンを選択した上で、[編集] - [選択地物の属性結合] を使うと、既存の属性を別の地物にそっくりコピーすることができます。新たなポリゴンを作ったときや、属性の変更が生じたときなど、複数のポリゴンの属性を統一するのに役立ちます。
  • 既定値の設定: ポリゴンを新規作成した際に、既定の属性データを自動で入れることができます。レイヤー名をクリックして現れる「レイヤープロパティ」から、[属性フォーム] のタブを選び、「利用可能なウィジェット」にある「Fields」の中から任意の項目を選びます。すると右側に設定画面が現れ、一番下の「デフォルト」に「既定値」を入れられるようになっています。数字はそのまま入れられますが、テキストはシングルクォーテーション「'」で囲むようにします (「プレビュー」に出ることを確認できればOKです)。

 フィールドの操作を行う場合は、レイヤー単位での作業になります。

  • フィールド名の変更: フィールド名を変更したいときは、[プロセシング] - [ツールボックス] - [ベクタテーブル] - [フィールド名の変更]で行います。修正を反映した新たなレイヤーが作られるので、適宜上書きないしは別名で保存します。
  • フィールドの並び替え: 新たな属性情報を追加することになってフィールドを新規に追加したときなど、フィールドの並び順を変えたいことがあります。これは、[プロセシング] - [ツールボックス] - [ベクタテーブル] - [属性のリファクタリング]で行うことができます。修正を反映した新たなレイヤーが作られるので、適宜上書きないしは別名で保存します。
「ベクタテーブル」のメニュー画面
「ベクタテーブル」のメニュー画面。

 属性は個々に追加する以外にも、別のリストを用意して、条件にマッチする属性を一度に追加することもできます。例えば、日本語の属性に対応す英語の属性を追加する場合などに有効です。属性テーブルの結合は、csvファイルで行います。その手順は以下の通りです。

  1. キーとなるフィールド名を含むcsvファイルを作成します。
  2. 結合したいベクトルファイルとcsvファイルを、共にQGISで開いておきます。
  3. ベクトルファイルのプロパティを開き、[テーブル結合] タブを選択。
  4. 左下にある「+」をクリックして「ベクタ結合の追加」ウインドウを開きます。
  5. 「結合するレイヤー」でcsvファイルを指定。
  6. 「結合基準の属性」のところでCSV側のキーとなるフィールドを選択。
  7. 「ターゲット属性」のところでベクトルファイル側のキーとなるフィールドを選択。
  8. 必要に応じ「結合フィールド」を選択する。すべて結合するのであれば、「結合フィールド」にはチェックしなくてOK。
  9. 設定後、[OK] すれば属性テーブルの結合は完了。
  10. ただし、これはベクトルファイルとcsvファイルがリンクしている状態なので、csvレイヤーを削除すると解除されてしまいます。必要に応じてこれらすべての属性を含むベクトルファイルとして新たに保存しておきます。結合したベクトルファイルを右クリックして、[現在の編集] - [選択レイヤーの保存]をすると完了です。
その他の編集作業
  • 地物のコピー&ペースト: 地物は位置情報・属性情報を保持したまま、別のレイヤーにコピー&ペーストできます。ただし、属性フィールドが一致しない場合は、その属性データは失われます。
  • レイヤーの結合: レイヤーの結合は、[ベクタ] - [データ管理ツール] - [ベクタレイヤーのマージ] で可能です。「入力レイヤー」に開いているデータから任意のレイヤーを指定して [実行] を押せば、デフォルトでは一時レイヤー (temporary layer) として作成されます。ベクトルファイルを指定して、直接ファイルに出力することもできます。
表示スタイルの設定

 地質図は独自の表示ルールや習慣があるため、機械任せの色や線種のままでは人が読むのに使いやすいとは限りません。人にも機械にも優しくするため、スタイルの設定を工夫しましょう。

  • 凡例の色・線種等の情報: 地質図では凡例で区分される色・線種等の情報は、レイヤープロパティの「シンボロジ」タブから設定します。作業開始時に、ある程度作成しておくと後の作業が楽です。また、これらの情報はスタイルファイル (QMLまたはSLD形式) にエクスポートできるので、バックアップも兼ねて適宜保存しておきましょう。特に、線種・点種のスタイルは、使い回しができます。

 一例として、地質調査総合センターの「5万分の1地質図幅ベクトルデータ」に使われている線種の凡例とスタイルの設定例をQMLファイルで置いておきます (geo_L.qml)。ご参考まで。

 一例として、栃木県シームレス地質図 Ver. 1.1のポリゴンのスタイル設定を図に示します (クリックで拡大)。

ポリゴンのスタイル設定の例
ポリゴンのスタイル設定の例。

 スタイル設定には様々な条件が設定できます。上記のレイヤーは「Kihon_No」要素のデータによって色を指定しているので、その例を図に示します (クリックで拡大)。

ポリゴンのスタイル設定条件の例
ポリゴンのスタイル設定条件の例。
  • ポリゴンのラベル表示: レイヤープロパティの「ラベル」タブから設定します。普通の地質図のように記号を表記させるのであれば、一番上のプルダウンメニューから「単一定義」を選択し、「値」に記号のフィールドを指定します。また、下にある「配置」の設定を選び、「重心がポリゴンの外側にある場合、内側に移動する」にチェックを入れておくと、たとえは三日月形のポリゴンでも分布範囲の中にラベルが収まるようになります。
ラベルの設定の例
ラベルの設定の例。
  • マップチップ: マップチップは、「地図のTipsを表示 (バルーンのアイコン)」をオンにし、カーソルを置いたとき (onMouseOver) に情報がポップアップされる機能。いわゆる「吹き出し」や「バルーン」に相当します。レイヤープロパティの「表示名」タブから設定します。フィールド名でもよいですが、KMLと同様にhtmlタグが利用できるので、更に凝ったアクションと連携することもできます。
走向傾斜の表示

 ポイントデータである走向傾斜データは、地質図編集の際には重要なので、管理および表示の工夫が必要です。

 走向傾斜は、地図上に記号で表記された方が便利です。そのため、SVGの記号を用意して、下記の手段で設定を行います。記号のサンプルはこちらに置いています。

  1. SVGファイルを、管理しやすいフォルダにコピー。専用のフォルダを作っておくとよいでしょう (「geology」など)。
  2. メニューの[設定]-[オプション]で開いた画面からシステムタブを開き、「SVGパス」の「+」マークを押して上記フォルダを追加します。
  3. 走向傾斜レイヤープロパティのシンボロジタブを開き、単一シンボルか分類するかを選択。単一シンボルの場合は、そのままマーカーのサブツリー (「シンプルマーカー」) を選択。分類する場合は、例えば「カテゴリ値による定義」を選択した後で「シンボル」をクリックすると別ウィンドウが開くので、マーカーのサブツリー (「シンプルマーカー」) を選択。
  4. シンボルレイヤータイプのプルダウンで、SVGマーカーを選択。
  5. 下部にあるフォルダリストから上記の専用フォルダを選び、右側から該当のSVGを選択。
  6. 「回転」の項目で追加メニューから属性フィールドの走向値を選択。記号の縦軸とポイントが一致するように、オフセットも設定。
  7. 最後にOKまたは適用とすればマーカーの設定は完了。
走行傾斜表示設定の例 (マーカーの設定)
走行傾斜表示設定の例 (マーカーの設定)。
  1. 続いて、レイヤープロパティのラベルタブで、表示させる属性を選択します。通常は傾斜値のみでよいでしょう。
  2. ポイント上に数字が重なってしまうので、距離を設定。
  3. 最後にOKまたは適用とすれば完了。
走行傾斜表示設定の例 (ラベルの設定)
走行傾斜表示設定の例 (ラベルの設定)。

 こうすることで、最初は本当に「点」しかなかった走向傾斜の表示が、人の目にもある程度優しくなりました。

走行傾斜表示の例
走行傾斜表示の例
ジオタグ読み込み

 デジタルカメラで撮影した写真に緯度経度情報 (ジオタグ) をつけて管理している場合も多いでしょう。QGIS 3で緯度経度つき写真のポイントを表示する方法は以下の通りです。

  1. メニューの[プロセシング] - [ベクタ作成] - [ジオタグ (位置情報) 付きの写真]をダブルクリックして起動。
  2. 「写真のあるフォルダ」を指定し、「実行」を押すと、ジオタグのある写真を読み込んで地図上に点データを自動作成します。
  3. 点データをクリックして地物情報を表示すると、画像のサムネイルとハイパーリンクがあり、ハイパーリンクから画像を表示させることができます。
  4. 属性情報には、ファイル名や緯度経度、タイムスタンプ等の情報が、自動的に取り込まれています。
点データをクリックしたときに表示される地物情報
点データをクリックしたときに表示される地物情報。

 点データのアイコンとして画像のサムネイルを表示させる場合には、[レイヤープロパティ]の[シンボロジ]で以下のように設定します。

  1. [単一定義 (single)] - [マーカー] - [シンプルマーカー] を選び、その下の [シンボルレイヤータイプ] の選択肢から [ラスタ画像マーカー] を選択。
  2. ファイル名を指定する行の右端に隠れているメニューから、[フィールドの型/文字列] - [photo (文字列)] を指定。
  3. 大きさを適宜指定して「OK」すると、指定の大きさのサムネイルが地図上に表示されます。
  4. ただし、点を指定するときにはサムネイルの四角形の縁辺部では反応せず、中心部をクリックする必要があります。
画像をサムネイル表示させるときの設定画面
画像をサムネイル表示させるときの設定画面。
トラブルシューティング

 作業をしていると、ときに思わぬ不具合に遭遇することがあります。ここに記したことが正しい措置とは限りませんが、経験的に回避できた方法を幾つかメモしておきます。

  • XYZ Tilesで基図の追加がうまくいかない: QGIS 3 のXYZ Tilesメニューでタイルを読み込もうとしたときに、配信元の設定をコピペしても表示されないことがあります。よく探すと南半球に (それも各タイルが南北バラバラに) 表示されていたりします。これはタイルの原点を左上にとるか左下にとるかの設定がQGISになく、y座標が反転された状態で表示されてしまうためです。このような場合には、URLを通常の「/{z}/{x}/{y}」表記ではなく、「/{z}/{x}/{-y}」とy軸を反転させましょう。
  • ジオメトリエラー対策: ベクトルデータのエラーをチェックするには、[ベクタ] - [ジオメトリツール] - [有効性チェック]を行います。レイヤーを指定して実行すると、一時ファイルが作成されます。地物を選択し、「選択した地物のみ」にチェックを入れた状態で実行すると、選択地物のみのチェックを行います。一時ファイルにジオメトリエラーのある箇所がリスト化されるので、どこにエラーがあるのかを属性テーブルで確認しましょう。
「妥当性チェック」の設定ウインドウ
「妥当性チェック」の設定ウインドウ。

 同様のチェックは、[ベクタ] - [トポロジチェッカー] - [トポロジチェッカー]でもできます。パネルが開くので、スパナのアイコンをクリックすると設定ウインドウが開きます。レイヤーを指定し、チェックしたい項目を選んでルールに追加してから検証を行うと、エラーの箇所がパネル内に一覧表示されます。

「トポロジチェッカー」の設定ウインドウ
「トポロジチェッカー」の設定ウインドウ。

 実は、QGISの場合、座標の数字は小数点第9位まで有効です。ArcGISでは小数点第3位までなので、ArcGISで作成したシェープファイルをQGISでトポロジチェックすると、多数のエラーが出てきます。実際上は問題ないので無視することもできますが、気になる場合は以下の方法で小数点第3位に変換することもできます (出典はこちら)。

  1. シェープファイルを精度の指定できるGeoJSON形式で保存する。このとき、COORDINATE_PRECISIONを3に設定する (COORDINATE_PRECISIONは小数点以下の桁数の設定)。
  2. GeoJSONを読み込み、再びシェープファイルで保存する。
謝辞および外部リンク

 本ページの内容は、決してひとりの努力ではたどり着けなかった成果です。オープンソースに関する多くのサイト、文献、そして個人的な情報交換が積み重なって初めて実現できました。すべての皆さんに、この場をお借りして厚くお礼申し上げます。また、本ページの地形データには国土地理院 地理院タイル 陰影起伏図を利用させていただきました。

CC BY 4.0 国際