ArcGIS Online でフィーチャ サービスを自動更新 (その1) に続き、今回はビューの作成や切り替えについてご紹介します。
ビューは複数のサービスと関連を持つことができます。
基本の考え方は以下の通りです。
ビューにはサービス A とサービス B の 2 つのホスト フィーチャ サービスが関連付けられており、ビューはサービス A を指していて、一方でサービス B はアイドル状態です。ユーザーがビュー経由でサービス A にアクセスしている間に、サービス B は上書きコンテンツを受け取る対象となります。サービス B が更新されると、ビューからすべてのレイヤーがクリアされ、サービス B で新しく更新されたレイヤーがビューに追加されます。サービス A はアイドル サービスとなり、次の上書き更新の対象となります。
※ホスト フィーチャ ビューは、一度に 1 つのホスト フィーチャ サービスのみを指すことができます。
ビューの作成
その1で作成したホスト フィーチャ サービスの概要より、[ビュー レイヤーを作成] をクリックしてビューを作成します。
ビューの関連サービスの確認
OverwriteFS ツールを使用して、ビューの関連サービスを確認してみます。
引数として、プロファイル名、ビューのアイテム ID、タイトル、-ListRelated を指定して実行できます。
C:\temp>cd /d C:\work\OverwriteFS C:\work\OverwriteFS>python OverwriteFS.py EsriJapanOnline b671f9b4b1b14f7a9ef4bc0292919979 V_POLYGONDATA -ListRelated
◇結果
Accessing ArcGIS Online/Enterprise... - Checking item... Relies on Data Item: e3b91a0ffbfa42b5b40a3f146a7cbb12, 'POLYGONDATA_gdb' (Feature Service)
POLYGONDATA_gdb よりビューを作成したので関連サービスとして結果が出てきます。
ここで POLYGONDATAB_gdb を新たにフィーチャ サービスとして追加します (その1と同様にファイル ジオデータベースを ArcGIS Online にアップロードして作成します)。
OverwriteFS ツールを利用して、さきほど作成したビューにアップロードした POLYGONDATAB_gdb を関連づけます。-AddRelated オプションを使用します。引数として、プロファイル名、ビューのアイテム ID、ビュータイトル、-AddRelated、POLYGONDATAB_gdb のアイテム ID を指定します。
C:\work\OverwriteFS>python OverwriteFS.py EsriJapanOnline b671f9b4b1b14f7a9ef4bc0292919979 V_POLYGONDATA -AddRelated 27ec4aa49eb04e64b25078e6aea9bb42
◇結果
Accessing ArcGIS Online/Enterprise... - Checking item... - Adding Relationship to Item: 27ec4aa49eb04e64b25078e6aea9bb42, 'POLYGONDATAB_gdb' Relies on Data Item: e3b91a0ffbfa42b5b40a3f146a7cbb12, 'POLYGONDATA_gdb' (Feature Service) Is Child to Item: 27ec4aa49eb04e64b25078e6aea9bb42, 'POLYGONDATAB_gdb' (Feature Service)
さきほどアップロードした POLYGONDATAB_gdb が 2 番目のサービスとしてビューに関連付けされました。ただし、ビュー自体はまだ POLYGONDATA_gdb を指しています。
ビューの切り替え
ここでビューの指すフィーチャ サービスを POLYGONDATAB_gdb に切り替えてみましょう。- SwapLayers オプションを利用すれば切り替えができます。
C:\work\OverwriteFS> python OverwriteFS.py EsriJapanOnline b671f9b4b1b14f7a9ef4bc0292919979 V_POLYGONDATA -SwapLayers
◇結果
Invoking Feature View Layer Swap Workflow... * Service/View Item 'data' is empty, nothing to backup! Acquiring Target Feature Service... - Current Feature Service: /POLYGONDATA_gdb/FeatureServer - Target Feature Service Item Id: 27ec4aa49eb04e64b25078e6aea9bb42 - Target Feature Service Title: 'POLYGONDATAB_gdb' - Target Feature Service Filename: 'POLYGONDATAB.gdb.zip' (File Geodatabase) Collecting Feature View Details for Swap... Starting Swap Layer Process... - Dropping Existing Layers... - Success! Elapsed Time: 0:00:09.720279 - Adding Target Feature Service Layers... - Success! Elapsed Time: 0:00:06.265843 - View now points to Feature Service: 27ec4aa49eb04e64b25078e6aea9bb42, 'POLYGONDATAB_gdb' Feature View Layers Swapped, Total Elapsed Time: 0:00:15.986122 Starting Service Property Restoration... Current Details Gathered, Elapsed Time: 0:00:03.585452 - Adding Relationship to Item: 27ec4aa49eb04e64b25078e6aea9bb42, 'POLYGONDATAB_gdb' - Adding Relationship to Item: e3b91a0ffbfa42b5b40a3f146a7cbb12, 'POLYGONDATA_gdb' Restoring Layer Properties for: 'DATA_20160101140000' - Layer Properties to Restore: 'extent', 'maxRecordCount' - Layer Details Restored! Elapsed Time: 0:00:00.701093 Touching Service Properties - Success! Elapsed Time: 0:00:03.723829 Service Properties Restored, Elapsed Time: 0:00:10.152337 Restoring Item Properties - Item data will not change! - Properties Restored, Elapsed Time: 0:00:11.656905 Key: 'extent' From: '[[123.00624999919052, 24.329166665573457], [145.60000000089263, 45.43333333281017]]' To: '[[124.11875000002135, 24.329166665573457], [145.60625000073577, 45.42083333165826]]' - Dropping Backup, Property Preservation DISABLED, File: 'C:\Users\ejxxxx\AppData\Local\Temp\b671f9b4b1b14f7a9ef4bc0292919979_Backup.json' Successfully Completed Property Restoration! Total Elapsed Time: 0:00:22.009720 Layer Details Backed up, not related to Preservation, Total Elapsed Time: 0:00:00.732587 Feature View Layer Swap was Successful, Overall Elapsed Time: 0:00:38.734937 Elapsed Time for Swap Layers Process: 0:00:54.435450
ビューのアイテム ページの概要の右下にソース情報がありますが、POLYGONDATAB_gdb に切り替わったことが確認できます。
このようにフィーチャ サービスを上書きしてビューを切り替えていけば、任意のデータをアップロードして常に最新の状態として ArcGIS Online 上で見せることが可能です。何か最新の状態にしておきたいデータなどございましたら、OverwriteFS ツールを活用してみてください。