Gérer le cache des tuiles du serveur de carte (Serveur)
Récapitulatif
Crée et actualise des tuiles dans un cache de service de carte existant. Cet outil permet de créer des tuiles, de remplacer des tuiles manquantes, d'actualiser des tuiles devenues obsolètes et de supprimer des tuiles.
Utilisation
L'exécution de cet outil peut prendre du temps pour les caches qui couvrent une grande étendue géographique ou les échelles de carte très grandes. Si l'outil est annulé, la création de tuiles est arrêtée, mais les tuiles existantes ne sont pas supprimées. Cela signifie que vous pouvez annuler l'outil si vous manquez de temps et l'exécuter de nouveau ultérieurement sur le même cache à l'aide du mode de mise à jour "Recréer les tuiles vides". Une autre manière de poursuivre à l'endroit où l'exécution s'est interrompue consiste à utiliser le suivi de statut présenté dans la description du dernier paramètre Ignore Status.
Syntaxe
Paramètre | Explication | Type de données |
server_name |
Machine ArcGIS Server hébergeant le service de carte dont vous souhaitez mettre à jour les tuiles. | String |
object_name |
Service de carte dont vous souhaitez mettre à jour les tuiles de cache. Remarque : Assurez-vous qu'une structure de tuilage est définie pour votre service de carte avant d'utiliser cet outil. Vous pouvez utiliser l'onglet Mise en cache de la boîte de dialogue Propriétés du service ou l'outil Créer le cache du serveur de carte pour créer la structure de tuilage. | String |
data_frame |
Bloc de données source pour le service de carte. | String |
Layer [Layer,...] |
Couches à supprimer du cache. | String |
levels |
Niveaux d'échelle auxquels vous créez ou supprimez des tuiles lors de l'exécution de cet outil, selon le Mode de mise à jour. | Double |
update_mode |
Sélectionnez le mode de mise à jour du cache. Les trois modes disponibles sont les suivants :
| String |
constraining_extent (Facultatif) |
Étendue rectangulaire dans laquelle créer ou supprimer des tuiles, selon le mode de mise à jour. | Extent |
thread_count (Facultatif) |
Nombre d'instances de service de carte à utiliser lors de l'exécution de cet outil. 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 du service du service, puis augmenter ce paramètre lorsque vous exécutez l'outil. | Long |
Antialiasing (Facultatif) |
C'est un paramètre déconseillé qui est ignoré. La propriété d'anti-crénelage de votre structure de tuilage détermine si l'anti-crénelage est appliqué au cache. | Boolean |
update_feature_class (Facultatif) |
Vous pouvez utiliser une classe d'entités surfaciques pour gérer des tuiles (créer, mettre à jour ou supprimer) en fonction de l'étendue des entités d'une classe d'entités. Par exemple, si vous mettez en cache un pays, vous pouvez fournir une classe d'entités des principales zones urbaines. Ce faisant, vous demandez que le serveur crée uniquement au préalable des tuiles qui couvrent ces zones urbaines. Le reste des zones peut être mis en cache à la demande si les clients le souhaitent. Ainsi, vous gagnez du temps et de l'espace sur le disque, qui aurait été employé à créer des tuiles inutiles dans des zones rurales. | Feature Class |
ignore_status (Facultatif) | Ce paramètre vous permet de suivre le statut de la mise en cache si vous créez des tuiles selon les limites de classe d'entités (reportez-vous au paramètre update_feature_class).
| Boolean |
Exemple de code
Cet exemple crée ou met à jour toutes les tuiles dans la cache à l'aide de l'option du "Recréer tout".
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # 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 = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" 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.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 "Created cache tiles for given schema 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 "Created Map server Cache Tiles "
Cet exemple met à jour des tuiles vides pour certaines échelles à l'aide de l'option "Recréer les tuiles vides".
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # 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 = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" 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.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 "Created cache tiles for given schema 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 "Created Map server Cache Tiles "
Cet exemple restreint la mise à jour de tuiles aux limites d'une classe d'entités.
# ManageMapServerCacheTiles example (stand-alone script) # Name: ManageMapServerCacheTiles.py # Description: The following stand-alone script demonstrates how to Recreate all # cache tiles for the default number of scales in the cache tiling # scheme. # 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 = "" inputLayers = "" scaleValues = "" extents = "" updateMode = "Recreate All Tiles" antialiasing = "NONE" threadCount = "2" pathToFeatureClass = "" ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD" 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.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scaleValues, updateMode, extents, threadCount ,Antialiasing, pathToFeatureClass, ignoreStatus) 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 "Created cache tiles for given schema 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 "Created Map server Cache Tiles "