ArcGIS Online 、 ArcGIS Enterprise 、 ArcGIS Location Platform を利用していて、「他のメンバーのアカウントにアイテムを渡したい」、「ArcGIS Location Platform を使っていて ArcGIS Online に乗り換えるために持っているアイテムをそのまま引き継ぎたい」と思ったことはないでしょうか。 このような時にコンテンツ管理ができる ArcGIS API for Python の clone_items() メソッドが利用できます。 先日 ArcGIS 開発リソース集に公開した「アイテムのクローン」記事では ArcGIS Online から ArcGIS Online へのフィーチャ レイヤーと Web マップのクローンについて紹介しましたが、Esri Developer の ドキュメントによると、ArcGIS Dashboards など様々なアイテムに対応しています。
そこで、この記事では扱う範囲を拡張し、ArcGIS Enterprise でのクローンや、ArcGIS Experience Builder のような開発リソース集では扱わなかったアイテムのクローンについて紹介します。
1. 様々なアイテムのクローン
2. ArcGIS Enterprise を利用したクローン
clone_items() を使用すると Experience Builder などのアプリケーションが参照しているマップとその参照関係も同時に複製する利点があります。ここではいくつかのアプリケーションのクローンを試します。 clone_items() の利用方法は「アイテムのクローン」記事を参照ください。
最初にストーリーマップをクローンします。以下のように get() メソッド や search() メソッドなどを使い、 アイテムを検索し、それをクローンします。動画のように、クローン先でもストーリーマップを見ることができています。
以後、他のアイテムでもこの動画のような手順で進めます。
次は Survey123 です。同様にアイテムを検索し、それをクローンします。
クローンすると、Survey123 のフォームを作成した時に作成された フィーチャ レイヤーもクローンされます。
Survey123 の回答画面を見ると、クローンしてすぐに使える状態でそのまま複製されていることがわかります。
次はダッシュボードのクローンです。同様にクローンを行います。
クローンする前と同じようにダッシュボードを見ることが可能で、クローンしたダッシュボードを編集することも可能です。ダッシュボードには Living Atlas コンテンツが利用されていますが、クローンの際に参照は保持されます。
次は Instant Apps で作成したアプリケーションです。
これまでと同様にクローンします。
これまでと同じようにアプリケーションのみをクローンすると、紐づく Web マップとレイヤーも一緒にクローンされます。以下のようにクローン先でもアプリケーションの閲覧や編集ができます。
次は Experience Builder です。
バージョン 2.2.0 から Experience Builder のクローン作成と管理機能が大きく拡充されました。 ここではマップ ウィジェットとマップ レイヤーを使用したアプリケーションを対象とします。
これまでと同様にクローンします。
クローンしたアプリケーションとともに、それに紐づく Web マップやレイヤーもクローンされています。
クローンは Web マップやレイヤーだけでなく、ダッシュボードのようなアプリケーションも対応しています。 一般的にはアプリケーションを作成するとアプリケーションそのものや作成用のアイテムが作成されますが、Field Maps はそのようなアイテムは作成されません。
この章ではどのように Field Maps がクローン先で使えるようになるかを紹介します。 Field Maps は、Web マップの中に質問項目が入っています。 例えば、簡単なレイヤーを作成し、それを参照した Web マップの JSON を get_data() メソッドなどを利用して見てみると、JSON は参照しているフィーチャ レイヤー、ベースマップに使用しているレイヤーの順に書かれています。
次に、Field Maps Designer から作成した Web マップを見てみます。
先ほどと違う点として、操作レイヤーに formInfo という属性が追加され、この属性には Field Maps の質問項目の要素が設定されています。 Field Maps のデータは Web マップに内蔵されており、Field Maps のクローンは Web マップのクローンと同様の手順で行えます。
ここからはモバイル アプリの Field Maps を使って試してみます。 次の画像ではクローン元のアカウントでモバイル アプリから入力を行いました。
次に、クローンを行い、クローン先のアカウントでモバイル アプリにログインします。
クローンを行うと、クローン前に入力した USER 1 というポイント作成者および、参照されているフィーチャ レイヤーの作成者が USER 2 に変わっていることが分かります。
このように、Field Maps は Web マップをクローンするだけで使えるようになります。 ただし、アイテム ID が変わり、前のアカウントからはアクセス出来なくなることは注意してください。
ArcGIS Enterprise から ArcGIS Enterprise へのクローンもこれまでと同様に行うことができます。ここではフィーチャ レイヤー、Web マップ、Instant Apps で作成したアプリケーション、ダッシュボードを対象に実施しました。
これまでと同様にアイテムを検索し、取得します。
クローンを実行します。
クローンが成功しました。日付や views の値からクローン先で別のアイテムになったことがわかります。
次に、複数のアイテムをまとめてクローンします。
クローン先の ArcGIS Enterprise の指定したフォルダーを見るとアイテムがクローンされていることがわかります。
ArcGIS Online から ArcGIS Enterprise のクローンも同様に行うことができます。 ArcGIS Online と ArcGIS Enterprise ではアップデートの頻度に差があります。そのため、クローンをしてもバージョンの違いによってクローン先で開くことができないことも起こりうるので、実行する際にはバージョンに注意して下さい。
この記事では、ArcGIS 開発リソース集に公開した記事の内容から派生し、Web マップだけでなく、様々なアイテムのクローンや、ArcGIS Enterprise を利用したクローンについて紹介しました。もし ArcGIS 組織サイトや ArcGIS アカウントを変更する必要が出てきた時にはクローンの利用を検討してみてください。
関連リンク