共有モジュールの ArcPy 関数と、公開、キャッシュ、タイル キャッシュ、およびパッケージ ツールセット内のジオプロセシング ツールを組み合わせて使用すると、Python で Web レイヤーの共有、上書き、および置換を自動化することができます。
Web レイヤーの共有を自動化するには、2 つの方法 (共有モジュールで作成した共有ドラフトを使用して Web レイヤーを公開、パッケージを使用して Web レイヤーを公開) があります。 使用する方法は、公開する Web レイヤーのタイプによって異なります。 共有ドラフトを使用して公開する場合、ほとんどの Web レイヤーはサービス定義から公開されます。 パッケージから公開する場合、キャッシュは、パッケージとしてローカルに作成され、その後アップロードされて、Web レイヤーの公開に使用されます。
Web レイヤー タイプ | 共有ドラフト | パッケージ |
---|---|---|
注意:
一部の Web レイヤー構成は、Python で公開することができません。 たとえば、関連付けられたマップ イメージ レイヤーおよび Web フィーチャ レイヤーを含むベクター タイル レイヤーは、アプリケーションのユーザー インターフェイスを使用して公開する必要があります。
共有ドラフトを使用した Web レイヤーの公開
Web レイヤーを公開するワークフローは、共有するプロジェクト内のマップまたはラスター データセットから開始します。
- 最初に、Map クラスの getWebLayerSharingDraft メソッドを使用して、共有ドラフトを作成します。 詳細については、FeatureSharingDraft、MapImageSharingDraft、TileSharingDraft、または SceneLayerSharingDraft をご参照ください。 Web シーン レイヤーの共有ドラフトを作成するには、Map クラスで listLayers メソッドを、SceneLayerSharingDraft クラスとともに使用します。 スタンドアロン テーブルの共有ドラフトを作成するには、ListTables 関数と FeatureSharingDraft または MapImageSharingDraft クラスを使用します。
Web フィーチャ レイヤー、マップ イメージ レイヤー、またはスタンドアロン テーブルを上書きするには、共有ドラフトの overwriteExistingService プロパティを変更します。
注意:
このプロパティは、TileSharingDraft および SceneLayerSharingDraft ジオデータベースには使用できません。 別のワークフローも使用できます。 Web タイル レイヤーの場合、代わりに [Web レイヤーの置換 (Replace Web Layer)] ジオプロセシング ツールを使用します。 Web シーン レイヤーで、既存のアイテム ID を取得し、Web レイヤーを再公開する準備ができたら、Publish 関数の item_id パラメーターに既存のアイテム ID を指定します。
- 共有ドラフトが FeatureSharingDraft、MapImageSharingDraft、または TileSharingDraft の場合、サービス定義をステージングして公開します。
- [サービスのステージング (Stage Service)] ジオプロセシング ツールを使用して、サービス定義ドラフトをステージングし、Web レイヤーの共有に必要なすべての情報を完全なサービス定義に統合します。
- [サービス定義のアップロード (Upload Service Definition)] ジオプロセシング ツールを使用して、サービス定義をアップロードし、Web レイヤーを公開します。
- 共有ドラフトが SceneLayerSharingDraft の場合、Publish 関数を使用して、関連付けられた Web フィーチャ レイヤーとともに Web シーン レイヤーを公開します。
注意:
コンテンツを作成して、公開する権限のある ArcGIS Online または ArcGIS Enterprise アカウントで、ArcGIS Pro にサイン インする必要があります。
パッケージを使用した Web レイヤーの公開
Web タイル レイヤーとベクター タイル レイヤーの場合、ワークフローは、共有するプロジェクト内のマップから開始します。 Web シーン レイヤーと Web 標高レイヤーの場合、サポートされている入力データセットから開始します。
- 最初に、対応するジオプロセシング ツールを使用して、共有するタイプの Web レイヤーのパッケージを作成します。
Web レイヤー タイプ ジオプロセシング ツール マップ タイル パッケージの作成 ベクター タイル パッケージの作成 シーン レイヤー パッケージを作成するツールは複数あります。 詳細については、シーン レイヤー パッケージの作成および共有をご参照ください。
[タイル キャッシュの管理 (Manage Tile Cache)] と [タイル キャッシュのエクスポート (Export Tile Cache)]
コンテンツの作成に使用したジオプロセシング ツール別の Web レイヤー ヒント:
Web タイル レイヤーまたは Web 標高レイヤーのタイル パッケージを作成する前に、必要に応じて、[マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] またはタイル キャッシュのタイル スキーマの生成ツールを使用し、マップまたは標高データセットの投影法で、タイル スキーマを生成します。 ArcGIS Online/Bing Maps/Google Maps タイル スキーマを使用する場合は、このステップをスキップできます。 詳細については、タイル パッケージの共有をご参照ください。
- 次に、[パッケージの共有 (Share Package)] ツールを使用し、パッケージを Web レイヤーとして ArcGIS Online または ArcGIS Enterprise にアップロードおよび公開します。
- 最後に、必要に応じて、[Web レイヤーの置換 (Replace Web Layer)] ツールを使用し、ポータル内の既存の Web レイヤーのコンテンツを新しい Web レイヤーのコンテンツに置き換えます。
注意:
Web 標高レイヤーを置き換えることはできません。