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

Syntaxe

ExportMapServerCache_Server (server_name, object_name, data_frame, target_cache, {export_extent}, {levels}, thread_count, storage_format_type, {export_feature_class})
ParamètreExplicationType 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é.

  • COMPACTLes tuiles sont regroupées dans des fichiers paquets afin d'économiser de l'espace sur le disque et d'accélérer la copie des caches.
  • EXPLODEDChaque tuile est stockée en tant que fichier individuel (de la façon dont les caches étaient toujours stockés avant ArcGIS Server 10).
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()

Environnements

Cet outil n'utilise pas d'environnement de géotraitement

Rubriques connexes

Informations de licence

ArcView : Obligatoire V
ArcEditor : Obligatoire V
ArcInfo : Obligatoire V

7/10/2012