コンテンツにスキップ

QFieldSync

QFieldSync plugin for QGISは、QField用のQGISプロジェクトの準備とパッケージ化を支援します。

QFieldSyncは、次の自動化によりプロジェクトを準備するのをサポートします。

  • プロジェクトのセットアップに必要な手順 (例えば、 portable_project)
  • 一枚のラスタレイヤー定義されたスタイルからのベースマップの生成または、 マップテーマによってできます。
  • オフライン編集機能の構成と 変更内容の同期

ワークフロー

プロセスの概要を簡単に説明するために、一般的な手順のリストを以下に示します。

  1. QFieldパッケージを生成します。 これは別のフォルダーにある作業用のコピーです。
  2. QFieldパッケージを対象のデバイスにコピーします。
  3. フィールドにデータ収集に行きましょう。
  4. 更新したデータをデスクトップマシンにコピーして戻します。
  5. 更新したデータをデータベースもしくはファイルと同期します。

インストール

QGISでプラグインライブラリを開いて、 qfield sync と検索します。リストの中のプラグインを選択し、 インストール をクリックします。

QGISプラグインリポジトリのQField Syncプラグイン
QGISプラグインリポジトリのQField Syncプラグイン

構成

プロジェクトの構成は、.qgsプロジェクトのマスターファイルに保存されます。 これにより、プロジェクトを一度事前設定すれば、繰り返し使用することができます。

プロジェクトの設定
プロジェクトの設定

レイヤーの構成

プロジェクトレイヤの設定
プロジェクトレイヤの設定

プロジェクトの構成ダイアログでは、 アクション は個別のレイヤーごとに定義できます。レイヤーの種類によって異なるアクションを使用できます。

コピー

:レイヤーがパッケージのフォルダー内にコピーされます。これはファイルベースのレイヤーに対してのみ使用できます。

何もしない

:そのレイヤーのデータソースに対しては何も変更しません。これはWMS、WFSやPostGISなどの非ファイルベースのレイヤーに対してのみ使用できます。

オフライン編集

:レイヤーの作業用コピーがパッケージフォルダーにコピーされます。 作業中にパッケージ化されたプロジェクトで行われたすべての変更は、ログとして記録されます。 変更内容をのちに同期する際は、このログが再生され、すべての変更がメインデータベースにも適用されます。 競合することはありません。

削除

:そのレイヤーは作業用のコピーからは削除されます。レイヤーがベースマップとして使われていたりする際にとても便利な機能で、パッケージ後のプロジェクト上でそのレイヤが表示されることはありません。

プロパティ

プロパティには、QFieldプロジェクトを微調整するための追加オプションがいくつかあります。

  1. ジオメトリをロック:ジオメトリの変更を許可せず、このレイヤーの属性のみ変更を許可する。

  2. 添付ファイルのデフォルトの名前の設定は Configurable picture pathを参照ください。

  3. リレーションエディタウィジェットに表示される項目の最大数を設定する

QFieldSyncのレイヤプロパティ
QFieldSyncのレイヤプロパティ

QFieldの表示される項目の最大数の設定

QField 内のリレーションシップで表示されている項目の最大数を調整するには、以下の手順に従います:

  1. レイヤープロパティダイアログへのアクセス:
  2. QGISのレイヤープロパティダイアログを開き、リレーションエディタを表示します。

  3. QFieldタブへ移動:

  4. レイヤープロパティダイアログの一番下にある QField タブを探します。

  5. リレーションシップ設定の変更:

  6. 「リレーションシップ設定」セクションで、修正したいリレーションシップに対応するセクションを探します。

  7. 表示可否制限の調整:

  8. 目的のリレーションシップの行で、「表示されている項目の最大数」という列を見つけます。
  9. 既存の数値を削除して可視性を「無制限」に設定すると、フィールドは数値(デフォルト4)から「無制限」に変換されます。
  10. 「適用」をクリックして、レイヤープロパティの変更を保存します。

リレーションシップの最大表示項目数
リレーションシップの最大表示項目数

QFieldで表示される項目
QFieldで表示される項目

ベースマップの構成

ベースマップは、パッケージ化されたプロジェクトファイルの一番下のレイヤーとして追加されるラスターレイヤーです。

ベースマップオプションが有効になっている場合、プロジェクトがパッケージ化されるたびにベースマップがレンダリングされます。 関心のあるエリアーレンダリングされる範囲ーは、パッケージング時に選択されます。

ベースマップには2つのソースがあります。

レイヤー

:ラスターレイヤーです。これはWMSのようなオンラインのレイヤーをオフライン用にコピーする際や、ECWとMrSIDのようなサポートされていないレイヤーを作業用コピーとして扱いたい場合などに役に立ちます。

マップテーマ

:マップテーマです。これはスタイル設定されたいくつかのレイヤを組み合わせてベースマップを生成する際に役に立ちます。これらのレイヤーは、作業パッケージから削除でき、デバイスでレンダリングする必要はありません。 これにより、デバイスのディスク容量とバッテリーを節約できます。

タイルサイズは空間解像度を定義し、 ピクセルごとの地図単位の数を決定します。 マップキャンバスのCRSの単位がメートルで、タイルサイズが1に設定されている場合、各ラスターのピクセルの空間範囲は1 x 1 mになり、1000に設定されている場合、各ラスターピクセルの空間範囲は1 km2になります。

備考

QFieldCloudではベースマップの生成が無効になっています。処理フレームワークで「XYZタイル(MBTiles)を生成」または「マップをラスターに変換」アルゴリズムを実行することで、ベースマップを手動で追加することができます。

オフライン編集の構成

もし 対象領域の地物のみを同期 がチェックされている場合、地図キャンパスの対象の領域内に含まれる地物のみがオフライン編集用の作業コピーにコピーされます。

QField用にパッケージする

プロジェクトをパッケージするには、Plugins > QFieldSync > Package for QFieldをクリックしてください。プロジェクトの設定が完了したら、プロジェクトをフォルダにパッケージ化します。このフォルダにはQGISプロジェクトファイル(.qgs)と関連データが含まれます。

QField用にプロジェクトをパッケージする
QField用にプロジェクトをパッケージする

QFieldSyncはデフォルトでパッケージングオプションをツールバーパネルに表示しませんが、Plugins > QFieldSync > Preferencesからアクセスできます。

QFieldSync Preferences button
QFieldSync Preferences button

"パッケージングオプションをツールバーに表示"のチェックボックスをオンにするだけです。

QFieldSync Preferences
QFieldSync Preferences

フォルダーをデバイスにコピーします。QFieldを起動し、プロジェクトを開いて、データ収集を開始してください。

また、QGISの通常の名前を付けて保存を使用してQGISプロジェクトを保存することも忘れないでください。変更内容を同期するときに後でそのプロジェクトを開く必要があります。

プロジェクトのパッケージング中に、Advanced -> Directories to be copied でディレクトリをチェックすることで、コピーするサブディレクトリを選択することができます。

サブディレクトリの選択
サブディレクトリの選択

QFieldCloudを使わずにiOSデバイスと同期する方法

iTunesのファイル共有機能を使って、QFieldのルートフォルダにインポートしてください。

  1. iTunesアプリを開き、iTunesウィンドウの左上付近にあるiPhoneボタンをクリックします。
  2. 左サイドバーのファイル共有オプションをクリックします。
  3. アプリのQFieldを選択し、Add Fileをクリックしてください。ファイルブラウザが開きます。
  4. ファイルを選択します。

QFieldからの同期

収集した内容を同期する場合は、QGISでプロジェクト(通常の名前を付けて保存から保存したプロジェクトファイル)を再度開きます。

プロジェクトフォルダをデバイスからコンピュータにコピーをし、 QFieldから同期する メニューを使って、更新内容をポータブルプロジェクトからメインプロジェクトに同期します。

QFieldから同期する
QFieldから同期する

データの同期は、必ず一度だけ行ってください。つまり、再度データを収集しに行く場合は、後々の同期問題(重複など)を避けるために、事前に新しい QField パッケージを作成しておく必要があります。