Gérer des tuiles de cache de serveur de globe (Serveur)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Crée et actualise des tuiles dans un cache de service de globe existant. Cet outil permet de créer des tuiles ou de remplacer des tuiles manquantes, d'actualiser des tuiles devenues obsolètes ou d'ajouter de nouvelles tuiles. Toutes ces actions peuvent être définies par des étendues rectangulaires ou par une classe d'entités surfaciques. Lorsque vous créez de nouvelles tuiles, vous pouvez choisir de créer uniquement des tuiles vides ou de recréer toutes les tuiles.

HéritageHéritage :
Les paramètres de cet outil ont changé dans la version 10.1. Les modèles et les scripts écrits avant la version 10.1 qui utilisent cet outil devront être modifiés pour pouvoir fonctionner dans la version 10.1.

Utilisation

Syntaxe

ManageGlobeServerCacheTiles_server (service, {update_extent}, in_layers, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {ignore_status})
ParamètreExplicationType de données
service

Service de globe dont vous souhaitez mettre à jour les tuiles de cache.

Cette chaîne contient les informations relatives au serveur et au service. Pour savoir comment construire cette chaîne, ouvrez ArcCatalog, sélectionnez votre service dans l'arborescence du catalogue et notez le texte dans la barre d'outils Emplacement. Remplacez les barres obliques inverses par des barres obliques, par exemple, GIS Servers/arcgis on MYSERVER (admin)/Seattle.GlobeServer.

String
update_extent
(Facultatif)

Etendue rectangulaire dans laquelle les tuiles doivent être créées ou supprimées, selon la valeur du paramètre update_mode. Vous pouvez saisir des valeurs d'étendue ou choisir une étendue à partir d'une source de données existante.

Extent
in_layers
[[layer, level_from, level_to],...]

Couches à inclure dans le cache.

Pour chaque couche, vous devez fournir un paramètre level_from, qui correspond au niveau de détail auquel vous souhaitez commencer la mise en cache de la couche, ainsi qu'un paramètre level_to, qui désigne le niveau de détail auquel vous souhaitez terminer la mise en cache de la couche. Si les niveaux de détail minimum et maximum sont utilisés respectivement pour les paramètres level_from et level_to, un cache total est conçu pour la couche.

Value Table
update_mode

Définit le mode de mise à jour du cache. Les deux modes disponibles sont les suivants :

  • RECREATE_EMPTY_TILESSeules les tuiles vides sont créées. Les tuiles existantes restent en l'état.
  • RECREATE_ALL_TILESToutes les tuiles, y compris les tuiles existantes, sont remplacées. Par ailleurs, de nouvelles tuiles sont ajoutées si l'étendue des données d'une couche a changé ou si de nouvelles couches ont été ajoutées au service de globe et répertoriées dans cet outil.
String
num_of_caching_service_instances
(Facultatif)

Nombre total d'instances du service des outils de mise en cache du dossier système que vous souhaitez utiliser pour exécuter cet outil. Vous pouvez augmenter le nombre maximum d'instances par machine du service des outils de mise en cache du dossier système en ouvrant la fenêtre Editeur de services via une connexion administrateur à ArcGIS Server. Assurez-vous que vos machines serveur peuvent prendre en charge le nombre d'instances sélectionné.

Long
area_of_interest
(Facultatif)

Définit une zone d'intérêt pour contraindre l'emplacement où les tuiles seront créées ou supprimées. Il peut s'agir d'une classe d'entités ou d'une entité que vous définissez de manière interactive dans ArcMap. Ce paramètre est utile si vous souhaitez gérer des tuiles pour les zones de forme irrégulière. Il permet également de mettre certaines zones en cache et de conserver telles quelles les zones moins visitées qui n'ont pas été mises en cache.

Feature Set
ignore_status
(Facultatif)

Ce paramètre vous permet de suivre l'état de la mise en cache si vous créez des tuiles selon les limites de classe d'entités (voir le paramètre update_feature_class).

  • TRACK_STATUSLe champ Mis en cache de la classe d'entités est lu (et créé s'il n'existe pas encore). Les entités contenant la valeur Non ou Null dans ce champ sont mises en cache et affichent Oui lorsque la mise en cache de l'entité est terminée. Les entités déjà signalées par un Oui dans ce champ ne sont pas mises en cache.
  • DO_NOT_TRACK_STATUSLe champ Mis en cache de la classe d'entités est ignoré et des tuiles sont créées pour toutes les entités de la classe d'entités.
Boolean

Exemple de code

Crée des tuiles de cache pour un service de globe.

#ManageGlobeServerCacheTiles For ArcGIS Server 10.1 Beta example (stand-alone script)

# Name: ManageGlobeServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to update the
#               globe map server cache tiles
# Requirements: os, sys, time & traceback modules 
# Author: ESRI

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default values
# 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)"
globeServiceName = "tstGlobeService.GlobeService"
globeService = connectionFile + "\\" + server + "\\" + globeServiceName
inputLayers = ""
updateExtents = ""
updateMode = "RECREATE_ALL_TILES"
numOfCachingServiceInstances = "2"
areaOfInterest = ""
ignoreStatus = "DO_NOT_TRACK_STATUS"

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.ManageGlobeServerCacheTiles_server (globeService, inputLayers,
                                                       updateMode,
                                                       numOfCachingServiceInstances,
                                                       areaOfInterest,
                                                       ignoreStatus, updateExtents)
    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 the GlobeServer cache successfully for mapservice "
    globeService + "\n 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 the globe server cache successfully"

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014