チュートリアル: QGIS、MerginとInputを使った現場調査
サイト: | OpenCourseWare for GIS |
コース: | QGIS、MerginとInputを使った現場調査 |
ブック: | チュートリアル: QGIS、MerginとInputを使った現場調査 |
印刷者: | ゲストユーザ |
日付: | 2025年 04月 3日(木曜日) 23:22 |
1. 概要
Input は、ユーザーが現場でデータを収集することができるシンプルな調査アプリです。入力フォームとデータの準備はQGISソフトウェアで行い、Merginプラグインとリポジトリを使用してInputアプリと同期させることができます。
Inputは完全なGIS/マッピングアプリケーションではありません。シンプルで使いやすく、シームレスなデータ同期を念頭に置いて設計されています。
Inputの典型的なワークフローは以下のステップで構成されています。
- プロジェクトの準備: ユーザーは背景と調査用のレイヤーを読み込み、入力フォームを設定し、レイヤーにスタイルを適用し、地図のテーマを設定し、調査に使用するレイヤーを定義します。
- データ/プロジェクトの転送:プロジェクトがセットアップされると、ユーザーはデバイスにデータを転送する必要があります。これは Mergin を通して実現できます。
- 入力作業:地図のナビゲーション、データ編集、フォームへの入力、既存データの閲覧、変更したデータのMerginへのアップロードを行います。
2. プロジェクトの準備
QGISでのプロジェクトの準備から始めましょう。
プロジェクトでは以下のレイヤをそれぞれ区別する必要があります。
- 現場の状況を表示する背景レイヤー
オフラインとオンラインのレイヤをどちらも使用できます。またそれらはラスタでもベクタでもどちらでも構いません。
調査用のレイヤー
今回のプロジェクトでは以下の背景レイヤを使用します。
- Sentinel 2 trueカラー (RGB = バンド 2, 3, 4)
- Sentinel 2 falseカラー (RGB = バンド 8, 4, 3)
- OpenStreetMapオンライン
- OpenStreetMapオフライン
- 対象エリアの境界を持つベクタレイヤ
2.1. ラスタの背景レイヤを追加する
このセクションでは、Sentinel 2のTrueカラーの画像を追加し、同じ手順を使用してSentinel 2のFalseカラーの画像を追加します。
提供されているSentinel 2サブセットには以下が含まれています。
- バンド 2 (青)
- バンド 3 (緑)
- バンド 4 (赤)
- バンド 8 (近赤外)
レイヤのスタイリング


タイルを作成する


2.2. オンラインの背景レイヤを追加する
現場でインターネット接続できるのであれば、WM(T)SやオンラインのXYZタイルを背景地図として使用することができます。このセクションでは、OpenStreetMapのオンラインレイヤーを調査プロジェクトに追加します。また、現場でインターネットに接続できない場合に備えて、オンラインレイヤーをオフラインで利用できるようにしておきます。
前のセクションから引き続き同じプロジェクトを使用していきます。
1. ブラウザパネルから、XYZタイルを展開して、OpenSteetMapをダブルクリックします。
OpenStreetMap レイヤがこれでレイヤパネルに表示され、地図キャンバスにも表示される様になりました。
QGISは他にもオンラインの地図を追加する方法を用意しています。このデータソースマネージャを開くボタンをクリックして、WM(T)S レイヤの追加を選択できます。 オンラインマップを使用するための便利なプラグインとして、QuickMapServicesプラグインがあります。このチュートリアルでは OpenStreetMapレイヤーのみを使用します。
オンラインレイヤーをオフラインで利用できるようにする
現場でインターネットに接続できなくても、オンラインマップを使用したい場合は、前のセクションで行ったように .mbtilesファイルにエクスポートする必要があります。
2. まず、オンザフライ再投影をEPSG:3857に変更します。これは、レイヤの一つを右クリックして、CRSの設定 | レイヤのCRSをプロジェクトのCRSに設定を選択することで行うことができます。XYZタイルがWeb Mercator CRS (EPSG:3857)を使用しているため、この設定が必要となっています。
3. プロセッシングツールボックス | ラスタツール | XYZタイルの生成 (MBTiles)と進みます。
4. レイヤ範囲には、前のセクションのSentinelレイヤの1つを選択します。そうすると、タイルはその領域に対してのみ生成されます。
5. ズームレベルとして15を再度選択し、その他の設定はデフォルトのままとしておきます。レイヤをOSM_Standard.mbtilesとして保存するようにします。
6. 実行をクリックし、計算が完了したら閉じます。
7. ブラウザパネルからOSM_Standard.mbtiles ラスタを地図キャンバスにドラッグしオンラインのOSM Standardレイヤと比較します。
8. 混乱を避けるために、オンラインレイヤーの名前を OSM Online に、オフラインレイヤーの名前を OSM Offline に変更します。これは、レイヤー名を右クリックして、レイヤの名前の変更...を選択することで行うことができます。
9. プロジェクトを保存します。
これで、測量プロジェクトにオフラインとオンラインのラスタができました。次のセクションでは、背景のベクターレイヤーを追加します。
2.3. 背景のベクタレイヤを追加する
背景レイヤーとしてベクターレイヤーを使用している場合、
- データの簡略化されたジオメトリバージョンを使用するようにしてください。これにより、スムーズな地図のナビゲーションが可能になります。
- 測量レイヤとして使用するつもりがないすべてのベクターレイヤは、読み取り専用に設定する必要があります。
このセクションでは、調査エリアの境界線を持つポリゴンを持つレイヤーを入れたGeoPackageを作成します。同様の方法でシェイプファイルを作成することもできます。
前回のセクションで使用したプロジェクトを引き続き使っていきます。
1. トゥルーカラーのSentinel画像が表示されていることを確認し、範囲内にズームしておきます。
2. オンザフライ再投影を、このエリアで使用しているEPSG:32632に変更します。画面右下のEPSGコードをクリックして、正しい投影座標系を選択します。
3. メインメニューでレイヤ | レイヤの作成 | 新規GeoPackageレイヤ...と進みます。
4. ブラウズボタン をクリックし、プロジェクトフォルダに移動し、新しいGeoPackageデータベースの名前(例. survey.gpkg)を入力します。
5. テーブル名にBoundaryと入力します。ジオメトリタイプにはマルチポリゴンを選択します。座標系を忘れずにEPSG:32632に設定してください。
6. 属性が必要な場合は、ここに追加します。GeoPackage は自動的に属性テーブルに地物ID を追加しますので、属性が必要ない場合は、このままにしておくこともできます。次のセクションでは、測量レイヤーの属性を作成します。
7. OKをクリックして地図キャンバスに戻ります。
これで空のポリゴンベクタレイヤがBoundaryという名前で、レイヤパネルに追加されました。
8. デジタイズを開始するには、Boundaryレイヤーがレイヤパネルのトップにあることを確認し、選択します。ツールバーの編集モード切替ボタンをクリックします。
9. ポリゴン地物を追加ボタンをクリックして、対象領域の境界線を示すために地図キャンバスにポリゴンを描画していきます。
10. 右クリックしてポリゴンを閉じます。ポップアップ画面で属性値を入力する様に尋ねられます。ここではデフォルトのままOKをクリックします。
11. 編集モード切替ボタンをクリックして編集を終了し保存します。
ここでは、境界線だけが見えるようにポリゴンのスタイルを設定する必要があります。
12. ボタンをクリックしてレイヤスタイルパネルを開きます。
13. シンプル塗りつぶしをクリックし、塗りつぶし色のドロップダウンリストの矢印をクリックし、透明な塗りつぶしを選択します。
14. ストローク色を赤色に、ストローク幅を1mmに設定します。
このレイヤは測量用のレイヤではないので、このベクタレイヤを読取専用にする必要があります。
15. メインメニューでプロジェクト | プロパティと選択します。
16. データソースタブを選択します。
17. Boundaryレイヤの読取専用にチェックを入れます。
2.4. 調査用のレイヤを追加する
ベクトルレイヤは、Inputアプリの調査用レイヤとして追加することができます。
ここでは、リモートセンシングによる作物被覆分類のためのグラウンドトゥルースデータを収集するための調査レイヤーを作成します。
以下の手順で行っていきます。
- 必要な属性を持つポイントのベクタレイヤーを作成します。
- ポイントのスタイリング
- ウィジェットを使って属性フォームを作る
- 入力プレビューパネルの設定
必要な属性を持つポイントのベクタレイヤーを作成する
1. メインメニューでレイヤ | レイヤの作成 | 新規GeoPackageレイヤと進みます。
2. ブラウズボタン をクリックし、プロジェクトフォルダに進み、前回のセクションで作成したGeoPackage(例. survey.gpkg)を選択します。
3. テーブル名にGroundtruthと入力します。ジオメトリタイプはポイントを選択します。座標系はEPSG:32632と設定します。
4. それでは属性を追加していきます。GeoPackageではユニークな地物IDが自動的に生成されるので、IDを属性として追加する必要はありません。下のスクリーンショットのように属性を追加します。フィールドリストに追加ボタンで追加します。
5. 終わったらOKをクリックします。
6. ポップアップが上書きするか新しいレイヤを追加するか尋ねてきます。新しいレイヤを追加を選択すると、それがGeoPackageに追加されます。
調査ポイントのスタイリング


ウィジェットを使って属性フォームを作る



値 | 説明 |
---|---|
1 | Crop land |
2 | Tree cover |
3 | Shrubland |
4 | Grassland |
5 | Wetland |
6 | Artificial |
7 | Bare soil |
8 | Fallow land |
9 | Seasonal water |
10 | Permanent water |
18. 制約を非NULLに設定します。作物マッピングの目的から考えて最も選択される可能性が高いため、デフォルトの規定値を1にします。
値 | 説明 |
---|---|
1 | Wheat |
2 | Maize |
3 | Rice |
4 | Barley |
5 | Soybeens |
6 | Pulses |
7 | Cotton |
8 | Potatoes |
9 | Alfalfa |
10 | Sorghum |
21. 制約に次の式: "Land cover type" = 1と書きます。これはLand Coverの値が1の時のみ入力可能になることを意味します。式制約を強制をチェックすることでユーザーが制約を上書きできない様にすることができます。








入力プレビューパネルの設定
Google マップと同様に、マップ上で地物が識別されるとプレビュー パネルが表示されます。特定のレイヤを有効にするには、QGIS デスクトップの プロジェクトのプロパティでこのオプションを有効にする必要があります。
29. プレビューパネルの設定では、まずGroundtruthレイヤで右クリックしプロパティを選択する必要があります。そのあと表示名タブを選択します。
-
タイトル - これは、フィールド名または式のいずれかである 「表示名」を使用します。
-
コンテンツ - コンテンツエリアに表示するものは3つのオプションがあります。1.フィールドの値、2.画像、3.HTMLです。ここでは "HTML Map Tip" を使用します。QGIS は常にマップチップの内容を HTML と解釈しますが、Input はさらに 2 つのモードを許可するために構文を拡張します。マップチップが指定されていない場合、Input は最初の 3 つのフィールドを使用し、それらの属性値を表示しようとします。
フィールドの値
「description」と「time」フィールドの値を表示するマップチップのサンプルコンテンツです。
# fields
fid
date and time
マップチップの内容が1行目に# fields マーカーが付いている場合、以下の行はプレビューに記載すべきフィールド名として理解されます。最大で3つのフィールドが表示されます。式は使用できません。
イメージ
フィールド「image_1」のファイルパス(プロジェクトディレクトリへの相対パスを含む)で指定された画像を表示させるマップチップのサンプルです。
# image
file:///[%@project_folder%]/[% "Picture" %]
マップチップの1行目に# image マーカーがある場合、次の行が画像のURLとして理解されます。ファイルシステム上の通常のファイルであるか、ネットワークからのリモート画像であっても良いです。画像のURLに埋め込まれた表現は評価されます([% 1+1 %]で囲まれています)。
HTML
HTML ページとしてレンダリングされて表示されるマップのコンテンツのサンプルです。
<p><strong>Notes:</strong>[% "notes" %]</p>
マップチップに特別なマーカーが含まれていない場合、マップチップはHTMLコンテンツであることが前提となります。HTML の限られたサブセットのみがサポートされます。https://doc.qt.io/qt-5/richtext-html-subset.htmlを参照ください。
2.5. 地図テーマを作成する
背景マップの変更を容易にするために、QGIS プロジェクトで地図テーマを設定することができます。
地図テーマを使用すると、テーマに保存されている可視のレイヤーのみを表示することができます。
すべてのテーマでは、上部に測量レイヤ (Groundtruth) が必要で、その後に境界レイヤが続きます。
次の様な地図テーマを作って表示させてみましょう。
- Sentinel True Colour
- Sentinel False Colour
- OSM online
- OSM offline



