Web レイヤーの置換 (Replace Web Layer) (サーバー)

概要

ポータル内の Web レイヤーのコンテンツを別の Web レイヤーのコンテンツに置き換えます。

使用法

  • ターゲット レイヤーは、置き換えられる Web レイヤーです。更新レイヤーは、置換 Web レイヤーです。ターゲット レイヤーと更新レイヤーには、次のタイプの Web レイヤーを指定できます。

    • ベクター タイル レイヤー
    • タイル レイヤー
    • 次のいずれかのソースから公開されたシーン レイヤー
      • ArcGIS Online または ArcGIS Enterprise ポータルでホストされているシーン レイヤー パッケージ
      • フォルダーまたはクラウド データ ストア内の参照シーン キャッシュ

  • ArcGIS Enterprise ポータルでベクター タイル レイヤーを置き換えるには、10.6 以降のバージョンを使用している必要があります。タイル レイヤーを置き換えるには、10.8 以降のバージョンを使用している必要があります。シーン レイヤーを置き換えるには、10.8.1 以降のバージョンを使用している必要があります。

  • ArcGIS Pro のアクティブなポータルは、ターゲット レイヤーおよび更新レイヤーをホストするポータルである必要があります。ターゲット レイヤーおよび更新レイヤーを所有しているアカウントを使用して、ArcGIS Pro にサイン インする必要があります。

  • ターゲット レイヤーと更新レイヤーは同じタイプである必要があります。たとえば、ベクター タイル レイヤーをタイル レイヤーに置き換えることはできません。

  • ターゲット レイヤーと更新レイヤーのシーン レイヤー タイプは一致する必要があります。たとえば、ビルディング シーン レイヤーを 3D オブジェクト シーン レイヤーに置き換えることはできません。

  • Web シーン レイヤーを置き換えるには、ターゲット レイヤーと更新レイヤーが同じソースから公開されている必要があります。たとえば、シーン レイヤー パッケージから公開された Web シーン レイヤーを、参照シーン キャッシュから公開された Web シーン レイヤーに置き換えることはできません。

  • 参照シーン キャッシュから公開された Web シーン レイヤーを置き換えるには、ターゲット レイヤーと更新レイヤーのシーン サービスが同じサーバーおよびサーバー フォルダーに存在する必要があります。

  • ターゲット レイヤーが更新されると、このレイヤーのコンテンツが置き換えられます。ターゲット レイヤーのアイテム ID およびサービス URL は変更されません。

  • 置き換えられる Web レイヤーは、上書きされません。代わりにこのレイヤーは、ポータル内で、新しい名前でアーカイブされます。デフォルトでは、アーカイブ レイヤー名は、<レイヤー名>_archive_<タイムスタンプ> になります。別の名前を割り当てることができますが、その名前は、ポータル内で一意の Web レイヤー名である必要があります。

  • デフォルトでは、アーカイブ レイヤーは更新レイヤーのアイテム ID を使用します。アーカイブ レイヤーに新しいアイテム ID を指定することもできます。

  • 必要に応じて、ターゲット レイヤーのアイテム情報を、更新レイヤーのアイテム情報に置き換えることができます。アイテム情報を置き換えると、概要、説明、タグ、およびサムネイル画像が置き換えられます。著作権 (帰属) や利用規約などのその他の情報は、置き換えられません。

構文

arcpy.server.ReplaceWebLayer(target_layer, archive_layer_name, update_layer, {replace_item_info}, {create_new_item})
パラメーター説明データ タイプ
target_layer

置き換えられる Web レイヤー。これは、レイヤーまたはカタログ パスに加えて、次のいずれかのアイテム ID またはサービス URL を使用して指定することもできます。

  • ベクター タイル
  • タイル レイヤー
  • 次のいずれかのソースから公開されたシーン レイヤー
    • シーン レイヤー パッケージ
    • フォルダーまたはクラウド データ ストア内の参照シーン キャッシュ

Vector Tile Layer; Internet Tiled Layer; Scene Layer
archive_layer_name

置き換えられた Web レイヤーは、ポータル内にアーカイブ レイヤーとして残ります。アーカイブ レイヤーの一意の名前を指定します。

String
update_layer

置換する Web レイヤー。これは、レイヤーまたはカタログ パスに加えて、次のいずれかのアイテム ID またはサービス URL を使用して指定することもできます。

  • ベクター タイル
  • タイル レイヤー
  • 次のいずれかのソースから公開されたシーン レイヤー
    • シーン レイヤー パッケージ
    • フォルダーまたはクラウド データ ストア内の参照シーン キャッシュ

Vector Tile Layer; Internet Tiled Layer; Scene Layer
replace_item_info
(オプション)

サムネイル画像、概要、説明、およびタグを置き換えるかどうかを指定します。いずれの場合も、アイテムの著作権 (帰属)、利用規約、および作成元の情報は置き換えられません。

  • KEEPレイヤーが更新されるときに、ターゲット レイヤーのアイテム情報を置き換えません。これがデフォルトです。
  • REPLACEターゲット レイヤーのアイテム情報を、更新レイヤーのアイテム情報に置き換えます。
Boolean
create_new_item
(オプション)

アーカイブ レイヤーの新しいアイテムを作成するかどうかを指定します。このオプションは、ArcGIS Online および ArcGIS Enterprise 10.8 以降のポータルでサポートされています。

  • TRUEアーカイブ レイヤーに対して新しいアイテム ID が作成されます。シーン レイヤーの場合、これがデフォルトです。
  • FALSEアーカイブ レイヤーに対して更新レイヤーのアイテム ID が使用されます。ベクター タイル レイヤーおよびタイル レイヤーの場合、これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
updated_target_layer

更新された Web レイヤーの URL。

String

コードのサンプル

ReplaceWebLayer (Web レイヤーの置換) の例 1 (スタンドアロン スクリプト)

次のスクリプトは、入力レイヤーのアイテム ID を使用して Web レイヤーを置き換えます。

import arcpy
import time
# Set local variables
targetLayerID = "42994b1a3e63425aa02bcfa1200683ae"
archiveLayerName = "ReplaceWebLayerExample_archive_" + time.strftime("%Y%m%d")
updateLayerID = "9e1d80c874e040fc88ad06b0cfa01381"
replaceItemInfo = "REPLACE"
createNewItem = "TRUE"
# Execute Replace Web Layer
arcpy.ReplaceWebLayer_server(targetLayerID, archiveLayerName, updateLayerID, 
                             replaceItemInfo, createNewItem)
print("Successfully replaced web layer.")
ReplaceWebLayer (Web レイヤーの置換) の例 2 (スタンドアロン スクリプト)

次のスクリプトは、ArcGIS Enterprise で入力レイヤーのサービス URL を使用して Web レイヤーを置き換えます。

import arcpy
import time
# Set local variables
targetLayer = "https://webadaptorhost.domain.com/webadaptorname/rest/services/Hosted/targetServiceName/VectorTileServer"
archiveLayerName = "targetServiceName_archive_" + time.strftime("%Y%m%d")
updateLayer = "https://webadaptorhost.domain.com/webadaptorname/rest/services/Hosted/updateServiceName/VectorTileServer"
# Execute Replace Web Layer
arcpy.ReplaceWebLayer_server(targetLayer, archiveLayerName, updateLayer)
print("Successfully replaced web layer.")

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック