Esri社では、ネイティブ アプリを開発するための SDK として、ArcGIS Runtime SDK を提供しています。過去に、GeoNet ではこのArcGIS Runtime SDK について「デスクトップ地図アプリ開発」シリーズを連載してきました。これらのシリーズでは、ArcGIS Runtime SDK の特長や、地図アプリの基礎となる機能について紹介しております。本シリーズでは、ArcGIS Runtime SDK の特長の1つである、オフラインマップを開発したい方向けにArcGIS Runtime SDK で実現できるオフラインのワークフローについて紹介したいと思います。
本シリーズでオフラインワークフロー、データの準備、コードのポイントについて学んでいただき、オフラインアプリの開発を始める方の第一歩として役立てていただければと思います。ArcGIS Runtime SDK を使って開発する際には、ガイドやサンプル、APIリファレンスなど多くのリソースが提供されているので併せて参照ください。
シリーズの内容は以下を予定しています。
第1弾では、オフラインワークフローの 2 つのパターンについて紹介し、それぞれのパターンとデータの特徴について学んでいただきます。
オフラインで地図を閲覧したり、編集をしたり、解析をするためには、オフラインで活用するためのデータを準備する必要があります。そのデータをどのように準備するか、また、ネットワークの接続状態、業務での活用用途によってオフラインを実現するためのワークフロー パターンが異なります。以下で、オフラインを実現するための 2 つのワークフローについて紹介します。
ArcGIS Online や ArcGIS Enterprise といった Web GIS に公開した Web マップを使って必要な時に必要な範囲のデータをダウンロードして使用する編集や編集内容の同期も可能なパターンです。
このパターンの特徴は、要求に応じて特定のマップ、レイヤー、データをデバイスにダウンロードできるアプリを構築することができることです。ユーザーはオフラインでデータを編集したり、ネットワークに再接続した際に他のユーザーと編集内容を同期・共有したりすることができます。
Web GIS からダウンロードする地図データは、オンラインのマップから必要なエリアとデータを切り出してオフライン アプリで使用する 形式になっており、以下のようなイメージとなります。
上記のようなオフライン環境で利用する地図データは次の2つの方法で作成することができます。
ArcGIS のデスクトップ製品 の ArcGIS Pro を使用して地図データや住所検索・ルート検索のもととなるデータなどを作成します。作成したデータを端末にコピーして使用する読み取り専用のパターンです。
このパターンの特徴は、ArcGIS Pro を使用して、オフラインでも持ち運び可能なモバイル マップ パッケージやモバイル シーン パッケージを作成することができ、一度データを準備し、デバイスに直接コピーするだけで済むことです。デスクトップ パターンは、データが静的で変更が少ない場合に適しています。このコンテンツには、フィーチャ、表形式データ、タイル キャッシュ、ルート検索のためのネットワーク データセット、ロケーターなどを含めることができ、1 つのモバイル マップ パッケージまたはモバイル シーン パッケージ ファイルにパッケージ化することができます。
Topic
読み取り専用データ (モバイル マップ パッケージやモバイル シーン パッケージ) に加えて、シェープファイルや GeoPackage など、別途ファイルとしてデータを保持することによりデータの編集を行うことができます。
※別ファイルで保持するデータの編集を行うためには Basic または Standard ライセンス以上が必要です(ファイル形式により必要なライセンスが異なります)。
上記で 2 つのワークフロー パターンについて紹介しました。
次に、各パターンで登場したデータ (オンデマンド、プレプラン、モバイル マップ パッケージ、モバイル シーン パッケージ) についてそれぞれの特徴を表で紹介します。
※以下は2020年7月14日現在の情報
| サービス パターン | サービス パターン | デスクトップ パターン | デスクトップ パターン |
機能 | プレプラン マップ | オンデマンド マップ | モバイル マップ パッケージ | モバイル シーン パッケージ |
レイヤーの表示 識別、分析 | 〇 | 〇 | 〇 | 〇 |
データの編集 | 〇 | 〇 | × | × |
編集データの同期 | 〇 | 〇 | × | × |
ユーザー間でのオフラインマップの共有 | 〇 | × | × | × |
定期的なオンラインデータ更新を受信 | 〇 | × | × | × |
ジオコーディング | × | × | 〇 | 〇 |
ルーティング | × | × | 〇 | 〇 |
ラスター レイヤー | × | × | 〇 | 〇 |
テーブル データ | × | × | 〇 | 〇 |
いかがでしたでしょうか。今回は、ArcGIS Runtime SDK を使って実現できるオフライン ワークフローについて説明しました。データの編集や、チームでの共有が必要な場合はサービス パターン、扱うデータが静的なものであればパッケージを作成してデスクトップ パターンでオフライン アプリを実現することができます。次回の連載では、今回紹介した、デスクトップ パターンを実現するための、データの準備方法、ポイントとなるコードについて紹介します。
ArcGIS Runtime SDK で実現できるオフラインワークフロー ~デスクトップ パターン~
・ArcGIS 関連ページ
・ArcGIS Runtime SDK for .NET (ESRIジャパン製品ページ)
・ArcGIS for Developers (ESRIジャパン製品ページ)
・ArcGIS Online (ESRIジャパン製品ページ)
・ArcGIS Enterprise (ESRIジャパン製品ページ)
・ArcGIS Runtime SDK for .NET (米国Esriページ (英語) )
・シリーズブログ関連ページ