Gérer l'état du cache d'un serveur de carte (Serveur)

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ètreExplicationType 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
  • DELETE_CACHE_STATUSSupprime les informations d'état utilisées par le serveur.
  • REBUILD_CACHE_STATUSSupprime puis recrée les informations d'état utilisées par le serveur.
  • REPORT_BUNDLE_STATUSCrée des informations d'état dans une nouvelle géodatabase fichier intitulée Status.gdb dans un dossier que vous spécifiez dans le paramètre Dossier en sortie. Utilisez cette option si vous souhaitez créer un rapport d'état personnalisé pour une zone d'intérêt ou un jeu d'échelles spécifique.
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.

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale de toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent

Sortie dérivée

NomExplicationType de données
output_folder

URL de service en sortie.

Chaîne

Exemple de code

Exemple d'utilisation de l'outil ManageMapServerCacheStatus (script autonome)

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

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

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes