Replace Web Layer (Server)

Summary

Replaces the content of a web layer in a portal with the content of another web layer.

Usage

  • The target layer is the web layer to be replaced. The update layer is the replacement web layer. The target and update layers can be vector tile layers, tile layers, or scene layers published from scene layer packages hosted on ArcGIS Online or an ArcGIS Enterprise portal.

  • To replace a vector tile layer on an ArcGIS Enterprise portal, you must have version 10.6 or later. To replace a tile layer, you must have version 10.8 or later. To replace a scene layer, you must have version 10.8.1 or later.

  • Your ArcGIS Pro active portal must be the portal that hosts the target and update layers. You must be signed in to ArcGIS Pro with the account that owns the target and update layers.

  • The target and update layers must be of the same type. For example, you cannot replace a vector tile layer with a tile layer.

  • When the target layer is updated, the content of the layer is replaced. The item ID and service URL of the target layer do not change.

  • The web layer that is replaced is not overwritten. Instead, it is archived in your portal with a new name. By default, the archive layer name is <layer name>_archive_<timestamp>. You can choose a different name, but it must be a unique web layer name in the portal.

  • By default, the archive layer uses the item ID of the update layer. Optionally, you can specify a new item ID for the archive layer.

  • Optionally, you can replace the item information of the target layer with the item information of the update layer. If you replace the item information, the summary, description, tags, and thumbnail image are replaced. Other information, such as the credits (attribution) and terms of use are not replaced.

Syntax

ReplaceWebLayer(target_layer, archive_layer_name, update_layer, {replace_item_info}, {create_new_item})
ParameterExplanationData Type
target_layer

The web layer to be replaced. Provide the item ID or service URL of a vector tile, tile layer, or scene layer published from a scene layer package. You can also browse to the layer or drag it from the catalog.

Vector Tile Layer; Internet Tiled Layer; Scene Layer
archive_layer_name

The web layer that is replaced remains in the portal as an archive layer. Provide a unique name for the archive layer.

String
update_layer

The replacement web layer. In addition to a layer or catalog path, it can also be specified using the item ID or service URL of a vector tile, tile layer, or scene layer published from a scene layer package.

Vector Tile Layer; Internet Tiled Layer; Scene Layer
replace_item_info
(Optional)

Specifies whether the thumbnail image, summary, description, and tags will be replaced. In either case, the item's Credits (Attribution), Terms of Use, and Created from information are not replaced.

  • KEEPThe target layer's item information is not replaced when the layer is updated. This is the default.
  • REPLACEThe target layer's item information is replaced by the update layer's item information.
Boolean
create_new_item
(Optional)

Specifies whether a new item is created for the archive layer. This option is supported on portals in ArcGIS Online and ArcGIS Enterprise 10.8 or later.

  • TRUEA new item ID is created for the archive layer. This is the default for scene layers.
  • FALSEThe item ID of the update layer is used for the archive layer. This is the default for vector tile layers and tile layers.
Boolean

Derived Output

NameExplanationData Type
updated_target_layer

The URL of the updated web layer.

String

Code sample

ReplaceWebLayer example 1 (stand-alone script)

The following script replaces a web layer using the item IDs of the input layers.

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 example 2 (stand-alone script)

The following script replaces a web layer on ArcGIS Enterprise using the service URLs of the input layers.

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.")

Environments

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics