描述
用于将门户中某一 web 图层的内容替换为其他 web 图层的内容。
使用方法
目标图层为待替换的 web 图层。更新图层为用以替换的 web 图层。目标图层和更新图层可以是从在 ArcGIS Online 或 ArcGIS Enterprise 门户上托管的场景图层包发布的矢量切片图层、切片图层或场景图层。
要替换 ArcGIS Enterprise 门户上的矢量切片图层,必须具有 10.6 或更高版本。要替换切片图层,必须具有 10.8 或更高版本。要替换场景图层,必须具有 10.8.1 或更高版本。
您的 ArcGIS Pro 活动门户必须为托管目标图层和更新图层的门户。您必须使用具有目标图层和更新图层的帐户登录 ArcGIS Pro。
目标图层和更新图层的类型必须相同。例如,不能将矢量切片图层替换为切片图层。
更新目标图层时,图层中的内容也将被替换。目标图层的项目 ID 和服务 URL 不会更改。
被替换的 web 图层不会被覆盖。相反,它将以新名称存档于您的门户中。默认情况下,存档图层名称为 <layer name>_archive_<timestamp>。您也可以选择其他名称,但此 web 图层名称在门户中必须是唯一的。
默认情况下,归档图层使用更新图层的项目 ID。(可选)可以为归档图层指定新的项目 ID。
或者,您可以使用更新图层的项目信息替换目标图层的项目信息。如果您替换项目信息,则摘要、描述、标签和缩略图也将被替换。而制作者名单(属性)和使用条款等其他信息则不会被替换。
语法
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 (可选) | 指定是否替换缩略图、摘要、描述和标签。无论哪种情况,项目的“制作者名单(属性)”、“使用条款”和“创建时间”信息都不会被替换。
| Boolean |
create_new_item (可选) | 指定是否为归档图层创建新项目。此选项适用于 ArcGIS Online 和 ArcGIS Enterprise 10.8 或更高版本中的门户。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
updated_target_layer | 更新的 web 图层的 URL。 | 字符串 |
代码示例
以下脚本将使用输入图层的项目 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.")
以下脚本将使用输入图层的服务 URL 替换 ArcGIS Enterprise 中的 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: 是