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

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 les 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 des tuiles, vous pouvez choisir de créer des tuiles vides uniquement ou de recréer toutes les tuiles.

Utilisation

Syntaxe

ManageGlobeServerCacheTiles_Server (server_name, object_name, {update_extent}, in_layers, {thread_count}, update_mode, {update_feature_class}, {ignore_status})
ParamètreExplicationType de données
server_name

Machine ArcGIS Server hébergeant le service de globe dont vous gérez les tuiles.

String
object_name

Service de globe dont les tuiles sont modifiées.

String
update_extent
(Facultatif)

Étendue rectangulaire dans laquelle les tuiles doivent être créées ou supprimées, selon le Mode de mise à jour. Vous pouvez saisir les valeurs d'étendue ou sélectionner une étendue à partir d'une source de données existante.

Extent
in_layers
[in_layers,...]

Sélectionnez les couches à inclure dans le cache.

Pour chaque couche, vous devez fournir un paramètre level_from, qui est le niveau de détail auquel commencer à mettre en cache la couche et un paramètre level_to, qui est le niveau de détail auquel terminer la mise en cache de la couche. Si vous utilisez les niveaux de détail les plus petits et les plus grands pour level_from et level_to respectivement, un cache intégral est créé pour la couche.

Value Table
thread_count
(Facultatif)

Nombre d'instances de service de globe à 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 de l'objet serveur du service, puis augmenter ce paramètre lorsque vous exécutez l'outil.

Long
update_mode

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

  • Recréer les tuiles videsSeules les tuiles vides sont créées. Les tuiles existantes restent en l'état.
  • Recréer toutes les tuilesToutes les tuiles, y compris les tuiles existantes, sont remplacées. Par ailleurs, de nouvelles tuiles sont créées si nécessaire du fait de la modification de l'étendue des données ou de l'ajout de nouvelles couches au service de globe. Elles sont répertoriées dans cet outil.
String
update_feature_class
(Facultatif)

Vous pouvez faire appel à une classe d'entités surfaciques pour gérer les tuiles (créer/mettre à jour) 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).

  • IGNORE_COMPLETION_STATUS_FIELDLe champ Terminé 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. Il s'agit de l'option par défaut.
  • TRACK_COMPLETION_STATUSLe champ Terminé de la classe d'entités est lu (et créé s'il n'existe pas encore). Les entités marquées Non ou null dans ce champ sont mises en cache et marquées Oui lorsque la mise en cache est terminée pour l'entité. Les entités déjà marquées Oui dans ce champ ne sont pas mises en cache.
Boolean

Exemple de code

Cet exemple crée un cache intégral pour un service de globe.

#ManageGlobeServerCacheTiles 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 

# 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
server = "MyServer"
globeServerObject = "tstGlobeService"
inputLayers = ""
extents = ""
cacheDir = "C:\\arcgisserver\\arcgiscache\\GlobeCache"
threadCount = "2"
updateMode = "Recreate All Tiles"
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.ManageGlobeServerCacheTiles_server (server, globeServerObject, 
                                              extents, updateMode,
                                              inputLayers, threadCount,
                                              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 the GlobeServer cache successfully for mapservice "
    + globeServerObject + "\n   at " + cacheDir + globeServerObject
    + " 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 pas d'environnement de géotraitement

Rubriques connexes

Informations de licence

ArcView : Obligatoire 3D Analyst
ArcEditor : Obligatoire 3D Analyst
ArcInfo : Obligatoire 3D Analyst

7/10/2012