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

はじめに

 現在、地質図の作業用GISソフトとしてQGISを利用しています。2018年の本部組織異動の前まではバージョン2を使っていましたが、2020年に復帰後はバージョン3が主流になっていたので乗り換えました。最初は戸惑いましたが、試行錯誤しながら環境を整えたので、その内容をご紹介します (2021年2月時点の情報)。お役に立てれば幸いです。なお、バージョン2の時の情報も、こちらに残してあります。

QGIS3_geomap.png

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

用意するもの

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

QGIS本体
公式サイトからダウンロードします。最新版とLTR (Long Term Release) 版があります。更新の頻度は高いので、複数の端末で環境を揃える必要があるときはLTR版を検討すると良いでしょう。インストールが必要で、ポータブル版はありません。
Qgis2threejsプラグイン
QGISで表示しているGISデータと、標高データ (DEM) をもとに、3D地図を作成するプラグイン。QGISのメニューの [プラグインの管理とインストール] からインストールします。正常にインストールされると、QGISのメニューの [Web] - [Qgis2threejs] から利用できるようになります。
地質シンボルのsvgファイル
走向傾斜やポイントの記号等を表示するのに必要です。サンプルをこちらにアーカイブしています。C:\Program Files\QGIS XXXXX\apps\qgis\svg以下 (XXXXXはバージョンにより異なります) にコピーします。

表示の準備

基図の設定

 日本国内の場合は、基図は地理院タイルを設定するのが基本と言えます。標準地図のほか、空中写真、陰影起伏図、傾斜量図、各種の主題図 (数値地図25000 (土地条件)、治水地形分類図なども利用できます。詳しくは、国土地理院のウェブサイト地理院地図|地理院タイル一覧を参照してください。

 地理院タイルのようなタイル形式の地図を読み込むには、QGISではXYZ Tilesというメニューを利用します。XYZ Tilesのメニューは、[レイヤ] - [レイヤの追加] の箇所には並んでいないのでご注意ください。XYZ Tilesを使うには、まず以下の手順で [ブラウザ] というパネルを開きます。

 [ビュー] - [パネル] - [ブラウザ]

 すると [ブラウザ] のパネル (または小ウィンドウ) が開きますので、その中にある [XYZ Tiles] を右クリックし、[新規接続] を選びます。開いた設定ウィンドウで、[名前] と [URL] に好みの地理院タイルの情報を入力し、[OK] を押せば地図が表示されます。地理院タイルの種類とURLは、地理院地図|地理院タイル一覧で確認してください。

 ある程度、頻繁に使う地理院タイルはおおよそ決まっていると思います。これらは設定を保存できますので、[XYZ Tiles] を右クリックして現れる [接続を保存] を選び、必要な接続を選んだ上で [エクスポート] しておきましょう。

xyz_tiles.png

水域のデータ

 水域のベクトルデータは、既存のデータがあるので、それらを利用するのが便利です。

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

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


編集の準備

 以下には地質図編集で必要となる操作のメモを記します。

地質図のレイヤー

 地質図のレイヤーは新規作成します。本ページでは、地質調査総合センターの「5万分の1地質図幅ベクトルデータ」にならって、ポリゴン・ライン・ポイントの各レイヤーを合わせることで地質図を表現することにします。

 各種の作業設定は「プロジェクト」として保存します。また、データが追加されるとそれに合わせたレイヤー独自の設定も行うようになります。レイヤーの設定ができたら、プロジェクトはこまめに保存することをおすすめします。特に、色や線種などを決める「スタイル」については、ページの後半で設定例を示します。

ポリゴンの属性

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

 編集作業用のメモも含め、当初から必要となる属性フィールドの例を以下に示します。ご参考まで。

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

 なお、シェープファイルには、フィールド名に使える文字数が半角10文字までという制限があります。

スナップとトポロジー

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

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

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

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

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

snap_option3.png

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


地質図編集作業

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

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

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

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

地物の追加

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

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

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

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

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

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

ポリゴンの改変

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

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

ポリゴンの作成 (応用編)

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

ポリゴンの追加・拡張

ポリゴンの結合による拡張
ポリゴンは全体を一度に描く必要はありません。少しずつ描き足した複数のポリゴンを、結合することもできます。大きなポリゴン (平野部の沖積層や河川など) の場合、一筆ではなかなか完成できないので複数回に分けた方が描きやすかったりします。複数のポリゴンを結合するには、あらかじめ目的のポリゴンを選択しておき、[編集] - [選択地物の結合]で行います。隣接していないポリゴンでも有効です。

combine3.png

外縁部分の追加 (延伸)
[編集] - [地物の変形] で行います。ポリゴンの内側を起点とし、新しく追加したい形状をトレースすることでもポリゴンを拡張できます。ただし、私の環境では複数のポリゴンが関係するときや、少し複雑な形状のときに、エラーになることがあります。地質図編集作業の初期段階 (まだポリゴンがないところ) でポリゴンの形状を整える、または隣り合う大きなポリゴンから単純な形状を切り取るときには向いています。

transformation3.png

内包ポリゴンの穴埋め
ポリゴンの内部に穴 (空白域) があるときは、スナップを有効にして完全に覆い被せるように新しいポリゴンを描くと、穴の形に一致した形のポリゴンが作成されます。
ドーナツ状空白域の埋め戻し
あるポリゴンの内部にある空白域を削除する場合、[編集] - [リングの削除] で行います。特にポリゴンを選択しておく必要はなく、空白域をクリックするだけで可能です。

ポリゴンの分割・削除

外縁部分のトリミング
上記、「外縁部分の追加 (延伸)」とまったく同じ方法です。[編集] - [地物の変形] で行います。初めにポリゴンの外側をクリックした後、削除したい形状をトレースするとトリミングされます。ただし、他の複数のポリゴンと干渉しないことが必要です。
ポリゴンの分割
ポリゴンを単純に分割するだけならば、[編集] - [地物の分割] で行います。ただし、ポリゴンの外縁または外側を起点・終点とし、ラインがポリゴンを横断するようにします。複数のポリゴンにまたがっても、同時に切断されます。

split3.png

内包ポリゴンの新規作成
ポリゴンの内部に穴 (空白域) を空けるときは、[編集] - [リングの追加] で行います。この場合、ポリゴンの内部は切り抜かれます。一方、既存のポリゴンの内部に、別の属性を持つポリゴンを後から切り分ける場合は、[リングの充填] を使います。この場合、ポリゴンは新たに生成するため、別の属性を指定します。

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

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

エラーのチェック

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

ラインの描画・編集

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

line3.png

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

ポイントの描画・編集

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

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


属性の編集

属性データの作成・編集

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

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

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

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

フィールド名の変更

 フィールド名を変更したいときは、[プロセシング] - [ツールボックス] - [ベクタテーブル] - [フィールド名の変更]で行います。修正を反映した新たなレイヤーが作られるので、適宜上書きないしは別名で保存します。

フィールドの並び替え

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

vector_table.png

属性テーブルの結合

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

  1. キーとなるフィールド名 (idなど) を含む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のポリゴンのスタイル設定を図に示します (クリックで拡大)。
polygon_style3.png

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

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

走向傾斜の表示

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

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

  1. SVGを\Program Files\QGIS xxxx\apps\qgis\svg (xxxxはバージョンにより異なります) にコピー。専用のフォルダを作っておくとよいでしょう (「geology」など)。
  2. レイヤプロパティのシンボロジタブを開き、単一シンボルか分類するかを選択。単一シンボルの場合は、そのままマーカーのサブツリー (「シンプルマーカー」) を選択。分類する場合は、例えば「カテゴリ値による定義」を選択した後で「シンボル」をクリックすると別ウィンドウが開くので、マーカーのサブツリー (「シンプルマーカー」) を選択。
  3. シンボルレイヤタイプのプルダウンで、SVGマーカーを選択。
  4. 下部にあるフォルダリストから上記の専用フォルダを選び、右側から該当のSVGを選択。
  5. 「回転」の項目で追加メニューから属性フィールドの走向値を選択。記号の縦軸とポイントが一致するように、オフセットも設定。
  6. 最後にOKまたは適用とすればマーカーの設定は完了。

dip-strike_setting3-1.png

  1. 続いて、レイヤプロパティのラベルタブで、表示させる属性を選択します。通常は傾斜値のみでよいでしょう。
  2. ポイント上に数字が重なってしまうので、距離を設定。
  3. 最後にOKまたは適用とすれば完了。

dip-strike_setting3-2.png

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


3D表示による確認

 QGIS 3では3D表示が標準で使えるようになりました。一方で、QGIS 2時代からあるQgis2threejsというプラグインも引き続き利用できます。以下では、Qgis2threejsを利用した3D表示方法をご紹介します。

 Qgis2threejsはThree.jsというライブラリを利用して3Dモデルを作成し、ビューアで表示させるプラグインです。3D表示には標高データ (DEM) が必要なのですが、特にDEMを用意していない場合には、国土地理院の配信している標高データをオンラインで利用することができます。

  1. QGISで、表示したい地図を開きます。
  2. [Web] - [Qgis2threejs] - [Qgis2threejs Explorer]で、専用のビューアウィンドウを開きます。
  3. [File] - [Plugin Settings..] で設定画面を開き、[Optional Features]にある [GSI Elevation Tile Provider] という国土地理院の標高タイルを利用するチェックボックスにチェックを入れ、[OK] を押します。
  4. 3Dモデルが表示されないときは、一度ウィンドウを閉じ、再度 [Web] - [Qgis2threejs] - [Qgis2threejs Explorer]で、専用のビューアウィンドウを開きます。

Shiobara_basin3.png Qgis2threejsを利用した地質図の3D表示の例。国土地理院 地理院タイル (陰影起伏図及び標高タイル) を利用。


ジオタグ読み込み

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

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

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

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

トラブルシューティング

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

XYZ Tilesで基図の追加がうまくいかない

 QGIS 3 のXYZ Tilesメニューでタイルを読み込もうとしたときに、配信元の設定をコピペしても表示されないことがあります。よく探すと南半球に (それも各タイルが南北バラバラに) 表示されていたりします。これはタイルの原点を左上にとるか左下にとるかの設定がQGISになく、y座標が反転された状態で表示されてしまうためです。このような場合には、URLを通常の「/{z}/{x}/{y}」表記ではなく、「/{z}/{x}/{-y}」とy軸を反転させましょう。

ジオメトリエラー対策

 ベクトルデータのエラーをチェックするには、[ベクタ] - [ジオメトリツール] - [有効性チェック]を行います。レイヤを指定して実行すると、一時ファイルが作成されます。地物を選択し、「選択した地物のみ」にチェックを入れた状態で実行すると、選択地物のみのチェックを行います。一時ファイルにジオメトリエラーのある箇所がリスト化されるので、どこにエラーがあるのかを属性テーブルで確認しましょう。 check_validity3.png

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

 実は、QGISの場合、座標の数字は小数点第9位まで有効です。ArcGISでは小数点第3位までなので、ArcGISで作成したシェープファイルをQGISでトポロジチェックすると、多数のエラーが出てきます。実際上は問題ないので無視することもできますが、気になる場合は以下の方法で小数点第3位に変換することもできます (出典:https://groups.google.com/forum/?hl=ja#!topic/qgisshitumon01/UO8AS371apg)。

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

謝辞および外部リンク

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

CC BY 4.0 国際