Importer le cache du serveur de carte (Serveur)

Récapitulatif

Importe des tuiles à partir d'un dossier sur le disque dans un cache de carte. Le dossier source peut être un enfant d'un répertoire de cache du serveur enregistré ou il peut s'agir d'un autre dossier dans lequel les tuiles ont été exportées précédemment. Le service de carte cible doit avoir la même structure de tuilage et le format de stockage en tant que cache de carte source.

Utilisation

Syntaxe

ImportMapServerCache_Server (server_name, object_name, data_frame, source_cache_dataset, {import_extent}, {levels}, thread_count, {import_feature_class})
ParamètreExplicationType de données
server_name

Machine ArcGIS Server hébergeant le service dans lequel les tuiles sont importées.

String
object_name

Nom du service de carte dans lequel les tuiles sont importées. Ce service de carte doit avoir une structure de tuilage définie correspondant à la structure de tuilage des tuiles en cours d'importation.

String
data_frame

Bloc de données source pour le service de carte.

String
source_cache_dataset

Chemin d'accès aux tuiles qui seront importées. Il est représenté par une icône de jeu de données raster dans l'interface utilisateur de l'outil. Si vous écrivez un script, c'est le chemin d'accès au dossier de cache correspondant au nom du bloc de données. Vous n'avez pas à pointer ce paramètre vers un répertoire de cache du serveur enregistré. En fait, la plupart du temps vous pointez vers un emplacement sur le disque où les tuiles ont déjà été exportées.

Raster Dataset
import_extent
(Facultatif)

Étendue rectangulaire définissant les tuiles à importer. Par défaut, l'étendue est définie sur l'étendue complète du service de carte dans lequel vous effectuez l'importation. Notez le paramètre optionnel de cet outil qui vous permet également de contraindre l'importation de tuiles à une limite de classe d'entités.

Extent
levels
[levels,...]
(Facultatif)

Liste des niveaux d'échelle auxquels les tuiles sont importées.

Double
thread_count

Nombre d'instances de services de carte à utiliser lors de l'importation 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
import_feature_class
(Facultatif)

Classe d'entités surfaciques qui définit où les tuiles sont importées dans le cache. Utile si vous souhaitez importer des tuiles pour les surfaces de forme irrégulière.

Feature Class

Exemple de code

Pour importer le cache de carte à l'aide de valeurs par défaut.

# ImportMapServerCache example (stand-alone script)

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory to an existing service for 
#               the default number of scales specified
# To Import cache tiles for the scales specified for given feature class

# 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 = "" 
cacheDir = "c:\\arcgisserver\\arcgiscache\\"
importExtents = ""
scaleValues = [500000,250000,125000,64000]
threadCount = "2"
sourceCache= "C:/data/destination_folder/Layers"
specifiedFeatureClass = "C:/data/94/Portland/Portland_Metro.shp"

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.ImportMapServerCache_server(server, service, dataFrame, sourceCache,
                                      threadCount, importExtents , scaleValues,
                                      specifiedFeatureClass )
    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 "Imported Map server Cache Tiles successfully for " + service + "  from "
    + sourceCache + " to " + cacheDir + service + "\n using "+ specifiedFeatureClass
    + " 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 2 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
report.close()

print "Imported Map server Cache Tiles for the given feature class"



Pour importer le cache de carte contraint le long des limites d'une classe d'entités donné.

# ImportMapServerCache example (stand-alone script)

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory to an existing service for 
#               the default number of scales specified
# To Import cache tiles for the scales specified for given feature class

# 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 = "" 
cacheDir = "c:\\arcgisserver\\arcgiscache\\"
importExtents = ""
scaleValues = [500000,250000,125000,64000]
threadCount = "2"
sourceCache= "C:/data/destination_folder/Layers"
specifiedFeatureClass = "C:/data/94/Portland/Portland_Metro.shp"

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.ImportMapServerCache_server(server, service, dataFrame, sourceCache,
                                      threadCount, importExtents , scaleValues,
                                      specifiedFeatureClass )
    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 "Imported Map server Cache Tiles successfully for " + service + "  from "
    + sourceCache + " to " + cacheDir + service + "\n using "+ specifiedFeatureClass
    + " 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 2 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
report.close()

print "Imported Map server Cache Tiles for the given feature class"



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