3. Merginでプロジェクトを同期する
Inputには、プロジェクトとデータをシームレスに同期するための機能が組み込まれています。
このセクションでは、前のセクションで作成したプロジェクトを、Mergin クラウドサービスと同期させます。
1. インターネットのブラウザでMergin (https://public.cloudmergin.com/)にサインアップします。
2. QGISでMerginプラグインをインストールします。
3. ブラウザパネルでMerginフォルダを見つけられるようになります。
注 1: Mergin プラグインにはメニュー エントリやツールバー アイコンがありません。サービスとのやりとりは、QGIS ブラウザ パネルを介してのみ行われます。
注 2: インストール後に QGIS ブラウザ パネルで Mergin を表示するには、QGIS を再起動する必要がある場合があります。
Merginプロジェクトを見るにはサインインする必要があります。
- Custom Mergin Server URL: https://public.cloudmergin.comと入力します。
- Username: Merginのユーザー名かメールアドレスを入力します。
- Password: Merginのパスワードを入力します。
- Test Connection をクリックしOKと表示されれば問題ありません。
プロジェクトの一覧を表示するには、QGIS ブラウザ パネルの Mergin の左にある矢印をクリックします。
Merginプラグインを使用する
Merginプラグインからは以下の機能が利用できます。
新しいプロジェクトを作成する
8. ブラウザパネルでMerginを右クリックし、Create new projectを選択することで新しいプロジェクトをスタートできます。
- Project nameに名前を入力します。
- Public を選択するとプロジェクトが全てのMerginの利用者に利用可能になります。
- プロジェクトディレクトリは、プロジェクトと関連するレイヤーが存在するフォルダになります(前のセクションで作成したプロジェクト)。
9. OKをクリックします。
10. プロジェクトが正常に作成されたことを示すポップアップウィンドウが表示されます。閉じるをクリックします。
11. Mergin | My projectsの下にプロジェクトを見つけられます。
12. Mergin のウェブサイト (https://public.cloudmergin.com/)で結果を確認します。 プロジェクトとファイルは次のようにリストアップされているはずです。
これで、プロジェクトはMerginのクラウドサービスと同期され、4.で説明するスマートフォンやタブレットのInputアプリと同期することができます。
以下のサブセクションでは、Mergin プラグインを使用して作業する際の参考にしてください。
プロジェクトをダウンロードする
プロジェクトをダウンロードするには、
- ブラウザパネルのMerginにあるプロジェクトを右クリックします。
- Downloadを選択します。
- 新しく表示されるウィンドウでフォルダパスを設定します。
- プロジェクトがダウンロードされたら、ダウンロードしたプロジェクトを開くことができます。
変更を同期させる
Mergin サービスでは、ローカルでの変更をサーバーに同期させることができます。ブラウザパネルからプロジェクトを右クリックして、Syncronizeを選択します。
また、同期機能を利用して、ローカルプロジェクトに加えた変更をMerginからダウンロードすることもできます。
ローカル/ダウンロードされたプロジェクトの削除
プロジェクトとその関連ファイルをローカルで利用可能な状態にしたくない場合は、ブラウザ パネルでプロジェクトを右クリックし、Remove locallyを選択することで削除できます。
必ずこの機能を使用してプロジェクトを削除するようにしてください。手動で削除すると、同期の問題が発生する可能性があります。
サーバーからプロジェクトを削除
このコマンドを実行すると、プロジェクトが Mergin サーバーから削除されます。サーバーからプロジェクトを削除するには、まずローカルでプロジェクトを削除する必要があります。
また、プロジェクトフォルダ(レイヤー、SVGなどを含む)をMerginプロジェクトのWebページにドラッグ&ドロップすることもできます。4. Inputを使用したデータの入力とフォームの編集
プロジェクトにアクセスする
1.Google Play StoreもしくはApp StoreからInputアプリをインストールします。
初めてアプリケーションを開くと、ホーム画面が表示されます。この画面では、ローカル(/sdcard/INPUTフォルダの下)に保存されている全てのプロジェクトが表示されます。
2. Mergin クラウド上のプロジェクトにアクセスするには、My projectsを選択してください。Merginにログインするには、ログイン情報が必要です。
ログインすると、プロジェクトの右にあるダウンロードボタンを押すことで、プロジェクトをダウンロードしてローカルで作業することができます。
3. 下向き矢印で雲アイコンをタップすると、前のセクションで作った調査プロジェクトをダウンロードできます。

プロジェクトはローカルにダウンロードした後、Inputで利用可能になります。
4. Homeを選択し、ダウンロードしたプロジェクトを見ることができます。
5. 下のプロジェクトをタップしてInputで開きます。
これで地図テーマの一つが表示されるようになりました。
背景レイヤを変更する

地物の追加と編集
10. 地物を追加するには、下の方のパネルから Record ボタン をタップします。Recordボタンをタップすると編集可能な全てのレイヤがリストアップされます。今回はGroundtruthレイヤだけです。
Inputでは、地物をキャプチャするための2つのモードがあります。
-
GPSロケーションまたはストリーミング(ライン/エリアをキャプチャしている場合)
-
フリーハンド:線や領域にポイントやノードを追加する
ポイントをキャプチャする
調査レイヤーはポイントレイヤーで、GPS位置に十字線を表示します。
11. 調査している区画に地図を移動し、「Add Point」をタップします。Move the map to the parcel that you are observing and tap Add Point
. 十字線より下の点が記録位置となります。必要に応じて「GPS
」をタップすることで、自分の位置に戻ることができます。必要であれば、他の地図のテーマに切り替えて、より良い方向付けをすることができます。


キャプチャされたポイントを編集する

データ/プロジェクトの同期

データをQGISにダウンロードする
線やエリアをキャプチャする
調査レイヤーが線またはエリアの場合、下部のパネルは下の図のように変化します。
次のように行います
-
Add point
ボタンを使って地図上で手動でナビゲートしていくことで線やエリアの形を定義していきます。
-
GPSをストリームしてラインやエリアを形成したい場合は、左下のGPSボタン
を長押ししてください。
終了したら、Doneを押します。地物がエリアの場合は、最後のポイントを最初のポイントに結合してシェイプを閉じます。