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

はじめに

 2011年頃まで、野外調査のデジタル化を試行していた時期がありました (詳しくはこちら)。現在は、管理関連部門 (研究はしない) 部署が主務であるため、野外調査はしばらくお預け状態ですが、収集したデータをデジタルで編集できないと意味がありません。そこで、GISを利用した地質図の作成・編集を試しています。日々発見や挫折はあるものの、GISによる地質図作成のメリットはとても大きいと実感していますので、本ページにていろいろな試行錯誤の結果を掲載します。まだまだ精進中かつほとんど個人用のメモですが、お役に立てれば幸いです。

 本ページは2016年6月に最初に公開しましたが、その後のQGISのバージョンアップにより状況の変わった箇所が出てきました。このため、2017年3月、9月 (QGIS 2.18利用) に内容を更新しました。

QGIS_geomap.png

 本ページではQGISを利用します。QGISはFOSS4Gの代表的なGISソフトウェアで、商用・非商用を問わず誰でも利用することができます。また、プラグインで機能を拡張することができます。ベクトルデータは一般的にはシェープファイルで保存しますが、そこに含めることができない情報は、スタイルファイル (qml)、レイヤ定義ファイル (qlr)、プロジェクトファイル (qgs) として保存します。これらはいずれもxml形式で、階層が上位の定義ファイルは下位の定義ファイルの情報を包括しています。

用意するもの

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

QGIS本体
公式サイトからダウンロードします。最新版とLTR (Long Term Release) 版があります。更新の頻度は高いので、環境を揃える必要があるときはLTR版を検討すると良いでしょう。インストールが必要で、ポータブル版はありません。
タイルレイヤプラグイン
地理院タイルを表示するのに必要です。QGISのメニューの[プラグインの管理とインストール]からTileLayer Pluginをインストールします。正常にインストールされると、QGISのメニューの[Web] - [タイルレイヤプラグイン]から利用できるようになります。また、接続に必要なtsv形式の定義ファイルも別途用意します。
Qgis2threejsプラグイン
QGISで表示しているGISデータと、標高データ (DEM) をもとに、3D地図を作成するプラグイン。QGISのメニューの[プラグインの管理とインストール]からインストールします。正常にインストールされると、QGISのメニューの[Web] - [Qgis2threejs]から利用できるようになります。
Photo2Shapeプラグイン
ジオタグつきの写真を点データとして読み込むのに必要です。ただし、インストール時に注意点があります (Exifreadのインストールが別途必要)。
地質シンボルのsvgファイル
走向傾斜やポイントの記号等を表示するのに必要です。サンプルをこちらにアーカイブしています。C:\Program Files\QGIS XXXXX\apps\qgis\svg以下 (XXXXXはバージョンにより異なります) にコピーします。
Table Managerプラグイン
以前は既存のシェープファイルのフィールド順変更やフィールド名変更のために使いましたが、現在は非推奨となりました。

表示の準備

基図の設定

 地質図には基図が必要です。大変ありがたいことに、現在ではさまざまな地理空間情報がオンラインで配信されており、GISで読み込むことができます。

 日本国内の場合は、基図は地理院タイル (標準地図) を設定するのが基本です。QGISでは上述の「タイルレイヤプラグイン」を使って、簡単に読み込むことができます。また、好みにより色別標高図、空中写真、各種の主題図 (数値地図25000 (土地条件)、治水地形分類図など) も設定できます。詳しくは、国土地理院のウェブサイト地理院地図|地理院タイル一覧を参照してください。ちなみに、ズームレベル16のタイルが最大に表示可能なのは、QGISの縮尺表示で1/6,000程度です。

水域のデータ

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

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

編集の準備

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

地質図のレイヤー

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

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

ポリゴンの属性

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

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

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

 新規にシェープファイルを作成する際に、日本語のフィールド名を使うと文字化けすることがありました (文字化けした際の対処方法についてはこちら)。ただし、その後QGIS 2.18でリトライしたときは大丈夫でした。また、シェープファイルには、フィールド名に使える文字数が半角10文字までという制限があります。

snap_option.png

スナップとトポロジー

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

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

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

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

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

snap_option.png

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


地質図編集作業

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

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

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

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

地物の追加

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

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

 [編集]-[地物の追加]で盛り土のポリゴンを新規作成する例を図に示します (クリックで拡大)。
create_polygon.png

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

adding_a_polygon1.png adding_a_polygon2.png adding_a_polygon3.png

 ただし、おおざっぱにトレースするだけで済むように、先に大きなポリゴンを描いておくのがコツです。また、三重点付近を通過するときは、できるだけスナップ (またはなるべく接近) させるように注意が必要です。作成後にもポリゴンに「ヒゲ」が伸びていないか、三角窓が開いていないか確認するのがよいでしょう。

whisker.png triangle_window.png

ポリゴンの改変

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

  • 改変したいポリゴンの線分上 (もちろん頂点でもOK) をクリックするとノードのハンドルが表示されます。
  • 新たにノードを追加するときは、当該箇所をダブルクリックします。
  • ノードを削除するときは、当該ノードを選択しておき、Deleteキーで削除します。

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

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

ポリゴンの追加・拡張

ポリゴンの結合による拡張
ポリゴンは全体を一度に描く必要はありません。少しずつ描き足した複数のポリゴンを、結合することもできます。複数のポリゴンを結合するには、あらかじめ目的のポリゴンを選択しておき、[編集]-[選択地物の結合]で行います。隣接していないポリゴンでも有効です。
combine.png

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

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

ポリゴンの分割・削除

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

ポリゴンの切り分け
隣接する地質区分を描いておき、後から切り分けることができます。操作は上記の[編集]-[地物の分割]で行います。ただし、ポリゴンの外側を起点にして切り取る場合に有効です。複数のポリゴンを同時に分割する際には、選択図形がないようにしておきましょう。
なお、三重点が発生する場合にはうまくいかないことがあるのと、ひとつの地質区分は一度に切り抜くようにした方がよいようです (後からうまく結合できないことがありました)。
separate.png

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

 以下に、上記の手法を使った例を示します。まず、[編集]-[選択地物の結合]でポリゴンを連結させる例です (クリックで拡大)。

adding_a_polygon3.png adding_a_polygon4.png adding_a_polygon5.png adding_a_polygon6.png

 [編集]-[地物の変形]でポリゴンの外縁部を延伸させる例です (クリックで拡大)。
polygon_growth.png

 上記の各手順を複合した例を図に示します。[編集]-[地物の分割]でポリゴンを分割し、[ビュー]-[選択]-[地物の選択]、[レイヤ]-[属性テーブルを開く]で別の属性につけ替え、隣り合う[選択地物を結合]した後、[ノードツール]で整形しています (クリックで拡大)。
transform.png

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

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

エラーのチェック

 注意して作成したベクトルデータでも、何らかのエラーは起こりうるものです。これを確認するためには、[ベクタ] - [ジオメトリツール] - [妥当性チェック]を行います。作成中にはエラーになっていることに気がつかない場合が多いので、なるべく頻繁にチェックするのが良いでしょう。詳しくは「トラブルシューティング」の「ジオメトリエラー対策」をご覧ください。

ラインの描画・編集

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

line.png

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

ポイントの描画・編集

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

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


その他の編集作業

地物のコピー&ペースト

 地物は位置情報・属性情報を保持したまま、別のレイヤーにコピー&ペーストできます。

レイヤの結合

 レイヤの結合は、[ベクタ]-[データマネジメントツール]-[ベクタレイヤの結合]で可能です。開いているデータから、任意のレイヤを指定し、Runを押せばデフォルトでは一時レイヤ (temporary layer) として作成されます。シェープファイルを指定して、直接ファイルに出力することもできます。

属性テーブルの結合

 属性テーブルの結合は、csvファイルで行います。その手順は以下の通りです。

  1. キーとなるフィールド名 (idなど) を含むcsvファイルを作成します。
  2. 結合したいシェープファイルとcsvファイルを、共にQGISで開いておきます。
  3. シェープファイルのプロパティを開き、「結合」タブを選択。
  4. 左下にある「+」をクリックして「ベクタ結合の追加」ウインドウを開きます。
  5. 「レイヤの結合」でcsvファイルを指定。
  6. 「フィールドを結合する」のところでCSVファイル側のidに相当するフィールドを選択。
  7. 「ターゲットフィールド」のところでシェープファイル側のidに相当するフィールドを選択。
  8. 必要に応じて「結合するフィールドを選択する」
  9. 「OK」すれば属性テーブルの結合は完了。
  10. ただし、これはシェープファイルとcsvファイルがリンクしている状態なので、csvレイヤを削除すると解除されてしまいます。必要に応じてこれらすべての属性を含むシェープファイルとして新たに保存しておきます。結合したシェープファイルを右クリックして、「名前を付けて保存」すると完了です。

表示スタイルの設定

レイヤースタイルの設定

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

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

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

ポリゴンのスタイル設定の例を図に示します (クリックで拡大)。
polygon_style.png

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

ポリゴンのラベル表示
レイヤプロパティの「ラベル」タブから設定します。「このレイヤのラベル表示」を選択し、「ポイントをポリゴンの内側に移動する」にチェックを入れます。
マップチップ
マップチップは、カーソルを置いたとき (onMouseOver) に情報がポップアップされる機能。いわゆる「吹き出し」や「バルーン」に相当します。レイヤプロパティの「ディスプレイ」タブから設定します。フィールド名でもよいですが、KMLと同様にhtmlタグが利用できるので、更に凝ったアクションと連携することができます。

走向傾斜の表示

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

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

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

dip-strike_setting1.png

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

dip-strike_setting2.png

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


