Résumé
Génère un fichier de structure de tuilage XML qui définit les niveaux d'échelle, les cotes de tuile et d'autres propriétés d'un cache de service de cache. Cet outil est utile pour créer une structure de tuilage à utiliser dans plusieurs caches. Vous pouvez charger le fichier de structure de tuile lorsque vous créez un cache dans ArcGIS Desktop ou dans ArcGIS Server Manager, ou vous pouvez exécuter Créer un cache de serveur de carte et transmettre le fichier de structure de tuilage en tant que paramètre.
Une structure de tuilage décrit comment les clients doivent faire référence aux tuiles dans un cache. Il s'agit d'un mappage entre la référence spatiale de la carte source et la grille de tuilage. Cette dernière utilise une structure de référence de niveaux de détail (échelles), de lignes et de colonnes. La structure définit également les niveaux d'échelle (niveaux de détail) auxquels le cache comporte des tuiles, la taille des tuiles dans les pixels et la résolution d'écran à laquelle les tuiles doivent généralement être affichées. Une structure de tuilage est requise pour générer un cache de carte.
Utilisation
Si vous avez déjà défini un cache dans ArcGIS Desktop ou dans ArcGIS Server Manager, vous n'avez pas à exécuter cet outil. Vous disposez déjà d'une structure de tuile (conf.xml) dans le dossier de cache, que vous pouvez référencer lorsque vous créez d'autres caches.
Par défaut, l'origine du tuilage démarre dans la partie gauche supérieure du système de coordonnées utilisé par le document ArcMap source du service.
Une fois le cache créé, les niveaux d'échelle sont la seule partie non modifiable de la structure de tuilage. Utilisez Gérer les échelles d'un cache de serveur de carte pour ajouter ou supprimer des niveaux d'échelle.
Syntaxe
arcpy.server.GenerateMapServerCacheTilingScheme(map_document, data_frame, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
Paramètre | Explication | Type de données |
map_document | Document ArcMap source à utiliser pour la structure de tuile. | File |
data_frame | Bloc de données à utiliser pour la structure de tuilage. | String |
tile_origin | Angle supérieur gauche de la structure de tuile, dans les coordonnées de la référence spatiale du bloc de données source. | Point |
output_tiling_scheme | Chemin d'accès et nom de fichier de la structure de tuilage à créer. | File |
num_of_scales | Nombre de niveaux d'échelle dans la structure de tuilage. | Long |
scales [scales,...] | Niveaux d'échelle à inclure dans la structure de tuilage. Ils ne sont pas représentés sous la forme de fractions. Utilisez plutôt 500 pour représenter une échelle de 1:500, etc. | Value Table |
dots_per_inch | 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_size | Largeur et hauteur des tuiles de cache en pixels. Les dimensions par défaut sont 256 x 256. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de vous écarter des dimensions standard de 256 sur 256 ou de 512 sur 512.
| String |
Exemple de code
Exemple GenerateMapServerCacheTilingScheme
Crée une structure de tuile de cache de carte avec quatre échelles.
# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
# server cache schema using a given map document at a given
# "pathForOutputXml"
# 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, datetime, traceback, string
# Set environment settings
env.workspace = "C:/data"
# List of input variables for map service properties
mapDocument = "C:/data/101/Portland/mxd/_M_Portland_classic_FGDB_Local.mxd"
dataFrame = ""
outputTilingScheme = "C:/data/port.xml"
tileOrigin = ""
numOfScales = "4"
scales = "500000,250000,125000,64000"
tileSize = "256 x 256"
dotsPerInch = "96"
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = r'C:/data/report_%s.txt' % arg1
# print results of the script to a report
report = open(file,'w')
try:
starttime = time.clock()
result = arcpy.GenerateMapServerCacheTilingScheme_server(mapDocument, dataFrame,
tileOrigin, outputTilingScheme,
numOfScales, scales,
dotsPerInch, tileSize)
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 MapServer cache tiling schema successfully using"
mapDocument + " at "+ outputTilingScheme + " 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 "Created Map server Cache Tiling schema "
report.close()
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui