Résumé
Génère un cache de tuiles d'images statiques pour un service de carte ArcGIS Server.
Utilisation
Cet outil fonctionne uniquement avec les services de carte ArcGIS Server.
Avant d'exécuter cet outil, configurez le service de carte de manière à utiliser le plus grand nombre d'instances possible. Le temps de génération du cache est ainsi considérablement réduit.
Un seul bloc de données à la fois peut être mis en cache. Si d'autres blocs de données sont nécessaires, des caches distincts associés à des services de carte distincts doivent être générés.
La structure de tuilage détermine la façon dont le client doit référencer les tuiles dans le cache. Une nouvelle structure de tuilage peut être créée, ou une structure de tuilage existante créée avec l'outil Générer la structure de tuilage pour le cache du serveur de carte peut être utilisée.
Utilisez des caches fusionnés dans la plupart des cas. Toutes les couches de la carte sont composées d'images uniques pour chaque niveau d'échelle spécifié, puis divisées en de nombreuses tuiles.
Utilisez des caches multi-couches lorsque vous souhaitez activer ou désactiver des couches.
Le paramètre Nombre d'échelles définit le nombre d'échelles de carte différentes pour lesquelles l'outil va créer des couches dans le cache.
Le calcul de niveaux d'échelle de carte élevés pour de très grandes étendues de carte (telles qu'un grand état, une grande province ou un grand pays) peut entraîner des temps de création importants. Par exemple, calculer un taille de tuile pour des échelles de carte supérieures à 1:100 000 pour toute l'Amérique du Nord.
Le principal avantage de l'utilisation de la compression d'image dans votre cache est la réduction de taille des tuiles de l'image pour améliorer les performances sur le réseau. Etant donné que moins de données sont transmises entre le client et le serveur, il est possible de mettre en cache des jeux de données raster volumineux et transparents (de plusieurs téraoctets) et de les transmettre rapidement à un client, à des fins d'affichage. Un autre avantage est la diminution significative de la taille du cache sur le disque.
Lorsque vous utilisez cet outil pour ajouter d'autres niveaux (échelles) à un cache existant, assurez-vous de spécifier le même facteur de compression que celui utilisé pour les niveaux d'origine.
Le format JPEG est recommandé avec les données raster. Lorsqu'il est utilisé avec des données vectorielles, les lignes et le texte peuvent être flous.
Le format de fichier JPEG n'est pas pris en charge par les caches multi-couches.
Le format de tuiles du cache ne peut pas être changé une fois le cache généré. Pour que vous puissiez passer à un autre format de fichier, le cache doit au préalable être supprimé.
Pour optimiser les performances de diffusion des tuiles de cache aux clients, choisissez le format d'image JPEG. Pour obtenir la meilleure combinaison de performances et de prise en charge de la transparence, choisissez le format d'image PNG8.
L'option Anti-crénelage lisse les tronçons de lignes et du texte, mais elle offre peu d'améliorations pour les images raster.
Cet outil n'accepte pas les paramètres d'environnement spécifiés.
Syntaxe
arcpy.server.GenerateMapServerCache(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}, {thread_count}, {Antialiasing}, {cache_format}, {tile_compression_quality})
Paramètre | Explication | Type de données |
server_name | Nom d'hôte du serveur ArcGIS Server à utiliser pour générer le cache. | String |
object_name | Nom du service de carte à utiliser pour générer le cache. | String |
data_frame | Bloc de données de cartes à mettre en cache. Veillez à sélectionner le même bloc de données que celui sélectionné pour votre service de carte. | String |
out_folder | Répertoire parent de ce cache de service de carte. | String |
tiling_scheme_type | Choisissez d'utiliser une nouvelle structure de tuilage ou une structure prédéfinie. Une nouvelle structure de tuilage peut être définie dans cet outil, ou un fichier de structure prédéfini (.xml) peut être chargé. Une structure prédéfinie peut être créée à l'aide de l'outil de géotraitement Générer la structure de tuilage pour le cache du serveur de carte. NOUVEAU est l'option par défaut. | Boolean |
scales_type | Définir le niveau d'échelle
| Boolean |
num_of_scales | Le nombre de niveaux d'échelle à créer dans le cache. | 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 paraîtra incorrecte. La valeur par défaut est 96. | Long |
tile_width | Largeur, en pixels, des tuiles de carte en sortie. De faibles largeurs peuvent améliorer les performances de l'application demandant des tuiles à partir du cache car moins de données transitent sur le câble. Cependant, des tailles de tuiles plus petites entraînent une taille de cache supérieure et un temps de création plus long. La largeur de tuile par défaut est de 512. | Long |
tile_height | Hauteur, en pixels, des tuiles de carte en sortie. De faibles hauteurs peuvent améliorer les performances de l'application demandant des tuiles à partir du cache car moins de données transitent sur le câble. Cependant, des tailles de tuiles plus petites entraînent une taille de cache supérieure et un temps de création plus long. La hauteur de tuile par défaut est de 512. | Long |
map_or_layers (Facultatif) | Choisissez de générer un cache FUSED (fusionné) ou MULTI_LAYER (multi-couches) :
| Boolean |
tiling_schema (Facultatif) | Chemin d'une structure de tuilage prédéfinie. | String |
tile_origin (Facultatif) | Spécifiez l'origine (angle supérieur gauche) de la structure de tuilage dans les coordonnées de la référence spatiale du document ArcMap source. L'étendue du document ArcMap source doit être comprise dans cette région, sans forcément coïncider avec. | String |
levels [Scale; Scale...,...] (Facultatif) | Echelles auxquelles le service de carte doit être mis en cache. | String |
Layer [Layer; Layer...,...] (Facultatif) | Couches à inclure dans le cache si le type de cache MULTI_LAYER est choisi. | String |
thread_count (Facultatif) | Nombre d'instances de serveur de carte à utiliser lors de la génération du cache. | Long |
Antialiasing (Facultatif) | Indiquez si l'anti-crénelage doit être utilisé lors du rendu des tuiles. Si l'option d'anti-crénelage est sélectionnée, le tronçon des lignes, des bordures et du texte est lissé. Cette option induit un coût en termes de performances. Les données raster n'en tirent aucun avantage. | Boolean |
cache_format (Facultatif) | Choisissez le format de fichier PNG8, PNG24, PNG32 ou JPEG pour les tuiles du cache. PNG24 est l'option par défaut.
| 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. Le niveau de compression dépend des données, mais peut également être contrôlé via la qualité de la compression. La sélection d'une valeur plus élevée entraîne une compression moindre et une image de meilleure qualité. La sélection d'une valeur moins élevée entraîne une compression supérieure mais une image de moins bonne qualité. | Long |
Exemple de code
# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
try:
print 'Starting Cache Generation'
gp.GenerateMapServerCache(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, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
print 'Finished Cache Generation'
except:
gp.AddMessage(gp.GetMessages(2))
print gp.GetMessages(2)
Environnements
Cet outil n'utilise pas d’environnement de géotraitement.
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui