QField cloudを使ってみました。

:::note info
これは [MIERUNE AdventCalendar 2023](https://qiita.com/advent-calendar/2023/mierune) 21日目の記事です。
昨日は @patrickyuen00 さんによる [続・オープンデータで家探し](https://qiita.com/patrickyuen00/items/3002bfb3ea3081aee7f5) でした。
:::


# はじめに

Opensource的な地理情報システム（GIS）ソリューションがどんどん増えていますが、オンフィールドでの位置情報データ取得のソリューションがまだ少ないです。
この記事では、QFieldというソリューションを試してみましょう。
QFieldのアーキテクチャが複雑ですので、まずは動作を説明いたします。

### QFieldとは？

QFieldは、フィールドワークを処理するためのOS/Android/Windows対応のGISアプリです。
具体的には、位置情報データを測量、編集、管理することができます。
https://qfield.org/

### QField Cloudとは？
QField Cloudでは、Googleドライブのようにプロジェクトをクラウドで保存することができます。
複数のデバイスや複数のユーザーがアクセスや同期ができ、オフラインでも現場での作業が可能です。

https://qfield.cloud/

### QField syncとは？
QField syncはQGISプラグインです。このプラグインを使用して、QFieldのプロジェクトをQGISで表示、管理、同期することができます。これがQFieldの強みです。
Fieldで取得したデータをQGISで管理し、その上で処理や解析を様々に行い、また同期することができます。

https://plugins.qgis.org/plugins/qfieldsync/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/4777aa84-7b3b-db15-2924-4ca073956ee7.png)

### QField アーキテクチャのまとめ

このアーキテクチャを使用して、QGISとQFieldを同期して作業することができます。
同期ロジックはGithubのPush/Pullみたいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/6452af67-7ce1-f977-d51d-a944260e563e.png)


# 1. セットアップ
QField projectの設定は、ステップがたくさんあります。
基本的にQFieldのホームページで手順が細かく説明されていますが、それが分かりやすくなるために、以下のまとめを先に確認することをおすすめです。

1- ウェブブラウザ上：

- QFieldCloudアカウントを登録（登録していない場合）
- アカウントにログインし、プロジェクトの作成

2- QGIS上：

- QField Syncプラグインをインストール
- QField Cloudアカウントにログイン
- QField Cloudで作成したプロジェクトを同期
- データの追加、設定、デザイン
- 同期（クラウドにプッシュ）

3- 現場デバイス上（スマートフォン、タブレットなど）

- QFieldアプリをインストール
- QField Cloudアカウントにログイン
- QField Cloudで作成したプロジェクトを同期
- 無事に表示されたら、Field作業を開始できます！


# 2. 活用事例：QFieldで自販機の位置を取得
日本には自販機が多くて便利ですが、田舎になると少なくなります。
真夏に走るときや、急にコーヒーが飲みたいときにお店もない、自販機もなくて、困るときがありました。そこで、自販機の位置を収集し（トイレも、店も）、ランナーやサイクリスト、ハイカーの友達に役立つプロジェクトを立ち上げました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/cb0412b9-6455-67c1-b01d-721a782861f5.png)

以下は、どのようにして行ったかのステップです。

### Step 1： QGIS上でプロジェクトのレイヤを準備し、Cloudにプッシュ
レイヤ：
- 自販機
- トイレ
- ベースマップ：Openstreetmap

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/7b62488f-d06e-5b83-0817-3540d8f4cc27.png)

Cloudへのプッシュ
‐ QField Sync Toolbarで、同期ボタンを押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/96c63130-21c6-4b1c-854a-8b0499b4db6a.png)

アクションを確認
‐ すべてのレイヤをプッシュするなど、アクションを確認してください。
‐ OKであれば、"Perform actions"ボタンを押て実行してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/99b01de3-44b3-51b6-ec52-67b555751610.png)

### Step 2：QFieldで測量
道を走りましょう！自販機を見つけたらフィーチャーを追加します。

- スマホのQFieldアプリ上で、さっき同期したプロジェクトを開いてください。
- Edit ModeをONしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/7c126ae3-41c7-43dd-6a2d-9d064bba7abd.png)

- GPSの現在地で測量できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/a77de0ee-10b0-53d2-9f94-1bdfce9eb538.png)

- 情報を記入して、保存してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/1449e90b-30d6-2979-25ee-a3ef3cf07790.png)

- 測量が終わったら、編集したフィーチャー（以下は5件）をCloudにプッシュできます。
- 下記のボタンを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/b701d278-549b-354e-1e42-cc3bd300d636.png)


- プッシュオプションを選択してください。
- 注意：プッシュするよりも完全に同期することをお勧めします。Pushだけした場合、QGISで反映されていないことがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/ed9bbf9f-4854-f712-b5b5-480aba756f4d.png)

### Step 3：測量したデータをQGISで反映
- QGIS画面で、同期ボタンを再度押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/96c63130-21c6-4b1c-854a-8b0499b4db6a.png)

- 以下の画面が表示されます。
- 注意！今回はCloudからデータをPullしたいので、Actionを確認しないといけません。
以下の画像通り、UploadではなくCloudからDownloadしましょう。そのため、`Prefer cloud`ボタンを押してから実行（Perform Actions）してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/be90aff8-271e-8fbb-071a-056cfa9f82e9.png)

無事に反映されました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168196/efbc448e-a22f-9afe-0f41-5b73e3ec71e3.png)

35度で4km走って、自販機を5つだけ見つけました…

# おわりに

QFieldとQGISで同期できて、現場での作業がとても便利になります。
同期が時々調子が悪いこともありますが、同期や確認をすれば何とかなります。
地元でやってみましたが、日本全国の自販機の位置が欲しいです…

:::note info
明日は@Guarneri001さんによる記事です！お楽しみにー
:::