3D表示による確認

 平面図上で作業していると、尾根や谷に沿って描いた複雑な地質境界が本当に正しいか確認したくなることがあります。また、扇状地や溶岩流など、地形と地質が一致するような場合、境界付近のトレースに矛盾がないか気になることもあります。このようなときには、3D表示を使ってみましょう。以下では、Qgis2threejsというプラグインを利用します。Qgis2threejsはThree.jsというライブラリを利用して3Dモデルを作成し、ブラウザで表示させる (htmlを出力する) アプリケーションです。3D表示には標高データ (DEM) が必要なのですが、特にDEMを用意していない場合には、国土地理院の配信している標高データを利用することができます。

  1. QGISで、表示したい地図を開きます。
  2. [Web] - [Qgis2threejs] - [Settings]で開いた設定画面で、ブラウザを指定し、国土地理院の標高タイルを利用するチェックボックスにチェックを入れます。
  3. QGIS2threejsを起動します ([Web] - [Qgis2threejs] - [Qgis2threejs])。
  4. DEM LayerがGSI Elevation Tileになっているのを確認し、出力ファイルを指定します。他にも設定できる項目はありますので、適宜操作してください。
  5. Runを押せばhtml類が作られ、ブラウザで表示されます。

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


ジオタグ読み込み

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

    Exifreadのインストール
  1. Exifreadの公式サイトからtar.gzファイルをダウンロード。
  2. 解凍後出力される ExifRead-2.x.x というフォルダ内のexifread フォルダを、C:\Program Files\QGIS xxxxx\apps\Python27\Lib\site-packages へフォルダごとコピー。
  3. QGISの公式リポジトリからPhoto2shapeプラグインをインストール。
  4. メニューの[ベクタ]-[Photo2shape]-[Photo2shape]でプラグインを起動。
  5. 写真のフォルダおよびシェープファイルのパスを指定して実行。日本語が混在しても可。シェープファイルを新規に作成する場合は、「Append to existing file」のチェックを外しておきましょう。
  6. 地図上のアイコンはカメラのマークになるようです。
  7. QGIS上でプレビュー表示させる場合は、[レイヤプロパティ]の[ディスプレイ]で表示をHTMLとしてタグを設定します。
    例:<img src=[% "filepath" %] width="800" height="600">
    「マップチップ」機能 (ツールバーの吹き出し型アイコン) でプレビュー表示が可能になります。
  8. デフォルトではジオタグから比較的多くの属性を読み込むので、[属性テーブルを開く]で確認し、不要なカラムは削除します。
  9. KMLに出力する場合は、[レイヤ]-[名前を付けて保存]で保存。

トラブルシューティング

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

ノードの追加がうまくいかない

 ダブルクリックしてもうまくノードが追加されないときは、二つの頂点が同時に選択されていないか、確認しましょう。ひとつの頂点が選択状態またはどの頂点も選択されていない状態ですと普通はうまく追加できます。

adding_a_node.png

 それでもダメなときが確かにあります。そのときは、「レイヤ編集内容の保存」でベクトルデータを一旦保存してみましょう。[設定]-[ショートカットの構成]で、ショートカットキーを登録しておくと作業効率が上がります。こちらの対策を使うとほぼ大丈夫なので、最近は編集の時はもっぱら左手をショートカットキーの位置に置いて作業しています。

adding_a_node.png

ジオメトリエラー対策

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

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

属性テーブルの文字化け (フィールド名の変更)

 以前、このトラブルに遭遇したときには、フィールド名を変更するために「Table Manager」プラグインを用いて編集していました。しかし、現在では「Table Manager」プラグインは開発終了なので、「新しいフィールドの作成」と「古いフィールドの削除」を行うことになるでしょう。「属性テーブルを開く」と、文字のメニューがなくアイコンだけなのでのでわかりにくいですが、「新規フィールドの作成」と「フィールドの削除」のボタンがあります。また、同じ機能は[プロセッシング]-[ツールボックス]-[QGISジオアルゴリズム]-[ベクタテーブルツール]に、「属性テーブルにフィールドを追加する」、「カラムの削除」があります。

field_editing.png

 もし、フィールドに既に属性データが多数入力されている場合は、単に新規作成するのではなく「フィールド計算機」から新規作成すると、データをそのまま移行できるので便利です。「フィールド計算機」の「新しいフィールドを作る」をチェックし、必要な設定を済ませたら、中央のペインにある「フィールドと値」をクリックします。すると現在のテーブルにあるフィールド名が一覧に出てきますので、引き継ぎたいフィールド名をダブルクリックすれば、左ペインの「式」に値をコピーするための式が入力されます。右下にある「すべてのユニーク値」でコピーされる値をプレビューすることもできます。これで良ければ「OK」を押して完了です。

field_calc.png

 実は、Table Managerを使ったときも文字化けしたフィールド名を修正するのはなかなか容易ではなく、ベクトルデータを一度kmlにエクスポートしてから、属性情報をクリアにしたシェープファイル新たに作り直し、別途dbfファイルを直接操作 (コピー&ペースト) するという過程を経ました。dbfファイルはフリーソフトウェアのLibreOfficeで読み書きできました。


謝辞および外部リンク

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

CC BY 4.0 国際