ページ内メニュー
2023.1.26 更新
現在、地質図の作業用GISソフトとしてQGISを利用しています。GIS使用歴は2015年からで、2018年の本部組織異動の前まではバージョン2を使っていました。2年間の本部勤めの後、2020年に地質の仕事に復帰したときにはバージョン3が主流になっており、乗り換えましたのでその内容をご紹介します。お役に立てれば幸いです。なお、バージョン2の時の情報も、こちらに残してあります。
本ページでは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という国際的な標準化に取り組んでいる非政府・非営利組織。
ポリゴンを描くにはスナップを、修正する際にはトポロジーを有効に使うとたいへん便利ですので、作業の前に予備知識として記します。
ポリゴンを描く場合には、事前にスナップを有効にしておき、既存のポリゴンの界線を利用するように描くことができます。また、別のレイヤーの地物にもスナップすることができます。一方、スナップの設定を忘れてしまったときなど、重複したポリゴンが生成されます。この修正は、一度作ったポリゴンを別のポリゴンのラインで切り抜く作業になりますが、レイヤー単位で行うことになるため、あまり手軽ではありません。最初にポリゴンを作成するときに注意し、いかにうまく描くかが大切です。
スナップオプション設定ウィンドウを図に示します (クリックで拡大)。
ただし、オーバーレイなど明らかに地物の交差が発生する場合には、編集する状況に応じて、これらの設定は適宜オフにしておく必要があります。地質図の作成段階が進んできて、複数のレイヤーを扱うようになったときは気をつけましょう (私はかつて「交差回避によりジオメトリが壊れているので地物を追加できません」と言われ、1日はまりました)。レイヤーを非表示にしていると気がつきにくいです。
実際の地質図の編集は、試行錯誤の連続です。調査の進んだ箇所から地質図を作成し、データが増えてきた時点で地域を拡大・修正することになります。したがって、ポリゴン・ラインに関しては、作成と改変を繰り返す作業になります。ポイントデータは追加が主体で、場合によっては属性を修正することになります。
ポリゴンの作成は基本的には [ポリゴン地物を追加] と [頂点ツール] で行います。いずれも [デジタイジングツールバー] に含まれています。
ポリゴンは [ポリゴン地物を追加] (手順は下記参照) で新規作成しますが、編集が可能なのでデータが少ない初期段階から厳密に描く必要はありません。基図を変えると修正が必要な箇所を見つける場合もあり得ます。ポリゴンの修正は、[頂点ツール] で行います (手順は「ポリゴンの改変」参照)。当初は広域的な粗いポリゴンを描いておき、トポロジを有効にした状態でノードの追加で精細に仕上げてゆく方法でも大丈夫です。
[地物の追加] ではラバーバンドと呼ばれる作成中のポリゴンが表示されるので、頂点を連続して描いていきます。最初は沖積層や人工改変地のように区分・分布がはっきりしていて、後から修正があまりいらないものから書き込んでいくのがよいでしょう。
[ポリゴン地物を追加]でポリゴンを新規作成する例を図に示します (クリックで拡大)。
対象とするポリゴンを一筆書きで描き、最後に右クリックで確定します。属性を入力し、OKを押して確定します。あらかじめ表示スタイルの設定 (色や透過度、ラベルの付加等) を行っておくと、確定してすぐにスタイルが反映されるので、より描きやすくできます。
隣接する地質区分が既に正確に描かれている場合、スナップを有効にし、重なりを避ける設定にしておくと、既存のポリゴン側はやや余分なサイズに粗く描くだけで、自動的に既存の頂点にスナップされた図形が描かれます。基本的にはこの方法が最も手軽に描けます。
既存のポリゴンにスナップさせてポリゴンを新規作成する例を図に示します (クリックで拡大)。
先に大きなポリゴンが描かれていると、隙間はおおざっぱにトレースするだけで済むので効率的です。
ポリゴンの改変は、頂点ツールで行います。
地質図を描く際には平面をポリゴンで埋めてゆくことになりますが、効率よく進めるためのやり方が複数あります。「高度なデジタイジングツールバー」を使うと、より複雑な編集を行うことができます。以下に目的に応じた方法を示します。
河川や池のポリゴンは、基盤地図情報の水域 (WL) から必要な箇所をコピペすると簡単です。河川のように連続する地物でもポリゴンは分割されているので、通常は複数選択することになります。この場合、コピペ後すぐに [選択地物の結合] を行うと、同時に属性も設定できるので効率良く作業できます。
コピペしたポリゴンは非常に精細なので、目的とする縮尺レベルの地物のポリゴンとしてそのまま使えるとは限りません。用水路等の不要な細部のポリゴンは、[地物の分割] や [頂点ツール] を用いて適宜削除しましょう。また、中州のような一時的な陸域が不要な場合は、[リングの削除] や [リングの充填] を用いて適宜修正します。
注意して作成したベクトルデータでも、何らかのエラーは起こりうるものです。これを確認するためには、[ベクタ] - [ジオメトリツール] - [有効性チェック] を行います。詳しくは「トラブルシューティング」の「ジオメトリエラー対策」をご覧ください。QGIS 3 になってからは、バックグラウンドで自動的にエラーのチェックが行われているようで、ステータスバーにカーソルを乗せると、エラーがあったことを示してくれるようになりました (画面でも×印が現れます)。
ラインの描画・編集も基本的にはポリゴンと同様に行います。レイヤーが違っていてもスナップは効くので、地質境界線や地質境界線を兼ねる断層線は、地質図のポリゴンを表示してスナップをオンにして描くと良いでしょう。このとき、地質ポリゴンを選択状態にしておくとノードの位置がわかるので、トレース作業がやりやすくなります。なお、ラインではスナップの「交差の禁止」チェックボックスは有効になりません。
ポリゴンの界線をラインに変換するには、[ベクタ] - [ジオメトリツール] - [ポリゴンをラインにする…]で出力ファイルを指定すれば可能です。長大なラインが地質界線を兼ねている場合 (火山灰鍵層、付加体の衝上断層など) は、この方法で変換したラインを適宜編集して作成しても良いでしょう。
ポイントの描画・編集はシンプルなので、作業上あまり迷うところはないでしょう。編集ツールの [頂点ツール] も使え、ポイントの場合はそのまま地物を移動することができます。
ただし、地質図固有の問題として、走向傾斜データはノースモード (N45W、25Eなど) で記録すると、そのままでは計算に使えません。後述する走向傾斜記号表示などで利用するためには、360度方式 (315、25など) への変換式を作成するか、あらかじめ360度方式でも併記しておく必要があります。
属性の編集は、地図から地物を選択して行う場合と、属性テーブルを使って行う場合の2通りがあります。
ベクトルデータの場合、属性データを効果的かつ効率よく整備することはとても重要です。なるべく作業を楽にするために、コピペや自動入力が活用できるように工夫しましょう。
フィールド名を変更したいときは、[プロセシング] - [ツールボックス] - [ベクタテーブル] - [フィールド名の変更]で行います。修正を反映した新たなレイヤーが作られるので、適宜上書きないしは別名で保存します。
新たな属性情報を追加することになってフィールドを新規に追加したときなど、フィールドの並び順を変えたいことがあります。これは、[プロセシング] - [ツールボックス] - [ベクタテーブル] - [属性のリファクタリング]で行うことができます。修正を反映した新たなレイヤーが作られるので、適宜上書きないしは別名で保存します。
属性は個々に追加する以外にも、別のリストを用意して、条件にマッチする属性を一度に追加することもできます。例えば、日本語の属性に対応す英語の属性を追加する場合などに有効です。属性テーブルの結合は、csvファイルで行います。その手順は以下の通りです。
地物は位置情報・属性情報を保持したまま、別のレイヤーにコピー&ペーストできます。ただし、属性フィールドが一致しない場合は、その属性データは失われます。
レイヤーの結合は、[ベクタ] - [データ管理ツール] - [ベクタレイヤーのマージ] で可能です。「入力レイヤー」に開いているデータから任意のレイヤーを指定して [実行] を押せば、デフォルトでは一時レイヤー (temporary layer) として作成されます。ベクトルファイルを指定して、直接ファイルに出力することもできます。
地質図は独自の表示ルールや習慣があるため、機械任せの色や線種のままでは人が読むのに使いやすいとは限りません。人にも機械にも優しくするため、スタイルの設定を工夫しましょう。
一例として、地質調査総合センターの「5万分の1地質図幅ベクトルデータ」に使われている線種の凡例とスタイルの設定例をQMLファイルで置いておきます (geo_L.qml)。ご参考まで。
一例として、栃木県シームレス地質図 Ver. 1.1のポリゴンのスタイル設定を図に示します (クリックで拡大)。
スタイル設定には様々な条件が設定できます。上記のレイヤーは「Kihon_No」要素のデータによって色を指定しているので、その例を図に示します (クリックで拡大)。
ポイントデータである走向傾斜データは、地質図編集の際には重要なので、管理および表示の工夫が必要です。
走向傾斜は、地図上に記号で表記された方が便利です。そのため、SVGの記号を用意して、下記の手段で設定を行います。記号のサンプルはこちらに置いています。
こうすることで、最初は本当に「点」しかなかった走向傾斜の表示が、人の目にもある程度優しくなりました。
デジタルカメラで撮影した写真に緯度経度情報 (ジオタグ) をつけて管理している場合も多いでしょう。QGIS 3で緯度経度つき写真のポイントを表示する方法は以下の通りです。
点データのアイコンとして画像のサムネイルを表示させる場合には、[レイヤープロパティ]の[シンボロジ]で以下のように設定します。
作業をしていると、ときに思わぬ不具合に遭遇することがあります。ここに記したことが正しい措置とは限りませんが、経験的に回避できた方法を幾つかメモしておきます。
QGIS 3 のXYZ Tilesメニューでタイルを読み込もうとしたときに、配信元の設定をコピペしても表示されないことがあります。よく探すと南半球に (それも各タイルが南北バラバラに) 表示されていたりします。これはタイルの原点を左上にとるか左下にとるかの設定がQGISになく、y座標が反転された状態で表示されてしまうためです。このような場合には、URLを通常の「/{z}/{x}/{y}」表記ではなく、「/{z}/{x}/{-y}」とy軸を反転させましょう。
ベクトルデータのエラーをチェックするには、[ベクタ] - [ジオメトリツール] - [有効性チェック]を行います。レイヤーを指定して実行すると、一時ファイルが作成されます。地物を選択し、「選択した地物のみ」にチェックを入れた状態で実行すると、選択地物のみのチェックを行います。一時ファイルにジオメトリエラーのある箇所がリスト化されるので、どこにエラーがあるのかを属性テーブルで確認しましょう。
同様のチェックは、[ベクタ] - [トポロジチェッカー] - [トポロジチェッカー]でもできます。パネルが開くので、スパナのアイコンをクリックすると設定ウインドウが開きます。レイヤーを指定し、チェックしたい項目を選んでルールに追加してから検証を行うと、エラーの箇所がパネル内に一覧表示されます。
実は、QGISの場合、座標の数字は小数点第9位まで有効です。ArcGISでは小数点第3位までなので、ArcGISで作成したシェープファイルをQGISでトポロジチェックすると、多数のエラーが出てきます。実際上は問題ないので無視することもできますが、気になる場合は以下の方法で小数点第3位に変換することもできます (出典:https://groups.google.com/forum/?hl=ja#!topic/qgisshitumon01/UO8AS371apg)。
本ページの内容は、決してひとりの努力ではたどり着けなかった成果です。オープンソースに関する多くのサイト、文献、そして個人的な情報交換が積み重なって初めて実現できました。すべての皆さんに、この場をお借りして厚くお礼申し上げます。また、本ページの地形データには国土地理院 地理院タイル 陰影起伏図を利用させていただきました。