Créer le cache du serveur de carte (Serveur)

Récapitulatif

Crée la structure de tuilage et les dossiers préparatoires pour un cache de service de carte. Après avoir exécuté cet outil, exécutez Gérer le cache des tuiles du serveur de carte pour ajouter des tuiles au cache.

Utilisation

Syntaxe

CreateMapServerCache_Server (server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, {map_or_layers}, {tiling_schema}, {tile_origin}, {levels}, {Layer}, {Antialiasing}, {cache_format}, {tile_compression_quality}, {storage_format}, use_local_cache_dir)
ParamètreExplicationType de données
server_name

Machine ArcGIS Server hébergeant le service à mettre en cache.

String
object_name

Service de carte à mettre en cache.

String
data_frame

Bloc de données cartographiques à mettre en cache.

String
out_folder

Répertoire parent du cache. Il doit s'agir d'un répertoire de cache ArcGIS Server enregistré.

String
tiling_scheme_type

Choisissez d'utiliser une nouvelle structure de tuilage ou une structure prédéfinie. Vous pouvez définir une nouvelle structure de tuilage avec cet outil ou naviguer vers un fichier de structure de tuilage prédéfini (.xml). Il est possible de créer une structure prédéfinie à l'aide de l'outil Génère la structure de tuilage pour le cache du serveur de carte.

  • NEWVous définissez une nouvelle structure de tuilage à l'aide des différents autres paramètres de cet outil concernant les niveaux d'échelle, le format d'image, le format de stockage, etc. Il s'agit de l'option par défaut.
  • PREDEFINEDVous spécifiez une structure de tuilage, un fichier .xml qui existe déjà sur le disque. Vous pouvez créer un fichier de structure de tuilage à l'aide de Génère la structure de tuilage pour le cache du serveur de carte.
String
scales_type

Spécifiez la façon dont vous définirez les échelles pour les tuiles.

  • STANDARDGénère automatiquement les échelles en fonction de la valeur du champ "Nombre d'échelles". Elle utilisera les niveaux qui augmentent ou réduisent de moitié à partir de 1:1,000,000 et commencera avec le niveau le plus proche de l'étendue de la carte source. Par exemple, si le document ArcMap source présente une étendue de 1:121000 000 et que 3 niveaux d'échelle sont définis, le service de carte de l'échelle crée un cache offrant les niveaux d'échelle de 1:128 000 000, 1:64 000 000 et 1:32 000 000. Il s'agit de l'option par défaut.
  • CUSTOMPermet au concepteur du cache de saisir toutes les échelles qu'il souhaite.
String
num_of_scales

Nombre de niveaux d'échelle à créer dans le cache. Cette option est désactivée si vous créez une liste personnalisée d'échelles.

Long
dpi

Résolution en points par pouce du périphérique en sortie prévu. Si la valeur PPP spécifiée ne correspond pas à la résolution du périphérique en sortie, l'échelle de la tuile de carte semble incorrecte. La valeur par défaut est 96.

Long
tile_width

Largeur, en pixels, des tuiles de cache. La valeur par défaut est 256. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de dévier des largeurs standard de 256 ou 512.

Long
tile_height

Hauteur, en pixels, des tuiles de cache. La valeur par défaut est 256. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de dévier des largeurs standard de 256 ou 512.

Long
map_or_layers
(Facultatif)

Choisissez de générer un cache fusionné ou multi-couches :

  • FUSIONNE #Sélectionnez cette option si vous souhaitez créer chaque tuile sous forme d'une image fusionnée de toutes les couches de la carte source. Cette option par défaut constitue la méthode de mise en cache de votre carte la plus efficace. Toutes les couches étant fusionnées dans une image, les applications clientes qui utilisent ce service ne peuvent pas activer ou désactiver des couches individuelles. Si vous avez besoin de basculer la visibilité d'une couche vous devez la séparer en son propre service et son cache.
  • MULTI_LAYERSélectionnez cette option si vous souhaitez organiser les tuiles en sous-caches, chacune décrivant une couche de la carte source. Cette méthode de mise en cache permet aux applications clientes de ce service d'activer ou de désactiver des couches individuelles. Toutefois, un plus grand nombre de tuiles est créé et il appartient au client de récupérer et superposer les images séparées. Cette option doit être évitée pour les caches qui seront consommés dans les clients Web.
String
tiling_schema
(Facultatif)

Chemin d'accès à un fichier de structure de tuilage prédéfini (généralement nommée conf.xml).

File
tile_origin
(Facultatif)

Origine (angle supérieur gauche) de la structure de tuilage dans les coordonnées de la référence spatiale de la carte source. L'étendue du document ArcMap source doit être comprise dans (sans devoir forcément coïncider avec) cette région.

Point
levels
[levels,...]
(Facultatif)

Niveaux d'échelle disponibles pour le cache. Ceux-ci ne sont pas représentés sous la forme de fractions. Utilisez plutôt 500 pour représenter une échelle de 1:500, etc.

String
Layer
[Layer,...]
(Facultatif)

Couches à inclure dans le cache si vous avez choisi l'option MULTI_LAYER comme type de cache.

String
Antialiasing
(Facultatif)

Spécifie si l'anti-crénelage doit être utilisé pour le rendu des tuiles. La sélection de l'anti-crénelage permet de lisser les tronçons de lignes, les bordures et le texte. Cette option a un coût en termes de performance. Le coût de performance est supérieur lors de l'utilisation de services de carte basés sur MXD (par opposition aux services de carte basés sur MSD qui ont l'anti-crénelage défini dans le fichier MSD). L'anti-crénelage ne présente aucun avantage avec l'imagerie raster.

