Kartenserver-Cache erstellen (Server)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Erstellt das Kachelschema und die vorbereitenden Ordner für einen Karten- oder Image-Service-Cache. Führen Sie nach der Ausführung dieses Werkzeugs das Werkzeug Cache-Kacheln für Kartenserver verwalten aus, um dem Cache Kacheln hinzuzufügen.

Verwendung

Syntax

CreateMapServerCache_server (input_service, service_cache_directory, tiling_scheme_type, scales_type, num_of_scales, dots_per_inch, tile_size, {predefined_tiling_scheme}, {tile_origin}, {scales}, {cache_tile_format}, {tile_compression_quality}, {storage_format})
ParameterErläuterungDatentyp
input_service

Der Karten- oder Image-Service, der gecacht werden soll.

Dies ist eine Zeichenfolge, die sowohl die Server- als auch die Service-Informationen enthält. Um zu erfahren, wie diese Zeichenfolge erstellt wird, öffnen Sie ArcCatalog, wählen Sie Ihren Service im Kataloginhaltsverzeichnis aus, und beachten Sie den Text in der Werkzeugleiste Verzeichnis. Ändern Sie dann die umgekehrten Schrägstriche in Schrägstriche, z. B. GIS Servers/arcgis on MYSERVER (admin)/USA.MapServer.

String
service_cache_directory

Das übergeordnete Verzeichnis für den Cache. Dabei muss es sich um ein registriertes ArcGIS-Server-Cache-Verzeichnis handeln.

String
tiling_scheme_type

Wählen Sie aus, ob ein neues (NEW) oder ein vordefiniertes (PREDEFINED) Kachelschema verwendet werden soll. Sie können mit diesem Werkzeug ein neues Kachelschema definieren oder auf eine Datei mit einem vordefinierten Kachelschema (.xml) zugreifen. Ein vordefiniertes Schema kann durch Ausführen des Werkzeugs Kachelschema für Kartenserver-Cache erstellen erstellt werden.

  • NEWSie definieren ein neues Kachelschema mit den verschiedenen anderen Parametern in diesem Werkzeug, um Maßstabsebenen, das Bildformat, das Speicherformat usw. zu definieren. Dies ist die Standardeinstellung.
  • PREDEFINEDSie geben eine Kachelschemadatei im XML-Format an, die bereits auf Datenträger vorhanden ist. Sie können eine Kachelschemadatei mithilfe des Werkzeugs Kachelschema für Kartenserver-Cache erstellen erstellen.
String
scales_type

Geben Sie an, wie Sie die Maßstäbe für die Kacheln definieren möchten.

  • STANDARDGeneriert die Maßstäbe automatisch basierend auf der im Parameter Anzahl der Maßstabsebenen (num_of_scales in Python) angegebenen Zahl. Es werden Ebenen verwendet, die ab 1:1.000.000 um die Hälfte erhöht oder verringert werden. Es wird mit einer Ebene begonnen, die der Ausdehnung des Quellkartendokuments am nächsten ist. Wenn das Quellkartendokument beispielsweise eine Ausdehnung von 1:121.000.000 aufweist und drei Maßstabsebenen festgelegt sind, erstellt der Karten-Service einen Cache mit den folgenden Maßstabsebenen: 1:128.000.000, 1:64.000.000 und 1:32.000.000. Dies ist die Standardeinstellung.
  • CUSTOMErmöglicht dem Cache-Designer die Eingabe beliebiger Maßstäbe.
String
num_of_scales

Die Anzahl der Maßstabsebenen, die im Cache erstellt werden sollen. Diese Option ist deaktiviert, wenn Sie eine benutzerdefinierte Liste von Maßstäben erstellen.

Long
dots_per_inch

Die Auflösung in DPI (Dots per Inch, Punkte pro Inch) des betreffenden Ausgabegeräts. Bei einem DPI-Wert, der nicht mit der Auflösung des Ausgabegeräts übereinstimmt, wird der Maßstab der Kartenkachel falsch angezeigt. Der Standardwert ist 96.

Long
tile_size

Die Breite und Höhe der Cache-Kacheln in Pixel. Der Standardwert ist 256 × 256. Um das optimale Gleichgewicht zwischen Performance und Überschaubarkeit herzustellen, sollten Sie es vermeiden, von den Standardbreiten 256 × 256 oder 512 × 512 abzuweichen.

  • 128 x 128128 x 128 Pixel
  • 256 x 256256 x 256 Pixel
  • 512 x 512512 x 512 Pixel
  • 1024 x 10241024 x 1024 Pixel
String
predefined_tiling_scheme
(optional)

Pfad zu einer vordefinierten Kachelschemadatei (normalerweise mit dem Namen conf.xml).

File
tile_origin
(optional)

Der Ursprung (obere linke Ecke) des Kachelschemas in den Koordinaten des Raumbezugs des Quellkartendokuments. Die Ausdehnung des Quellkartendokuments muss innerhalb dieser Region liegen (muss jedoch nicht lagegleich sein).

Point
scales
[scales,...]
(optional)

Für den Cache verfügbare Maßstabsebenen. Diese werden nicht als Brüche dargestellt. Verwenden Sie stattdessen 500, um einen Maßstab von 1:500 darzustellen, bzw. entsprechende andere Werte.

Value Table
cache_tile_format
(optional)

Wählen Sie das Dateiformat PNG, PNG8, PNG24, PNG32, JPEG oder MIXED für die Kacheln im Cache aus. Die Standardeinstellung ist PNG8.

  • PNGErstellt das PNG-Format mit verschiedenen Bit-Tiefen. Die Bit-Tiefen werden gemäß der Farbabweichungs- und Transparenzwerte in einer Kachel optimiert.
  • PNG8Ein verlustfreies 8-Bit-Farb-Bildformat, das eine indizierte Farbpalette und eine Alpha-Tabelle verwendet. In jedem Pixel wird ein Wert (0-255) gespeichert, mit dem die Farbe in der Farbpalette und die Transparenz in der Alpha-Tabelle bestimmt wird. 8-Bit-PNG-Bilder ähneln GIF-Bildern und bieten in den meisten Browsern optimale Unterstützung für einen transparenten Hintergrund.
  • PNG24Ein verlustfreies Dreikanal-Bildformat, das zwar umfassende Farbvariationen (16 Millionen Farben), Transparenz jedoch nur eingeschränkt unterstützt. Jeder Pixel enthält drei 8-Bit-Farbkanäle, und der Datei-Header enthält die Einzelfarbe, die den transparenten Hintergrund darstellt. Die Farbe, die die transparente Hintergrundfarbe darstellt, kann in ArcMap festgelegt werden. Versionen von Internet Explorer vor 7 unterstützen diese Art der Transparenz nicht. Caches, die PNG24 verwenden, sind wesentlich größer als Caches, für die PNG8 oder JPEG ausgewählt wurde, und sie beanspruchen mehr Speicherplatz und Bandbreite für Clients.
  • PNG32Ein verlustfreies Vierkanal-Bildformat, das umfassende Farbvariationen (16 Millionen Farben) und Transparenz unterstützt. Jeder Pixel enthält drei 8-Bit-Farbkanäle und einen 8-Bit-Alpha-Kanal, der die Transparenzstufe für die einzelnen Pixel darstellt. Während das Format PNG32 teilweise transparente Pixel im Bereich von 0 bis 255 zulässt, schreibt das ArcGIS Server-Werkzeug für die Cache-Generierung nur vollständig transparente (0) oder vollständig undurchsichtige (255) Werte in den Transparenzkanal. Caches, die PNG32 verwenden, sind wesentlich größer als die anderen unterstützten Formate, und sie beanspruchen mehr Speicherplatz und Bandbreite für Clients.
  • JPEGEin Dreikanal-Bildformat mit Qualitätsverlust, das umfassende Farbvariationen (16 Millionen Farben), jedoch keine Transparenz unterstützt. Jeder Pixel enthält drei 8-Bit-Farbkanäle. Caches, die das JPEG-Format verwenden, ermöglichen die Steuerung der Ausgabequalität und -größe.
  • MIXEDErstellt an allen Orten PNG 32, an denen Transparenz erkannt wird (anders ausgedrückt: an allen Orten, an denen der Hintergrund des Datenrahmens sichtbar ist). Erstellt JPEG-Daten für die verbleibenden Kacheln. Dadurch wird die durchschnittliche Dateigröße klein gehalten, während gleichzeitig ein sauberes Overlay über anderen Caches bereitgestellt werden kann.
String
tile_compression_quality
(optional)

Geben Sie einen Wert zwischen 1 und 100 für die JPEG-Komprimierungsqualität ein. Der Standardwert für das JPEG-Kachelformat ist 75, für die anderen Formate beträgt er 0.

Die Komprimierung wird nur für das JPEG-Format unterstützt. Bei Auswahl eines höheren Wertes ergibt sich eine größere Datei mit höherer Bildqualität. Bei Auswahl eines niedrigeren Wertes ergibt sich eine kleinere Datei mit niedrigerer Bildqualität.

Long
storage_format
(optional)

Bestimmt das Speicherformat von Kacheln.

  • COMPACTGruppiert Kacheln in große Dateien, die Pakete genannt werden. Dieses Speicherformat ist bezüglich des Speichers und der Mobilität effizienter.
  • EXPLODEDSpeichert jede Kachel als separate Datei.
String

Codebeispiel

CreateMapServerCache - Beispiel 1

In diesem Beispiel wird ein Karten-Cache mit dem Maßstabstyp STANDARD erstellt.

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using standard tiling schema 
# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache\\"
tilingSchemeType = "NEW"
scalesType = "STANDARD"
numOfScales = "4"
scales = ""
dotsPerInch = "96"
tileOrigin = ""
scales = ""
tileSize = "256 x 256"
cacheTileFormat = "PNG32"
tileCompressionQuality = ""
storageFormat = "COMPACT"
predefinedTilingScheme = ""


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

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(inputService,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales,
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat)
                                              
    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 cache schema with 4 scales & default properties for"
    serviceName + " 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 "Executed creation of Map server Cache schema "
report.close()
CreateMapServerCache - Beispiel 2

In diesem Beispiel wird ein Karten-Cache mit benutzerdefinierten Maßstäben (CUSTOM) erstellt.

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#              using Custom scales & jpg image format.
# 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, string, datetime, traceback

# 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
serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache"
tilingSchemeType = "NEW"
scalesType = "CUSTOM"
numOfScales = "4"
dotsPerInch = "96"
tileSize = "256 x 256"
predefinedTilingScheme = ""
tileOrigin = ""
scales = "600265;350200;225400;44000"
cacheTileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "COMPACT"


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

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(inputService,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales, 
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat)
    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 cache schema with custom scales successfully for "
    serviceName + " 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 "Executed creation of map server Cache schema using custom scales"

report.close()
CreateMapServerCache - Beispiel 3

In diesem Beispiel wird ein Karten-Cache mithilfe eines vordefinierten Kachelschemas erstellt.

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using existing predefined schema
# 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
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.1\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
serviceCacheDirectory = "C:\\arcgisserver\\directories\\arcgiscache"
tilingSchemeType = "PREDEFINED"
scalesType = ""
tileOrigin = ""
scalesType = ""
numOfScales = ""
scales = ""
dotsPerInch = "96"
tileSize = "256 x 256"
cacheTileFormat = "MIXED"
tileCompressionQuality = "75"
storageFormat = "COMPACT"
predefinedTilingScheme = "C:/data/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"


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

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server (inputService,
                                                serviceCacheDirectory,
                                                tilingSchemeType, scalesType,
                                                numOfScales, dotsPerInch,
                                                tileSize, predefinedTilingScheme,
                                                tileOrigin, scales,
                                                cacheTileFormat,
                                                tileCompressionQuality,
                                                storageFormat)

    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 cache schema using predefined tiling schema for "
    serviceName + " 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 "Executed creation of map server Cache schema using tiling scheme"
report.close()

Umgebung

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
5/10/2014