Importer un cache de serveur de carte (Serveur)

Synthèse

Le dossier source peut être un enfant d’un répertoire de cache du serveur enregistré, un dossier dans lequel un cache a été exporté précédemment ou un paquetage de tuiles (.tpk). Le service cible doit avoir la même structure de tuile et le même format de stockage que le cache source.

Utilisation

  • Utilisez cet outil pour importer l'intégralité ou une partie d'un cache d'un dossier vers un autre.

  • Le paramètre Overwrite Tiles (Remplacer les tuiles) permet aux tuiles importées de remplacer entièrement les tuiles existantes, au lieu de fusionner les images. Les tuiles importées peuvent toujours être contraintes dans une zone d'intérêt.

Paramètres

ÉtiquetteExplicationType de données
Service d'entrée
Image Service; Map Server
Type de cache source

Permet d’importer le cache d’un jeu de données de cache ou d’un paquetage de tuiles vers un service de carte ou d’imagerie en cache exécuté sur le serveur.

  • CACHE_DATASETCache du service de carte ou d’imagerie généré avec ArcGIS Server. Il peut être utilisé dans ArcGIS Desktop et par les services de carte ou d’imagerie ArcGIS Server.
  • TILE_PACKAGEFichier compressé unique dans lequel le jeu de données de cache est ajouté en tant que couche et consolidé afin de pouvoir être partagé. Il peut être utilisé dans ArcGIS Desktop, ArcGIS Runtime et les applications mobiles.
String
Jeu de données du cache source
(Facultatif)

Chemin d'accès aux tuiles qui seront importées. Il est représenté par une icône de jeu de données raster dans l'interface de navigation. Vous n'êtes pas obligé d'entrer un répertoire de cache du serveur inscrit. La plupart du temps, vous spécifiez un emplacement du disque où figurent déjà des tuiles exportées. Le compte ArcGIS Server doit pouvoir accéder à cet emplacement. Si le compte ArcGIS Server ne peut pas obtenir de droits d’accès sur cet emplacement, cochez le paramètre Charger les données sur un serveur..

Raster Dataset
Paquetage de tuiles source
(Facultatif)

Chemin d'accès au paquetage de tuiles qui sera importé. Le compte ArcGIS Server doit pouvoir accéder à cet emplacement. L'importation d'un fichier de paquetage de tuiles dans un service de carte ou d'imagerie en cache active automatiquement le paramètre Charger les données sur un serveur.

File
Charger les données sur un serveur
(Facultatif)

Cochez ce paramètre si le compte ArcGIS Server ne dispose pas d’un accès en lecture au cache source. L’outil téléchargera le cache source dans le répertoire de téléchargements ArcGIS Server avant de le placer dans le répertoire de cache ArcGIS Server.

  • Activé - Les tuiles sont placées dans le répertoire de téléchargements du serveur, puis transférées dans le répertoire de cache du serveur. Par défaut, cette option est activée lorsque le paramètre Source Cache Type (Type de cache source) est défini sur TILE_PACKAGE.
  • Désactivé - Les tuiles sont importées directement dans le répertoire de cache du serveur. Le compte ArcGIS Server doit posséder des droits d’accès en lecture sur le cache source.
Boolean
Échelles
(Facultatif)

Liste des niveaux d'échelle auxquels les tuiles sont importées.

Par défaut, les échelles répertoriées dans la boîte de dialogue de cet outil sont comprises entre les échelles en cache minimales et maximales pour le service. Pour mettre à jour la plage d’échelles, accédez à l’onglet Service Editor (Éditeur de services) > Caching (Mise en cache) et utilisez les curseurs pour mettre à jour les échelles en cache minimales et maximales.

Double
Nombre d’instances de service de mise en cache
(Facultatif)
Long
Zone d’intérêt
(Facultatif)

Polygone de zone d'intérêt qui contraint spatialement la zone où les tuiles sont importées dans le cache. Ce paramètre est utile si vous voulez importer des tuiles pour des zones de forme irrégulière, car l’outil découpe le jeu de données du cache qui intersecte le polygone à une résolution de pixel, puis l’importe dans le répertoire de cache du service.

Si vous ne fournissez aucune valeur pour ce paramètre, la valeur du paramètre Emprise d'importation est utilisée. Par défaut, il convient d'utiliser l'étendue globale de la carte.

Feature Set
Emprise d’importation
(Facultatif)

Etendue rectangulaire définissant les tuiles à importer dans le cache. Par défaut, l’étendue est définie sur l’étendue complète du service de carte dans lequel vous effectuez l’importation. Notez que le paramètre facultatif Area Of Interest (Zone d’intérêt) de cet outil vous permet de contraindre spatialement les tuiles importées avec une forme irrégulière. Si vous entrez des valeurs pour les deux paramètres, le paramètre Area Of Interest (Zone d’intérêt) est prioritaire sur le paramètre Import Extent (Emprise d’importation).

  • Current Display Extent (Étendue actuellement affichée) Vue cartographique : l’étendue repose sur la carte ou la scène active. Cette option est uniquement disponible lorsqu’une carte est active.
  • Dessiner l’étendue Draw Extent : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène. Cette option crée une classe d’entités dans la géodatabase du projet et ajoute une couche à la carte. La classe d’entités possède le même système de coordonnées que la carte.
    Remarque :

    Cette option n’est pas disponible dans la boîte de dialogue Environnements. Elle est disponible uniquement dans un paramètre de l’outil correspondant à un type de données d’étendue ou dans l’onglet Environnements de la boîte de dialogue de l’outil.

    Remarque :

    Lorsque l’option de mise à jour Activer et désactiver la mise à jour de l’onglet Mettre à jour est activée, vous devez activer la mise à jour dans l’onglet du ruban Mettre à jour pour dessiner l’étendue.

  • Extent of a Layer (Étendue d’une couche) Couche : l’étendue repose sur une couche de carte active. Utilisez la liste déroulante pour choisir une couche disponible ou utilisez l’option Extent of data in all layers (Étendue des données dans toutes les couches) pour obtenir l’étendue combinée de toutes les couches de carte actives, y compris le fond de carte. Cette option est uniquement disponible lorsqu’une carte avec des couches est active.

    Chaque couche de carte comporte les options suivantes :

    • Toutes les entités Sélectionner tout : étendue de toutes les entités dans la couche.
    • Entités sélectionnéesArea from Selected Features : étendue de toutes les entités sélectionnées dans la couche.
    • Entités visibles Extent Indicator : étendue des entités visibles dans la couche.
      Remarque :

      Les étendues des options Entités sélectionnées Area from Selected Features et Entités visibles Extent Indicator sont disponibles uniquement pour les couches d’entités.

  • Browse (Parcourir) Parcourir : l’étendue repose sur un jeu de données existant.
  • Presse-papiers Coller : l’étendue peut être copiée vers et collée depuis le Presse-papiers.
    • Copier l’étendue Copier : copie les coordonnées et le système de coordonnées de l’étendue dans le Presse-papiers.
    • Coller l’étendue Coller : colle les coordonnées et, éventuellement, le système de coordonnées de l’étendue depuis le Presse-papiers. Si les valeurs du Presse-papiers n’incluent pas de système de coordonnées, l’étendue utilise celui de la carte.
    Remarque :

    Les coordonnées de l’étendue sont copiées vers et collées depuis le Presse-Papiers avec la même mise en forme et le même ordre que ceux de l’objet ArcPy Extent : X min, Y min, X max, Y max et la référence spatiale.

  • Reset Extent (Réinitialiser l’étendue) Réinitialiser : la valeur par défaut de l’étendue est rétablie.
  • Manually entered coordinates (Coordonnées saisies manuellement) : les coordonnées doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active.
    Attention :

    La carte peut utiliser des unités d’affichage différentes de celles des coordonnées saisies. L’utilisation d’une direction cardinale (N, S, E, O) n’est pas prise en charge. Utilisez le signe moins pour les coordonnées sud et ouest.

Extent
Remplacer les tuiles
(Facultatif)

Indique si les images du cache de destination sont fusionnées avec les tuiles du cache d’origine ou remplacées par ces dernières.

  • Activé : l’importation remplace tous les pixels de la zone d’intérêt, en remplaçant les tuiles du cache de destination par les tuiles du cache d’origine.
  • Désactivé : lorsque les tuiles sont importées, les pixels transparents du cache d'origine sont ignorés par défaut. L'image est ainsi fusionnée dans le cache de destination. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
