Résumé
Gère des données internes conservées par le serveur qui concernent les tuiles générées dans un cache de service de carte ou d'imagerie.
Utilisation
Cet outil permet de recréer l'état du cache une fois que vous avez copié manuellement les tuiles dans le répertoire de cache ou créé des tuiles à la demande.
C'est le seul outil qui permette de créer l'état d'un cache conçu avec une version antérieure d'ArcGIS Server ou Portal for ArcGIS.
Vous pouvez utiliser cet outil afin de créer des rapports d'état pour des zones d'intérêt personnalisées et des niveaux d'échelle, plutôt que de créer l'état de l'ensemble du cache. Pour ce faire, définissez le paramètre Mode de gestion (manage_mode dans Python) sur REPORT_BUNDLE_STATUS. Le rapport est stocké dans une nouvelle géodatabase fichier intitulée Status.gdb, plus particulièrement dans une classe d'entités nommée TaskStatus.
Notez que votre répertoire de cache contient également une géodatabase Status.gdb appartenant à l'ensemble du cache et mise à jour lorsque vous utilisez les autres options Mode de gestion de cet outil. Vous ne pouvez pas remplacer une géodatabase Status.gdb par une autre à cet emplacement.
Syntaxe
arcpy.server.ManageMapServerCacheStatus(input_service, manage_mode, {scales}, {num_of_caching_service_instances}, {report_folder}, {area_of_interest}, {report_extent})
Paramètre | Explication | Type de données |
input_service | Couche d'images de carte dont l'état du cache sera modifié. Vous pouvez la choisir en accédant au service souhaité dans le Portail ou faire glisser et déposer une couche de tuiles Web depuis l'onglet Portail de la fenêtre Catalogue pour fournir ce paramètre. | Image Service; MapServer |
manage_mode |
| String |
scales [scales,...] (Facultatif) | Niveaux d'échelle pour lesquels l'état sera modifié. Ce paramètre s'applique uniquement lors de la création d'un état personnalisé à l'aide de l'option REPORT_BUNDLE_STATUS pour le paramètre manage_mode. | Double |
num_of_caching_service_instances (Facultatif) | Définit le nombre d'instances qui seront utilisées pour mettre à jour/générer les tuiles. La valeur de ce paramètre est définie sur illimitée (-1) et ne peut pas être modifiée. | Long |
report_folder (Facultatif) | Dossier en sortie pour Status.gdb. Ce paramètre s'applique uniquement lors de la création d'un état personnalisé à l'aide de l'option REPORT_BUNDLE_STATUS. | Folder |
area_of_interest (Facultatif) | Zone d'intérêt (polygone) qui détermine la géographie couverte par le rapport d'état. Ce paramètre s'applique uniquement lors de la création d'un état personnalisé à l'aide de l'option REPORT_BUNDLE_STATUS. | Feature Set |
report_extent (Facultatif) | Etendue rectangulaire définissant la zone dont l'état sera créé. Ce paramètre s'applique uniquement lors de la création d'un état personnalisé à l'aide de l'option REPORT_BUNDLE_STATUS. Notez que le paramètre area_of_interest vous permet de spécifier une zone d'intérêt non rectangulaire.
| Extent |
Sortie dérivée
Nom | Explication | Type de données |
output_folder | URL de service en sortie. | Chaîne |
Exemple de code
Supprime les informations d'état d'un cache.
# Name: ManageMapServerCacheStatus.py
# Description: The following stand-alone script demonstrates how to delete
# Status of cache using ManageMapServerCachStatus tool
# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapService"
inputService = connectionFile + "\\" + server + "\\" + serviceName
scales = ""
manageMode = "DELETE_CACHE_STATUS"
numOfCachingServiceInstances = "2"
outputFolder = ""
areaOfInterest = ""
reportExtents = ""
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 "scales[0]","scales[-1]","scales[0:3]"
try:
starttime = time.clock()
result = arcpy.ManageMapServerCacheStatus_server(inputService,
manageMode, scales,
numOfCachingServiceInstances,
outputFolder,
areaOfInterest,
reportExtents)
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("Reported the Bundle status for scale =" + str(scales[-1]) + "of " + \
serviceName + "at " + outputFolder + "\n using specified feature class " + \
areaOfInterest + " in " + str(elapsedtime) + " sec \n on " + arg2)
except Exception as e:
# If an error occurred, print line number and error message
tb = sys.exc_info()[2]
report.write("Failed at step 3 \n" "Line %i" % tb.tb_lineno)
report.write(str(e))
report.close()
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?