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

Syntaxe

ManageMapServerCacheTiles_Server (server_name, object_name, data_frame, Layer, levels, update_mode, {constraining_extent}, {thread_count}, {Antialiasing}, {update_feature_class}, {ignore_status})
ParamètreExplicationType 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.

RemarqueRemarque :

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 :

  • 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 sont remplacées. De nouvelles tuiles sont créées si nécessaire du fait de la modification de l'étendue ou de l'ajout de nouvelles couches dans le cas d'un cache multi-couches.
  • Supprimer des tuilesLes tuiles sont supprimées du cache. La structure du dossier de cache n'est pas supprimée. Si vous souhaitez supprimer le cache dans son intégralité, y compris la structure de dossier, utilisez l'outil Supprimer le cache du serveur de carte.
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).

  • 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 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 "

Environnements

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

Rubriques connexes

Informations de licence

ArcView : Obligatoire V
ArcEditor : Obligatoire V
ArcInfo : Obligatoire V

7/10/2012