URL de service de carte en sortie

L’URL en sortie.

String

arcpy.management.ImportMapServerCache(input_service, source_cache_type, {source_cache_dataset}, {source_tile_package}, {upload_data_to_server}, {scales}, {num_of_caching_service_instances}, {area_of_interest}, {import_extent}, {overwrite})
NomExplicationType de données
input_service
Image Service; Map Server
source_cache_type

Permet d’importer le cache d’un jeu de données de cache ou d’un paquetage de tuiles vers un service de carte ou d’imagerie en cache exécuté sur le serveur.

  • CACHE_DATASETCache du service de carte ou d’imagerie généré avec ArcGIS Server. Il peut être utilisé dans ArcGIS Desktop et par les services de carte ou d’imagerie ArcGIS Server.
  • TILE_PACKAGEFichier compressé unique dans lequel le jeu de données de cache est ajouté en tant que couche et consolidé afin de pouvoir être partagé. Il peut être utilisé dans ArcGIS Desktop, ArcGIS Runtime et les applications mobiles.
String
source_cache_dataset
(Facultatif)

Chemin d'accès au dossier de cache correspondant au nom du bloc de données. Vous n'êtes pas obligé d'entrer un répertoire de cache du serveur inscrit. La plupart du temps, vous spécifiez un emplacement du disque où figurent déjà des tuiles exportées. Le compte ArcGIS Server doit pouvoir accéder à cet emplacement. Si le compte ArcGIS Server ne peut pas obtenir de droits d’accès sur cet emplacement, définissez le paramètre upload_data_to_server sur UPLOAD_DATA.

Raster Dataset
source_tile_package
(Facultatif)

Chemin d’accès au paquetage de tuiles (.tpk) qui sera importé. Le compte ArcGIS Server doit pouvoir accéder à cet emplacement. Lors de l’importation d’un fichier de paquetage de tuiles dans un service de carte ou d’imagerie en cache, le paramètre upload_data_to_server est ignoré, car il est automatiquement défini sur UPLOAD_DATA.

File
upload_data_to_server
(Facultatif)

Définissez ce paramètre sur UPLOAD_DATA si le compte ArcGIS Server ne dispose pas d’un accès en lecture au cache source. L’outil téléchargera le cache source dans le répertoire de téléchargements ArcGIS Server avant de le placer dans le répertoire de cache ArcGIS Server.

  • UPLOAD_DATALes tuiles sont placées dans le répertoire de téléchargements du serveur, puis transférées dans le répertoire de cache du serveur. Cette opération est activée par défaut lorsque source_cache_type est défini sur TILE_PACKAGE.
  • DO_NOT_UPLOADLes tuiles sont importées directement dans le répertoire de cache du serveur. Le compte ArcGIS Server doit posséder des droits d’accès en lecture sur le cache source.
Boolean
scales
[scales,...]
(Facultatif)

Liste des niveaux d'échelle auxquels les tuiles sont importées.

Double
num_of_caching_service_instances
(Facultatif)
Long
area_of_interest
(Facultatif)

Polygone de zone d'intérêt qui contraint spatialement la zone où les tuiles sont importées dans le cache. Ce paramètre est utile si vous voulez importer des tuiles pour des zones de forme irrégulière, car l’outil découpe le jeu de données du cache qui intersecte le polygone à une résolution de pixel, puis l’importe dans le répertoire de cache du service.

Si vous ne fournissez aucune valeur pour ce paramètre, la valeur du paramètre Emprise d'importation est utilisée. Par défaut, il convient d'utiliser l'étendue globale de la carte.

Feature Set
import_extent
(Facultatif)

Etendue rectangulaire définissant les tuiles à importer dans le cache. Par défaut, l’étendue est définie sur l’étendue complète du service de carte dans lequel vous effectuez l’importation. Notez que le paramètre facultatif Area Of Interest (Zone d’intérêt) de cet outil vous permet de contraindre spatialement les tuiles importées avec une forme irrégulière. Si vous entrez des valeurs pour les deux paramètres, le paramètre Area Of Interest (Zone d’intérêt) est prioritaire sur le paramètre Import Extent (Emprise d’importation).

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale commune à toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
overwrite
(Facultatif)

Indique si les images du cache de destination sont fusionnées avec les tuiles du cache d’origine ou remplacées par ces dernières.

  • OVERWRITEL'importation remplace tous les pixels de la zone d'intérêt, en remplaçant les tuiles du cache de destination par les tuiles du cache d'origine.
  • MERGELorsque les tuiles sont importées, les pixels transparents du cache d'origine sont ignorés par défaut. L'image est ainsi fusionnée dans le cache de destination. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
out_job_url

L’URL en sortie.

String

Exemple de code

Exemple 1 d'utilisation de l'outil ImportMapServerCache (script autonome)

Importez un jeu de données de cache dans un service en cache pour le nombre d'échelles par défaut. Les tuiles du cache de destination sont remplacées par les tuiles importées.

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory with CACHE_DATASET and
#               OVERWRITE existing cache on the service for the number
#               of scales specified without Uploading data to server
# 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
connectionFile      = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server              = "arcgis on MyServer_6080 (publisher)"
serviceName         = "Rainfall.MapServer"
inputService        = connectionFile + "\\" + server + "\\" + serviceName
sourceCacheType     = "CACHE_DATASET"
sourceCacheDataset  = "C:/data/destination_folder/Layers"
sourceTilePackage   = ""
uploadDataToServer  = "DO_NOT_UPLOAD"
scales              = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
areaOfInterest      = ""
importExtents       = ""
overwriteTiles      = "OVERWRITE"

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

# use "scales[0]","scales[-1]","scales[0:3]"

try:
    starttime = time.clock()
    result = arcpy.server.ImportMapServerCache(inputService, sourceCacheType,
                                               sourceCacheDataset,
                                               sourceTilePackage,
                                               uploadDataToServer, scales,
                                               numOfCachingServiceInstances,
                                               areaOfInterest, importExtents,
                                               overwriteTiles)
    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("Imported Map server Cache Tiles successfully for" + serviceName + \
        " from" + sourceCacheDataset + "\n in " + str(elapsedtime)+ "sec on " + arg2)

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("Imported Map server Cache Tiles ")

report.close()
Exemple 1 d'utilisation de l'outil ImportMapServerCache (script autonome)

Importez des tuiles de cache pour une zone d’intérêt depuis un paquetage de tuiles vers un service de cache.

# Name: ImportMapServerCache.py
# Description: The following stand-alone script demonstrates how to import map
#               server cache from a source directory with Tile Package to an existing service for
#               the default number of scales specified using an AOI by uploading data to remote server
# To Import cache tiles for the scales specified for given feature class

# Requirements: os, sys, time and traceback modules
# Author: ESRI

# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
sourceCacheType = "TILE_PACKAGE"
sourceCacheDataset = ""
sourceTilePackage = "C:\\data\\destination_folder\\TPK\\Rainfall.tpk"
uploadDataToServer = "UPLOAD_DATA"
scales = [500000,250000,125000,64000]
numOfCachingServiceInstances = "2"
cacheDir = "c:\\arcgisserver\\arcgiscache"
areaOfInterest = "C:/data/101/Portland/Portland_Metro.shp"
importExtents = ""
overwriteTiles = "MERGE"

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

# use "scales[0]","scales[-1]","scales[0:3]"

try:
    starttime = time.clock()
    result = arcpy.server.ImportMapServerCache(inputService, sourceCacheType,
                                               sourceCacheDataset,
                                               sourceTilePackage,
                                               uploadDataToServer, scales,
                                               numOfCachingServiceInstances,
                                               areaOfInterest, importExtents,
					       overwriteTiles)
    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("Imported Map server Cache Tiles successfully for " + serviceName + \
        " from " + sourceTilePackage + " to " + cacheDir + "\n using "+ areaOfInterest + \
        " in " + str(elapsedtime) + " sec \n on  " + arg2)

except Exception as e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 2 \n" "Line %i" % tb.tb_lineno)
    report.write(str(e))

report.close()

print("Imported Map server Cache Tiles for the given feature class")

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.