Si la source de votre service de carte est un fichier MSD et que vous avez défini l'anti-crénelage dans le fichier MSD, l'anti-crénelage est appliqué dans votre cache, que vous sélectionnez ou non l'option dans cet outil.

  • NONEL'anti-crénelage n'est pas appliqué. Il s'agit de l'option par défaut.
  • ANTIALIASINGL'anti-crénelage est appliqué.
Boolean
cache_format
(Facultatif)

Choisissez le format de fichier PNG8, PNG24, PNG32, JPEG ou MIXED pour les tuiles du cache. PNG8 est le format par défaut.

  • PNG8Format d'image couleur 8 bits sans perte qui utilise une palette de couleurs indexées et une table de transparences alpha. Chaque pixel stocke une valeur (entre 0 et 255) utilisée pour rechercher la couleur dans la palette de couleurs et la transparence dans la table de transparences alpha. Les images PNG 8 bits sont semblables aux images GIF et génèrent les arrière-plans transparents les mieux pris en charge par la plupart des navigateurs Web.
  • PNG24Format d'image à trois canaux sans perte qui offre de grandes variations de couleurs (16 millions de couleurs) et une prise en charge limitée de la transparence. Chaque pixel contient trois canaux de couleurs 8 bits et l'en-tête du fichier stocke la couleur unique qui représente l'arrière-plan transparent. La couleur représentant l'arrière-plan transparent peut être définie dans ArcMap. Les versions d'Internet Explorer antérieures à la version 7 ne prennent pas en charge ce type de transparence. Les caches utilisant le format PNG24 sont sensiblement plus volumineux que ceux qui utilisent le format PNG8 ou JPEG, ils occupent davantage d'espace disque et nécessitent une plus large bande passante pour le service des clients.
  • PNG32Format d'image à quatre canaux sans perte qui offre de grandes variations de couleurs (16 millions de couleurs) et une bonne prise en charge de la transparence. Chaque pixel contient trois canaux de couleurs 8 bits et un canal alpha 8 bits qui représente le niveau de transparence de chaque pixel. Si le format PNG32 gère les pixels partiellement transparents dans l'intervalle entre 0 et 255, l'outil de génération de caches ArcGIS Server ne retranscrit que des pixels complètement transparents (0) ou complètement opaques (255) dans le canal de transparence. Les caches utilisant le format PNG32 sont sensiblement plus volumineux que ceux qui utilisent les autres formats pris en charge, ils occupent davantage d'espace disque et nécessitent une plus large bande passante pour le service des clients.
  • JPEGFormat d'image à trois canaux avec perte qui offre de grandes variations de couleurs (16 millions de couleurs), mais ne prend pas en charge la transparence. Chaque pixel contient trois canaux de couleur 8 bits. Les caches utilisant JPEG permettent de maîtriser la qualité en sortie et la taille.
  • MIXEDCrée un fichier PNG 32 partout où cette transparence est détectée (en d'autres termes, aux endroits où l'arrière-plan du bloc de données est visible). Crée un fichier JPEG pour les autres tuiles. Cela baisse la taille de fichier moyenne en vous fournissant une superposition propre sur d'autres caches.
String
tile_compression_quality
(Facultatif)

Entrez une valeur comprise entre 1 et 100 pour définir la qualité de compression JPEG. La valeur par défaut est 75 pour le format de tuile JPEG et zéro pour les autres formats.

La compression est uniquement prise en charge pour le format JPEG. La sélection d'une valeur plus élevée entraîne une taille de fichier supérieure avec une image de meilleure qualité. La sélection d'une valeur inférieure entraîne une taille de fichier inférieure avec une image de qualité inférieure.

Long
storage_format
(Facultatif)

Privilégiez le regroupement de vos tuiles dans des groupes de fichiers avec le format de stockage "Compact", au lieu de stocker chaque tuile en tant que fichier séparé à l'aide du format "Éclaté". Le format de stockage compact est plus efficace en termes de stockage et de mobilité.

String
use_local_cache_dir

Il est préférable d'écrire les groupes de fichiers dans un répertoire local sur le serveur au moment de la création d'un cache compact, plutôt que directement dans le répertoire de cache partagé. Si vous choisissez cette option, les groupes de fichiers sont copiés dans le répertoire de cache partagé au fur et à mesure qu'ils sont créés. Cette option améliore la performance lorsque plusieurs machines fonctionnent sur la tâche de mise en cache.

  • VRAILes tuiles stockées en groupes sont écrites dans un répertoire local, puis copiées dans le répertoire de cache partagé au fur et à mesure que les groupes sont créés. Il s'agit de la valeur par défaut lorsque le format de stockage est Compacter.
  • FAUXLes tuiles sont écrites directement dans le répertoire de cache partagé. C'est la seule option valide lorsque le format de stockage est Eclater.
Boolean

Exemple de code

Cet exemple crée un cache de carte à l'aide du type d'échelle "standard".

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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 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, string, datetime, traceback

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 schema with custom scales 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)
print "Executed creation of map server Cache schema using custom scales"

report.close()

Cet exemple crée un cache de carte à l'aide d'échelles "personnalisées".

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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 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, string, datetime, traceback

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 schema with custom scales 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)
print "Executed creation of map server Cache schema using custom scales"

report.close()

Cet exemple crée un cache de carte à l'aide d'une structure de tuilage prédéfinie.

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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 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, string, datetime, traceback

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 schema with custom scales 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)
print "Executed creation of map server Cache schema using custom scales"

report.close()

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