Générer la structure de tuilage d’un cache de serveur de carte (Serveur)

Synthèse

Génère un fichier de structure de tuile personnalisé qui définit les niveaux d’échelle, les cotations de tuiles et d’autres propriétés d’une couche de tuiles Web.

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

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

  • Lorsque le paramètre Ready To Serve Format (Format prêt à l’emploi) est sélectionné, la structure du contenu du cache est générée à l’aide de la spécification de paquetage de tuiles ouverte.

Paramètres

ÉtiquetteExplicationType de données
Carte

Carte actuelle ou fichier .mxd existant à utiliser pour la structure de tuilage.

Map
Origine du tuilage en unités de carte

Origine (angle supérieur gauche) de la structure de tuilage dans les coordonnées de la référence spatiale du bloc de données source.

Point
Structure de tuilage en sortie

Le chemin d’accès et le nom de fichier de la structure de tuilage qui sera créé.

File
Nombre d’échelles

Le nombre de niveaux d’échelle qui seront inclus dans la structure de tuilage.

Long
Échelles

Les niveaux d’échelle qui seront inclus 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., par exemple.

Value Table
Points (pixels) par pouce

Résolution en points par pouce (PPP) 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
Taille de tuile

Spécifie la largeur et la hauteur des tuiles de cache en pixels. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de vous écarter des dimensions standard de 256 sur 256 ou de 512 sur 512.

  • 128 sur 128 pixelsLa largeur et la hauteur des tuiles de cache sera de 128 par 128 pixels.
  • 256 sur 256 pixelsLa largeur et la hauteur des tuiles de cache sera de 256 x 256 pixels. Il s’agit de l’option par défaut.
  • 512 sur 512 pixelsLa largeur et la hauteur des tuiles de cache sera de 512 x 512 pixels.
  • 1024 sur 1024 pixelsLa largeur et la hauteur des tuiles de cache sera de 1024 x 1024 pixels.
String
Format prêt à l’emploi
(Facultatif)

Spécifie le format de fichier de la structure du cache qui sera utilisé et s’il sera généré à l’aide de la spécification de paquetage de tuiles ouverte.

  • Activé : la structure du cache sera générée au format JSON à l’aide de la spécification de paquetage de tuiles ouverte. Un dossier en sortie doit être spécifié dans le paramètre Output Folder (Dossier en sortie).
  • Désactivé : la structure du cache sera générée au format XML. Il s’agit de l’option par défaut.

Boolean
Dossier en sortie
(Facultatif)

L’emplacement du dossier dans lequel la structure du cache et les fichiers iteminfo seront créés au format JSON.

Folder

arcpy.server.GenerateMapServerCacheTilingScheme(in_map, tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size, {ready_to_serve_format}, {output_folder})
NomExplicationType de données
in_map

Carte actuelle ou fichier .mxd existant à utiliser pour la structure de tuilage.

Map
tile_origin

Origine (angle supérieur gauche) de la structure de tuilage dans les coordonnées de la référence spatiale du bloc de données source.

Point
output_tiling_scheme

Le chemin d’accès et le nom de fichier de la structure de tuilage qui sera créé.

File
num_of_scales

Le nombre de niveaux d’échelle qui seront inclus dans la structure de tuilage.

Long
scales
[scales,...]

Les niveaux d’échelle qui seront inclus 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., par exemple.

Value Table
dots_per_inch

Résolution en points par pouce (PPP) 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

Spécifie la largeur et la hauteur des tuiles de cache en pixels. Pour un meilleur équilibre entre performance et fonctionnalité, évitez de vous écarter des dimensions standard de 256 sur 256 ou de 512 sur 512.

  • 128 x 128La largeur et la hauteur des tuiles de cache sera de 128 par 128 pixels.
  • 256 x 256La largeur et la hauteur des tuiles de cache sera de 256 x 256 pixels. Il s’agit de l’option par défaut.
  • 512 x 512La largeur et la hauteur des tuiles de cache sera de 512 x 512 pixels.
  • 1024 x 1024La largeur et la hauteur des tuiles de cache sera de 1024 x 1024 pixels.
String
ready_to_serve_format
(Facultatif)

Spécifie le format de fichier de la structure du cache qui sera utilisé et s’il sera généré à l’aide de la spécification de paquetage de tuiles ouverte.

  • READY_TO_SERVE_FORMATLa structure du cache sera générée au format JSON à l’aide de la spécification de paquetage de tuiles ouverte. Un dossier en sortie doit être spécifié dans le paramètre output_folder.
  • NON_READY_TO_SERVE_FORMATLa structure du cache sera générée au format XML. Il s’agit de l’option par défaut.
Boolean
output_folder
(Facultatif)

L’emplacement du dossier dans lequel la structure du cache et les fichiers iteminfo seront créés au format JSON.

Folder

Exemple de code

Exemple 1 d’utilisation de l’outil GenerateMapServerCacheTilingScheme (format XML)

L’exemple suivant crée une structure de tuilage de cache de carte au format XML.

# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "E:/path/to/myschema.xml"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize)

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

except Exception as 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(str(e))

print("Created Map server Cache Tiling schema ")

report.close()
Exemple 2 d’utilisation de l’outil GenerateMapServerCacheTilingScheme (format JSON)

L’exemple suivant crée une structure de tuilage de cache de carte au format JSON.

# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
#               server cache schema in ready to serve format using a given map document at a given
#               folder
# 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 = "E:/path/to/myfolder"

# List of input variables for map service properties

# Reference map to use for cache tiling sceheme generation
aprx = arcpy.mp.ArcGISProject(r"E:\Data\path\to\myAPRX.aprx")
mapDocument = aprx.listMaps("myMapName")[0]
outputTilingScheme = "None"
tileOrigin = ""
numOfScales = "4"
scales = "4000000,2000000,100000,50000"
tileSize = "256 x 256"
dotsPerInch = "96"
ready_to_serve_format = "READY_TO_SERVE_FORMAT"
output_folder = "E:\path\to\myfolder"

# print results of the script to a report

file = r'E:\path\to\myreport.txt'
report = open(file,'w')

try:
    #starttime = time.clock()
    result = arcpy.server.GenerateMapServerCacheTilingScheme(mapDocument,
                                                             tileOrigin, outputTilingScheme,
                                                             numOfScales, scales,
                                                             dotsPerInch, tileSize,
                                                             ready_to_serve_format,
                                                             output_folder)

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

except Exception as 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(str(e))

print("Created Map server Cache Tiling schema ")

report.close()

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes