Map Server-Cache erstellen (Server)

Zusammenfassung

Erstellt das Kachelschema und vorbereitende Ordner für einen Karten-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 (server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, {map_or_layers}, {tiling_schema}, {tile_origin}, {levels}, {Layer}, {Antialiasing}, {cache_format}, {tile_compression_quality}, {storage_format}, use_local_cache_dir)
ParameterErläuterungDatentyp
server_name

Der ArcGIS Server-Computer, der den zu cachenden Service hostet.

String
object_name

Der Karten-Service, der gecacht werden soll.

String
data_frame

Der Karten-Datenrahmen, der gecacht werden soll.

String
out_folder

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 Map Server-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 ein Kachelschema erstellen, indem Sie das Werkzeug "Kachelschema für Map Server-Cache erstellen" verwenden.
String
scales_type

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

  • STANDARDMit dieser Option werden die Maßstäbe basierend auf der im Parameter für die Anzahl der Maßstäbe angegebenen Zahl automatisch generiert. Es werden Ebenen verwendet, die ab 1:1000000 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 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
dpi

Die Auflösung in DPI (Dots per Inch, Punkte pro Zoll) 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_width

Die Breite der Cache-Kacheln in Pixel. Die Standardeinstellung beträgt 256. Um ein optimales Gleichgewicht zwischen Performance und Verwaltbarkeit zu erzielen, sollten Sie es vermeiden, von den Standardwerten 256 bzw. 512 abzuweichen.

Long
tile_height

Die Höhe der Cache-Kacheln in Pixel. Die Standardeinstellung beträgt 256. Um ein optimales Gleichgewicht zwischen Performance und Verwaltbarkeit zu erzielen, sollten Sie es vermeiden, von den Standardwerten 256 bzw. 512 abzuweichen.

Long
map_or_layers
(optional)

Wählen Sie aus, ob ein FUSED-Cache oder ein MULTI_LAYER-Cache erstellt werden soll:

  • FUSED Klicken Sie auf diese Option, wenn jede einzelne Kachel als verschmolzenes Bild aller Layer im Quellkartendokument erstellt werden soll. Dies ist die effizienteste Methode für das Caching von Karten und gleichzeitig die Standardoption. Da alle Layer zu einem Bild verschmelzen, können die Client-Anwendungen dieses Service keine einzelnen Layer aktivieren bzw. deaktivieren. Falls Sie die Sichtbarkeit eines Layers umschalten möchten, müssen Sie diesen in seinen eigenen Service und Cache unterteilen.
  • MULTI_LAYERKlicken Sie auf diese Option, wenn Sie Kacheln in Teil-Caches organisieren möchten, die jeweils einen Layer im Quellkartendokument darstellen. Mit dieser Caching-Methode können Client-Anwendungen dieses Service einzelne Layer aktivieren bzw. deaktivieren. Es wird jedoch eine größere Anzahl an Kacheln erstellt, und der Client muss das Abrufen und Überlagern der separaten Bilder übernehmen. Sie sollten diese Option für Caches vermeiden, die in Web-Clients verwendet werden.
String
tiling_schema
(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
levels
[levels,...]
(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.

String
Layer
[Layer,...]
(optional)

Layer, die in den Cache aufgenommen werden sollen, wenn der Cache-Typ MULTI_LAYER ausgewählt wurde.

String
Antialiasing
(optional)

Gibt an, ob beim Rendern der Kacheln Antialiasing verwendet werden soll. Bei der Auswahl von Antialiasing werden die Kanten von Linien, Rahmen und Text geglättet. Diese Option beeinträchtigt allerdings die Performance. Beim Verwenden von MXD-basierten Karten-Services (im Gegensatz zu MSD-basierten Karten-Services, für die das Antialiasing in der MSD-Datei definiert ist) ist der Rechenaufwand höher. Das Antialiasing ergibt bei Raster-Bildern keine Vorteile.

Wenn die Quelle für den Karten-Service eine MSD-Datei ist und Sie Antialiasing innerhalb der MSD definiert haben, wird Antialiasing unabhängig davon im Cache angewendet, ob Sie die Option in diesem Werkzeug auswählen.

  • KEINEEs wird kein Antialiasing angewendet. Dies ist die Standardeinstellung.
  • ANTIALIASINGEs wird Antialiasing angewendet.
Boolean
cache_format
(optional)

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

  • PNG8Ein verlustfreies 8-Bit-Farb-Bildformat, das eine indizierte Farbpalette und eine Alpha-Tabelle verwendet. In jedem Pixel wird ein Wert (0 bis 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 Webbrowsern 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 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 null.

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)

Geben Sie an, ob Sie die Kacheln mit dem kompakten Speicherformat (Komprimieren) zu großen Paketdateien (*.bundle) gruppieren möchten, anstatt jede Kachel mit dem Format "Erweitert" als separate Datei zu speichern. Das kompakte Speicherformat ist in Bezug auf Speicherung und Mobilität effizienter.

String
use_local_cache_dir

Wählen Sie aus, ob Paketdateien beim Erstellen eines kompakten Caches in ein lokales Verzeichnis auf dem Server, und nicht direkt in das freigegebene Cache-Verzeichnis geschrieben werden sollen. Wenn Sie diese Option auswählen, werden die Paketdateien in das freigegebene Cache-Verzeichnis kopiert, wenn sie erstellt wurden. Diese Option verbessert die Performance, wenn mehrere Computer am Caching-Vorgang arbeiten.

  • WahrIn Paketen gespeicherte Kacheln werden in ein lokales Verzeichnis geschrieben und dann in das freigegebene Cache-Verzeichnis kopiert, wenn die Pakete erstellt wurden. Dies ist die Standardeinstellung, wenn das Speicherformat "Komprimieren" lautet.
  • FalschKacheln werden direkt in das freigegebene Cache-Verzeichnis geschrieben. Dies ist die einzige gültige Option, wenn das Speicherformat "Erweitert" ist.
Boolean

Codebeispiel

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

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 "
    + service + " 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()

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

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 "
    + service + " 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()

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

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

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(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    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 "
    + service + " 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()

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

7/10/2012