Exporter le cache du serveur de carte (Serveur)
Récapitulatif
Exporte des tuiles à partir d'un cache de carte vers un dossier sur le disque. Les tuiles peuvent être importées dans d'autres caches ou être accessibles depuis ArcGIS Desktop en tant que jeu de données raster, indépendantes de leur service parent.
Utilisation
-
Avant d'exécuter cet outil, créez le dossier sur le disque qui contiendra les tuiles exportées.
Syntaxe
Paramètre | Explication | Type de données |
server_name |
Machine ArcGIS Server qui héberge le service dont les tuiles mises en cache sont exportées. | String |
object_name |
Service de carte dont les tuiles sont exportées. | String |
data_frame |
Bloc de données source pour le service de carte. | String |
target_cache |
Dossier dans lequel le cache sera exporté. Ce dossier n'a pas besoin d'être un répertoire de cache du serveur enregistré. | Folder |
export_extent (Facultatif) |
Étendue rectangulaire définissant les tuiles à exporter. Par défaut, l'étendue est définie sur l'étendue complète de la carte source du service. Notez le paramètre optionnel de cet outil qui vous permet également de contraindre l'exportation de tuiles vers une limite de classe d'entités. | Extent |
levels [levels,...] (Facultatif) |
Liste des niveaux d'échelle auxquels les tuiles sont exportées. | Double |
thread_count |
Nombre d'instances de services de carte à utiliser lors de l'exportation du cache. Par défaut, le nombre maximal autorisé d'instances est utilisé (la valeur par défaut pour un service ArcGIS Server est 2). Si vous avez un serveur plus puissant, vous pouvez augmenter le nombre maximal autorisé d'instances dans la boîte de dialogue Propriétés de l'objet serveur du service, puis augmenter ce paramètre lorsque vous exécutez l'outil. | Long |
storage_format_type |
Format de stockage du cache exporté.
| String |
export_feature_class (Facultatif) |
Classe d'entités surfaciques qui définit où les tuiles sont exportées depuis le cache. Utile si vous souhaitez exporter des surfaces de forme irrégulière. | Feature Class |
Exemple de code
Cet exemple utilise ExportMapServerCache pour exporter un cache de carte entier pour quatre échelles.
# Name: ExportMapServerCache.py # Description: The following stand-alone script demonstrates how to export cache # for default number of scales of a service to a destination folder # Requirements: os, sys, time and traceback modules # 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" dataFrame = "" exportExtents = "" scaleValues = [500000,250000,125000,64000] destinationCacheDir = "C:/data/temp" threadCount = "2" storageFormat = "Exploded" 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') # use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]" try: starttime = time.clock() result = arcpy.ExportMapServerCache_server(server, service, dataFrame, destinationCacheDir, threadCount , storageFormat, exportExtents, 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 " Exported cache successfully for mapservice " + service + " to " + destinationCacheDir + " 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) print "Exported Map server Cache " report.close()
Cet exemple utilise ExportMapServerCache pour exporter un cache de carte selon les limites d'une classe d'entités.
# Name: ExportMapServerCache.py # Description: The following stand-alone script demonstrates how to export cache # for default number of scales of a service to a destination folder # Requirements: os, sys, time and traceback modules # 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" dataFrame = "" exportExtents = "" scaleValues = [500000,250000,125000,64000] destinationCacheDir = "C:/data/temp" threadCount = "2" storageFormat = "Exploded" 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') # use "scaleValues[0]","scaleValues[-1]","scaleValues[0:3]" try: starttime = time.clock() result = arcpy.ExportMapServerCache_server(server, service, dataFrame, destinationCacheDir, threadCount , storageFormat, exportExtents, 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 " Exported cache successfully for mapservice " + service + " to " + destinationCacheDir + " 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) print "Exported Map server Cache " report.close()