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
-
Utilisez l'outil Importer le cache du serveur de carte pour importer l'intégralité ou une partie d'un cache d'un dossier vers un autre.
Syntaxe
Paramètre | Explication | Type 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"