Importer un cache de serveur de carte (Serveur)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Cet outil importe des tuiles depuis un dossier du disque vers un cache de service d'imagerie ou de carte. 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

Syntaxe

ImportMapServerCache_server (input_service, source_cache_type, {source_cache_dataset}, {source_tile_package}, {upload_data_to_server}, {scales}, {num_of_caching_service_instances}, {import_extent}, {area_of_interest}, {overwrite})
ParamètreExplicationType de données
input_service

Nom du service de carte ou d'imagerie dans lequel les tuiles seront importées.

Cette chaîne contient les informations relatives au serveur et au service. Pour savoir comment construire cette chaîne, ouvrez ArcCatalog, sélectionnez votre service dans l'arborescence du catalogue et notez le texte dans la barre d'outils Emplacement. Remplacez les barres obliques inverses par des barres obliques, par exemple, GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer.

String
source_cache_type

Choisissez d'importer le cache d'un jeu de données de cache CACHE_DATASET ou d'un paquetage de tuiles TILE_PACKAGE 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é à l'aide d'ArcGIS Server. Utilisable dans ArcMap et avec 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é pour permettre de le partager facilement. Utilisable dans ArcGIS for Desktop, ainsi que dans les applications mobiles et ArcGIS Runtime.
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 enregistré. En fait, la plupart du temps, vous spécifiez un emplacement du disque où figurent déjà les 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 sera 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. Par défaut, cette option est activée lorsque le paramètre storage_format_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)

Nombre total d'instances du service des outils de mise en cache du dossier système que vous souhaitez utiliser pour exécuter cet outil. Vous pouvez augmenter le nombre maximum d'instances par machine du service des outils de mise en cache du dossier système en ouvrant la fenêtre Editeur de services via une connexion administrateur à ArcGIS Server. Assurez-vous que vos machines serveur peuvent prendre en charge le nombre d'instances sélectionné.

Long
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 le paramètre facultatif de l'outil Zone d'intérêt qui 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, la Zone d'intérêt est prioritaire sur l' Emprise d'importation.

Extent
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. Il peut s'agir d'une classe d'entités ou d'une entité que vous définissez de manière interactive dans ArcMap. 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
overwrite
(Facultatif)
  • 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 du comportement par défaut.
Boolean

Exemple de code

Exemple 1

Importez un jeu de données de cache CACHE_DATASET 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.ImportMapServerCache_server(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, 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 "Imported Map server Cache Tiles "

report.close()

Exemple 2

Importez des tuiles de cache pour une zone d'intérêt, d'un paquetage de tuiles TILE_PACKAGE 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.ImportMapServerCache_server(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, 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(e.message)
report.close()

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

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
6/5/2014