Zusammenfassung
Generiert einen Cache mit statischen Bildkacheln für einen ArcGIS Server-Karten-Service.
Verwendung
Dieses Werkzeug kann nur für ArcGIS Server-Karten-Services ausgeführt werden.
Konfigurieren Sie vor dem Ausführen dieses Werkzeugs den Karten-Service so, dass er so viele Instanzen wie möglich verwendet. Dadurch wird die benötigte Zeit zur Cache-Generierung erheblich reduziert.
Es kann immer nur ein Datenrahmen gecacht werden. Wenn weitere Datenrahmen erforderlich sind, müssen separate Caches generiert werden, die separaten Karten-Services zugeordnet sind.
Mit dem Kachelschema wird festgelegt, wie der Client die Kacheln im Cache referenzieren soll. Es kann ein neues Kachelschema erstellt werden, oder es kann ein mit dem Werkzeug "Kachelschema für Kartenserver-Cache erstellen" erstelltes, vorhandenes Kachelschema verwendet werden.
Verwenden Sie in den meisten Fällen FUSED-Caches. Alle Layer in der Karte werden für die angegebenen Maßstabsebenen in einzelnen Bildern zusammengeführt und anschließend in viele Kacheln aufgeteilt.
Verwenden Sie Multi-Layer-Caches in Situationen, in denen Sie Layer aktivieren und deaktivieren möchten.
Der Parameter "Anzahl der Maßstabsebenen" beschreibt die Anzahl der verschiedenen Kartenmaßstäbe, für die das Werkzeug Layer im Cache erstellt.
Das Berechnen von großen Kartenmaßstabsebenen für sehr große Kartenausdehnungen (z. B. große Bundesstaaten, Provinzen oder Länder) kann zu einer langen Erstellungsdauer führen. Ein Beispiel ist das Berechnen einer Kachelgröße für größere Kartenmaßstäbe als 1:100.000 für ganz Nordamerika.
Der wesentliche Vorteil der Bildkomprimierung im Cache besteht darin, dass die Größe der Bilddateien verringert und damit die Performance im Netzwerk verbessert wird. Da weniger Daten zwischen dem Client und dem Server übertragen werden, können große, nahtlose Raster-Datasets (bis zu mehreren Terabytes) im Cache gespeichert und schnell für die Anzeige an einen Client übermittelt werden. Ein weiterer Vorteil besteht darin, dass der Cache auf dem Datenträger deutlich weniger Speicherplatz belegt.
Wenn Sie mit diesem Werkzeug einem vorhandenen Cache weitere Ebenen (Maßstäbe) hinzufügen möchten, müssen Sie den Komprimierungsfaktor angeben, der auch für die ursprünglichen Ebenen verwendet wurde.
JPEG empfiehlt sich besonders für Raster-Daten. Bei der Verwendung mit Vektordaten können Linien und Text verschwommen dargestellt werden.
Das Dateiformat JPEG wird für Multi-Layer-Caches nicht unterstützt.
Das Kachelformat des Cache kann nach dem Generieren des Cache nicht mehr geändert werden. Der Cache muss erst gelöscht werden, bevor ein anderes Dateiformat festgelegt werden kann.
Die beste Performance bei der Übertragung von Cache-Kacheln an Clients wird mit dem Bildformat JPEG erzielt. Wählen Sie das Bildformat PNG8 aus, um die beste Kombination aus Performance und Unterstützung von Transparenz zu erzielen.
Mithilfe der Option "Antialiasing" werden die Kanten von Linien und Text geglättet, die Darstellung von Raster-Bildern wird jedoch nur unwesentlich verbessert.
Dieses Werkzeug übernimmt keine angegebenen Umgebungseinstellungen.
Syntax
arcpy.server.GenerateMapServerCache(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}, {thread_count}, {Antialiasing}, {cache_format}, {tile_compression_quality})
Parameter | Erklärung | Datentyp |
server_name | Der Host-Name des ArcGIS Server-Computers, dessen Cache generiert wird. | String |
object_name | Der Name des Karten-Service, dessen Cache generiert wird. | String |
data_frame | Der Datenrahmen des Kartendokuments, der im Cache gespeichert werden soll. Achten Sie darauf, den gleichen Datenrahmen auszuwählen, den Sie für den Karten-Service ausgewählt haben. | String |
out_folder | Das übergeordnete Verzeichnis für diesen Karten-Service-Cache. | String |
tiling_scheme_type | Wählen Sie aus, ob ein neues (NEW) oder ein vordefiniertes (PREDEFINED) Kachelschema verwendet werden soll. In diesem Werkzeug kann ein neues Kachelschema definiert werden, oder es kann eine Datei mit einem vordefinierten Schema (XML-Datei) geladen werden. Ein vordefiniertes Schema kann durch Ausführen des Geoverarbeitungswerkzeugs "Kachelschema für Kartenserver-Cache erstellen" erstellt werden. Die Standardeinstellung ist NEW. | Boolean |
scales_type | Festlegen der Maßstabsebenen
| Boolean |
num_of_scales | Die Anzahl der Maßstabsebenen, die im Cache erstellt werden sollen. | 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 Ausgabe-Kartenkacheln in Pixel. Mit geringen Breiten kann die Performance der Anwendung bei der Anforderung von Kacheln aus dem Cache gesteigert werden, da weniger Daten übertragen werden. Bei kleineren Kachelgrößen steigt jedoch die Cache-Größe, und die Erstellung dauert länger. Die Standardkachelbreite ist 512. | Long |
tile_height | Die Höhe der Ausgabe-Kartenkacheln in Pixel. Mit geringen Höhen kann die Performance der Anwendung bei der Anforderung von Kacheln aus dem Cache gesteigert werden, da weniger Daten übertragen werden. Bei kleineren Kachelgrößen steigt jedoch die Cache-Größe, und die Erstellung dauert länger. Die Standardkachelhöhe ist 512. | Long |
map_or_layers (optional) | Wählen Sie aus, ob ein FUSED-Cache oder ein MULTI_LAYER-Cache erstellt werden soll:
| Boolean |
tiling_schema (optional) | Pfad zu einem vordefinierten Kachelschema. | String |
tile_origin (optional) | Geben Sie den Ursprung (obere linke Ecke) des Kachelschemas in Koordinaten des Raumbezugs des Quellkartendokuments an. Die Ausdehnung des Quellkartendokuments muss innerhalb dieser Region liegen (muss jedoch nicht lagegleich sein). | String |
levels [Scale; Scale...,...] (optional) | Maßstäbe, mit denen der Karten-Service im Cache gespeichert werden soll. | String |
Layer [Layer; Layer...,...] (optional) | Layer, die in den Cache aufgenommen werden sollen, wenn der Cache-Typ MULTI_LAYER ausgewählt wurde. | String |
thread_count (optional) | Die Anzahl der MapServer-Instanzen, die beim Generieren des Cache verwendet werden sollen. | Long |
Antialiasing (optional) | Legen Sie fest, 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. Für Raster-Daten werden keine Verbesserungen erzielt. | Boolean |
cache_format (optional) | Wählen Sie das Dateiformat PNG8, PNG24, PNG32 oder JPEG für die Kacheln im Cache aus. Die Standardeinstellung ist PNG24.
| 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. Die Komprimierungsstufe hängt von den Daten ab, sie kann jedoch auch durch Änderungen der Komprimierungsqualität gesteuert werden. Bei der Auswahl eines höheren Wertes ist die Komprimierungsstufe niedriger, aber die Bildqualität höher. Bei Auswahl eines niedrigeren Wertes ist die Komprimierungsstufe höher, aber die Bildqualität geringer. | Long |
Codebeispiel
# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
try:
print 'Starting Cache Generation'
gp.GenerateMapServerCache(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, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
print 'Finished Cache Generation'
except:
gp.AddMessage(gp.GetMessages(2))
print gp.GetMessages(2)
Umgebungen
Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja