管理地图服务器缓存比例 (服务器)

摘要

用于在 ArcGIS Enterprise 中的现有地图图像图层或独立服务器上的已缓存地图或影像服务中更新比例级别。 使用此工具可添加新比例或从缓存中删除现有比例。

使用情况

  • ArcGIS Enterprise 中,输入服务参数是包含服务的 REST 端点的字符串。 确保 ArcGIS Enterprise 门户为活动门户。

    在独立 ArcGIS Server 中,输入服务参数是包含服务器和服务信息的字符串。 要构建字符串,请使用发布者或管理员凭据将 ArcGIS Server 连接文件 (.ags) 的完整路径添加到独立服务器上的服务名称,例如:"C:\path_to_the connection_file_of_standAloneServer\arcgis on MyServer.com_6443.ags\ServiceName.MapServer" 有关详细信息,请参阅连接到 GIS 服务器

  • 如果从现有缓存中移除比例,此细节层次内的所有现有已缓存切片将永久删除。

    警告:

    如果要保留现有比例值则必须直接指定它们。 所有未指定的现有比例级别都将永久删除。 例如,如果您已经具有四个比例级别,而您希望再添加两个比例,请确保列表中共有六个比例。

参数

标注说明数据类型
输入服务

将添加或删除缓存比例的地图图像图层或地图或影像服务。 您可以通过拖动目录树中的地图或影像服务以提供此参数值。

Image Service; Map Server
比例

将包含在已更新切片方案中的比例值。

Value Table

派生输出

标注说明数据类型
输出地图服务 URL

输出 URL。

String

arcpy.server.ManageMapServerCacheScales(input_service, scales)
名称说明数据类型
input_service

将添加或删除缓存比例的地图图像图层或地图或影像服务。 在 ArcGIS Enterprise 中,是包含 Web 地图图像图层 REST 端点的字符串。 在独立 ArcGIS Server 中,这是包含服务器和服务信息的字符串。

Image Service; Map Server
scales
[scales,...]

将包含在已更新切片方案中的比例值。

Value Table

派生输出

名称说明数据类型
out_job_url

输出 URL。

String

代码示例

ManageMapServerCacheScales 示例(独立脚本)

此示例演示如何在地图或影像服务的切片方案中添加新比例。

# Name: ManageMapServerCacheScales.py
# Description: The following stand-alone script demonstrates how to add a new 
#               scale in a tiling scheme for a map or image service.
#               This tool only works for weblayers/services based on
#               ArcGIS Enterprise or a stand alone ArcGIS Server

import arcpy
import os

# Sign in to portal
myPortal= "https://www.myArcGISEnterprise.com/webadaptor"
arcpy.SignInToPortal(myPortal, "MyUserName", "MyPassword")
serviceName= "MyCounty"
serviceType= "MapServer"
myPortalServiceURL = (myPortal + "/" + "rest/services" +"/" + serviceName + "/" + serviceType)


# Stand alone ArcGIS Server
target_server_connection = r"C:\Project\gisserver.ags.esri.com (publisher).ags"
serviceName= "MyCounty"
serviceType= "MapServer"
myServerServiceURL= target_server_connection + "/" + serviceName + "." + serviceType

desiredScales= "18055.954822;9027.977411;4513.988705;2256.994353;1128.497176;564.248588;282.124294;141.062147;70.5310735;35.2655"

# Variables for reporting
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/results/report_%s.txt' % arg1

# Print results of the script to a report
report = open(file,'w')

try:
    result = arcpy.server.ManageMapServerCacheScales(myServerServiceURL, desiredScales)
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))
    
except Exception as e:
    
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
report.close()

print ("Updated Cache Tiling Scales for " + serviceName)

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题