Manage Map Server Cache Scales (Server)
Summary
Updates the scale levels in an existing cached map service. Use this tool to add new scales or delete existing scales from a map cache.
Usage
-
If you remove scales from an existing cache, it will permanently delete all existing cached tiles within that level of detail.
Syntax
Parameter | Explanation | Data Type |
server_name |
The ArcGIS Server machine hosting the service from which you want to remove cache scales. | String |
object_name |
The name of the map service from which you want to remove cache scales. | String |
levels [levels,...] |
The scale values to be included in the updated tiling scheme. Caution: You must specify existing scale values if you want to keep them. Any existing scale levels you do not specify in this tool will be permanently deleted. For example, if you have four existing scales and you wish to add two scales, make sure your final list has a total of six scales. | Value Table |
Code Sample
This example modifies a map cache tiling scheme to contain four scales.
# ManageMapServerCacheScales example (stand-alone script) # Name: ManageMapServerCacheScales.py # Description: The following stand-alone script demonstrates how to add/delete # MapServer cache scales for a map service with an existing schema # # Requirements: os, sys, time & traceback modules # Author: ESRI # Any line that begins with a pound sign is a comment and will not be executed # Empty quotes take the default value. # To accept arguments from the command line replace values of variables to # "sys.argv[]" # Import system modules import arcpy from arcpy import env import os, sys, time, datetime, traceback, string # Set environment settings env.workspace = "C:/data" # List of input variables for map service properties server = "MyServer" service = "Rainfall" scaleValues = "250000;125000;64000;5250" currentTime= datetime.datetime.now() arg1 = currentTime.strftime("%H-%M") arg2 = currentTime.strftime("%Y-%m-%d %H:%M") file = 'C:/data/report_%s.txt' % arg1 # print results of the script to a report report = open(file,'w') try: starttime = time.clock() result = arcpy.ManageMapServerCacheScales_server(server, service , scaleValues) finishtime = time.clock() elapsedtime = finishtime - starttime #print messages to a file while result.status < 4: time.sleep(0.2) resultValue = result.getMessages() report.write ("completed " + str(resultValue)) print "Updated the number of cache scales successfully for " + service + " in " + str(elapsedtime) + " sec \n on " + arg2 except Exception, e: # If an error occurred, print line number and error message 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 Map server Cache scales "