Beschriftung | Erläuterung | Datentyp |
Eingabekarte | Die Karte, Szene oder Grundkarte, die in das KML-Format konvertiert wird. | Map |
Ausgabedatei (KMZ) | Die KML-Ausgabedatei, die komprimiert ist und die Erweiterung .kmz hat. | File |
Maßstab für Kartenausgabe (optional) |
Der Maßstab, mit dem die einzelnen Layer in der Karte exportiert werden. Dieser Parameter ist bei Maßstabsabhängigkeit wichtig, z. B. für Layer-Sichtbarkeit oder maßstabsabhängiges Rendering. Wenn der Layer im Ausgabemaßstab nicht sichtbar ist, wird er nicht in die Ausgabe-KML eingeschlossen. Jeder Wert, z. B. 1, kann verwendet werden, wenn es keine Maßstabsabhängigkeiten gibt. Bei Raster-Layern kann der Wert 0 angegeben werden, um ein ungekacheltes Ausgabebild zu erstellen. Wenn ein Wert größer als oder gleich 1 verwendet wird, bestimmt dieser die Ausgabeauflösung des Rasters. Dieser Parameter hat keine Auswirkungen auf Layer, die keine Raster-Layer sind. Es werden nur numerische Zeichen akzeptiert. Geben Sie beispielsweise 20000 und nicht 1:20000 als Maßstab ein. In Sprachen, in denen Kommas als Dezimaltrennzeichen verwendet werden, ist auch 20,000 zulässig. Wenn Sie einen Layer exportieren, der als 3D-Vektoren angezeigt werden soll, und der Parameter Einzelnes zusammengesetztes Bild zurückgeben aktiviert ist, können Sie diesen Parameter auf jeden Wert setzen, solange die Features nicht maßstabsabhängig gerendert werden müssen. | Double |
Einzelnes zusammengesetztes Bild zurückgeben (optional) | Gibt an, ob die Ausgabe-KML ein einzelnes zusammengesetztes Bild oder separate Layer enthält.
| Boolean |
Features in Bilder konvertieren (optional) | Gibt an, ob jeder Feature-Layer in der Karte in ein separates Rasterbild konvertiert wird oder ob die Features beibehalten werden. Dieser Parameter wird nicht verwendet, wenn der Parameter Einzelnes zusammengesetztes Bild zurückgeben aktiviert ist.
| Boolean |
Ausdehnung (optional) | Die geographische Ausdehnung des zu konvertierenden Layers. Es werden nur Features oder Rasterzellen in dieser Ausdehnung in die KML-Ausgabe einbezogen.
| Extent |
Größe des zurückgegebenen Bildes (Pixel) (optional) | Die Größe der Kacheln für Raster-Layer, wenn der Wert für den Parameter Maßstab für Kartenausgabe größer als oder gleich 1 ist. Dieser Parameter hat keine Auswirkungen auf Layer, die keine Raster-Layer sind. | Long |
DPI des Ausgabebildes (optional) | Die Geräteauflösung eines beliebigen Rasters im KML-Ausgabedokument. Die typische Bildschirmauflösung beträgt 96 dpi. Wenn die Daten in der Karte eine hohe Auflösung unterstützen und dies für das KML erforderlich ist, können Sie den Wert möglicherweise vergrößern. Verwenden Sie diesen Parameter mit dem Parameter Größe des zurückgegebenen Bildes (Pixel), um die Auflösung des Ausgabebildes zu steuern. Der Standardwert ist 96. | Long |
Features am Boden befestigen (optional) | Gibt an, ob die Z-Werte der Eingabe-Features ignoriert und alle Features auf Geländehöhe verortet bzw. befestigt werden.
| Boolean |
Layout-Quelle für Legende (optional) | Der Name des Layouts, das Legendenelemente enthält, welche als Bildschirm-Overlays in die KML-Ausgabe einbezogen werden. | String |
Zusammenfassung
Konvertiert eine Karte, die Feature- oder Raster-Layer enthält, in das KML-Format (.kmz-Datei). Die KML-Ausgabedatei enthält eine Übersetzung der Esri Feature-Geometrien, Rasterzellen, Layer-Symbolisierung und anderer Eigenschaften.
Verwendung
Bei der .kmz-Ausgabedatei handelt es sich um eine Archiv- oder .zip-Datei, die eine .kml- und weitere zusätzliche Dateien enthält. Eine .kmz-Datei kann von vielen Anwendungen gelesen werden, einschließlich ArcGIS Earth und Google Earth.
Es gibt folgende zwei Möglichkeiten zum Steuern der Darstellung von KML-Daten:
- Die Pop-up-Anzeige setzt sich standardmäßig aus allen sichtbaren Feldern des Layers zusammen. Pop-up-Anzeigen können auch mit den HTML-Pop-up-Eigenschaften des Layers festgelegt werden. Wenn die Layer-Pop-ups nicht angepasst wurden, werden die Werte im Feld PopupInfo des Feature-Layers im Pop-up angezeigt, wenn auf ein KML-Feature geklickt wird. Bei diesen Werten kann es sich um Zahlen oder Textattribute oder auch HTML-Code handeln, der in einem Textfeld gespeichert ist.
- Wenn keine Layer-Eigenschaften festgelegt wurden und die Feature-Class bestimmte Attribute (Felder) enthält, werden die Feldeigenschaften bei der Erstellung der ursprünglich mit dem Werkzeug KML in Layer erstellten KML-Layer verwendet. Diese enthalten Attribute, die definieren, wie KML erstellt wird. Weitere Informationen zum Erstellen von KML aus Attributen finden Sie unter KML-Konvertierung.
-
Wenn die Eingabe maßstabsabhängige Anzeigeeigenschaften aufweist, können Sie die Größe der .kmz-Ausgabedatei reduzieren, indem Sie einen entsprechenden Wert für den Parameter Maßstab für Kartenausgabe angeben.
Die Layer der Eingabekarte werden in das Koordinatensystem WGS84 projiziert, da dieses von allen .kmz-Dateien verwendet werden muss. Um sicherzustellen, dass die Features und Rasterzellen in der Projektion präzise verortet werden, müssen Sie möglicherweise die Umgebungseinstellung "Geographische Transformation" verwenden. Sie können die Karten-Layer auch mit dem Werkzeug Projizieren mit einer gültigen Transformation erneut in das Koordinatensystem WGS84 projizieren, bevor Sie sie in KML konvertieren.
Die Parameter Maßstab für Kartenausgabe und Größe des zurückgegebenen Bildes (Pixel) werden gemeinsam verwendet, um eine gekachelte Ausgabe zu erstellen. Bei einem Bild mit einer Größe von 7.000 x 5.000 Pixeln und einem Wert von 1.000 Pixeln für den Parameter Größe des zurückgegebenen Bildes (Pixel) etwa besteht das Ausgabebild aus 7 x 5 bzw. 35 Sub-Bildern. Wenn für den Parameter Maßstab für Kartenausgabe der Wert 1 festgelegt wird, enthält jedes Sub-Bild 1000 x 1000 Pixel. Wenn für den Parameter Maßstab für Kartenausgabe der Wert 10 festgelegt wird, enthält jedes Sub-Bild 100 x 100 Pixel.
Wenn Sie in die KML-Ausgabedatei als Bildschirm-Overlay eine Legende einbeziehen möchten, geben Sie einen Wert für den Parameter Quelle des Legenden-Layouts an. In einem Layout in der Karte muss ein Legendenelement vorhanden sein.
Nur Legendenelemente werden in KML-Dateien zu Bildschirm-Overlays. Beim Anzeigen der KML-Daten werden die einzelnen Legenden zu Unterordnern im KML-Hauptordner.
Parameter
arcpy.conversion.MapToKML(in_map, out_kmz_file, {map_output_scale}, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client}, {ignore_zvalue}, {layout})
Name | Erläuterung | Datentyp |
in_map | Die Karte, Szene oder Grundkarte, die in das KML-Format konvertiert wird. | Map |
out_kmz_file | Die KML-Ausgabedatei, die komprimiert ist und die Erweiterung .kmz hat. | File |
map_output_scale (optional) |
Der Maßstab, mit dem die einzelnen Layer in der Karte exportiert werden. Dieser Parameter ist bei Maßstabsabhängigkeit wichtig, z. B. für Layer-Sichtbarkeit oder maßstabsabhängiges Rendering. Wenn der Layer im Ausgabemaßstab nicht sichtbar ist, wird er nicht in die Ausgabe-KML eingeschlossen. Jeder Wert, z. B. 1, kann verwendet werden, wenn es keine Maßstabsabhängigkeiten gibt. Bei Raster-Layern kann der Wert 0 angegeben werden, um ein ungekacheltes Ausgabebild zu erstellen. Wenn ein Wert größer als oder gleich 1 verwendet wird, bestimmt dieser die Ausgabeauflösung des Rasters. Dieser Parameter hat keine Auswirkungen auf Layer, die keine Raster-Layer sind. Es werden nur numerische Zeichen akzeptiert. Geben Sie beispielsweise 20000 und nicht 1:20000 als Maßstab ein. In Sprachen, in denen Kommas als Dezimaltrennzeichen verwendet werden, ist auch 20,000 zulässig. Wenn Sie einen Layer exportieren, der als 3D-Vektoren angezeigt werden soll, und der Parameter is_composite auf NO_COMPOSITE eingestellt ist, können Sie diesen Parameter auf jeden Wert setzen, sofern die Features nicht maßstabsabhängig gerendert werden müssen. | Double |
is_composite (optional) | Gibt an, ob die Ausgabe-KML ein einzelnes zusammengesetztes Bild oder separate Layer enthält.
| Boolean |
is_vector_to_raster (optional) | Gibt an, ob jeder Feature-Layer in der Karte in ein separates Rasterbild konvertiert wird oder ob die Features beibehalten werden. Der Parameter wird nicht verwendet, wenn der Parameter is_composite auf COMPOSITE festgelegt ist.
| Boolean |
extent_to_export (optional) | Die geographische Ausdehnung des zu konvertierenden Layers. Es werden nur Features oder Rasterzellen in dieser Ausdehnung in die KML-Ausgabe einbezogen. Die Ausdehnung kann mit den folgenden Optionen konfiguriert werden:
| Extent |
image_size (optional) | Die Größe der Kacheln für Raster-Layer, wenn der Wert für den Parameter map_output_scale größer als oder gleich 1 ist. Dieser Parameter hat keine Auswirkungen auf Layer, die keine Raster-Layer sind. | Long |
dpi_of_client (optional) | Die Geräteauflösung eines beliebigen Rasters im KML-Ausgabedokument. Die typische Bildschirmauflösung beträgt 96 dpi. Wenn die Daten in der Karte eine hohe Auflösung unterstützen und dies für das KML erforderlich ist, können Sie den Wert möglicherweise vergrößern. Verwenden Sie diesen Parameter mit dem image_size-Parameter, um die Auflösung des Ausgabebildes zu steuern. Der Standardwert ist 96. | Long |
ignore_zvalue (optional) | Gibt an, ob die Z-Werte der Eingabe-Features ignoriert und alle Features auf Geländehöhe verortet bzw. befestigt werden.
| Boolean |
layout (optional) | Der Name des Layouts, das Legendenelemente enthält, welche als Bildschirm-Overlays in die KML-Ausgabe einbezogen werden. | String |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion MapToKML im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.conversion.MapToKML("C:/Maps/Cities.mapx", "C:/OutputMaps/Cities.kmz")
Das folgende Python-Skript veranschaulicht, wie die Funktion MapToKML in einem eigenständigen Skript verwendet wird.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Use ListFiles to identify all map files in workspace
files = arcpy.ListFiles('*.mapx')
if len(files) > 0:
for map_file in files:
# Set Local Variables
composite = 'NO_COMPOSITE'
vector = 'VECTOR_TO_VECTOR'
pixels = 2048
dpi = 96
clamped = 'ABSOLUTE'
for scale in range(10000, 20000, 30000):
# Strips the '.mapx' part of the name and appends '.kmz'
outKML = map_file[:-5]+'.kmz'
# Run MapToKML
arcpy.conversion.MapToKML(map_file, outKML, scale, composite,
vector, '', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no map files (*.mapx) in {}.'.format(arcpy.env.workspace))