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})
Parameter | Explanation | Data 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.
| 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.
| Boolean |
Derived Output
Name | Explanation | Data Type |
updated_target_layer | The URL of the updated web layer. | String |
Code sample
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.")
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