Zusammenfassung
Konvertiert eine Karte in eine KML-Datei, die Geometrien und Symbolisierung enthält. Die Ausgabedatei wird mit ZIP-Komprimierung komprimiert, hat die Erweiterung .kmz und kann von einem KML-Client wie ArcGIS Earth und Google Earth gelesen werden.
Verwendung
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.
Sie können die Größe des KMZ-Ausgabedokuments reduzieren, wenn die Karte über maßstabsabhängige Anzeigeeigenschaften von Layern verfügt und Sie einen geeigneten Maßstab für die Kartenausgabe wählen.
Alle .kml- und .kmz-Dateien werden im WGS84-Koordinatensystem erstellt. Stellen Sie sicher, dass die Layer korrekt projiziert werden, wenn sie sich nicht in WGS84 befinden. Sie können das Werkzeug Projizieren verwenden, um die Daten vor KML-Konvertierung neu zu projizieren, wenn für die Projektion eine Transformation erforderlich ist.
Wenn Sie ein einzelnes Raster-Bild ausgeben möchten, das über eine Topografie gelegt wird, verwenden Sie den Parameter Einzelnes zusammengesetztes Bild zurückgeben.
Wenn Sie jeden Layer als separates Rasterbild ausgeben möchten, verwenden Sie den Parameter Vektor in Raster 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 1.000 x 1.000 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.
Syntax
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})
Parameter | Erklärung | Datentyp |
in_map | Die Karte, Szene oder Grundkarte, die in KML konvertiert werden soll. | Map |
out_kmz_file | Die KML-Ausgabedatei. Diese Datei wird komprimiert und verfügt über die Erweiterung .kmz. Die Datei kann von einem beliebigen KML-Client gelesen werden, wie ArcGIS Earthund Google Earth. | File |
map_output_scale (optional) | Der Maßstab, mit dem jeder Layer in der Karte exportiert wird. 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 Vektor-Layer in der Karte in ein separates Rasterbild konvertiert wird oder als Vektor-Layer beibehalten wird. Dieser Parameter ist deaktiviert, wenn der Parameter is_composite auf COMPOSITE festgelegt ist.
| Boolean |
extent_to_export (optional) | Die geographische Ausdehnung des zu exportierenden Gebiets. Die Grenzen des Ausdehnungsrechtecks werden als eine durch Leerzeichen getrennte Zeichenfolge in WGS84-Koordinaten angegeben, nach dem Schema links unten rechts oben (x-min, y-min, x-max, y-max) an.
| Extent |
image_size (optional) | Die Größe der Kacheln für Raster-Layer, wenn für den Parameter Maßstab für Kartenausgabe ein Wert größer als oder gleich 1 festgelegt wird. Dieser Parameter wirkt sich nur auf Raster-Layer aus. | 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 Parameter Größe des zurückgegebenen Bildes (Pixel), um die Auflösung des Ausgabebildes zu steuern. Der Standardwert ist 96. | Long |
ignore_zvalue (optional) | Gibt an, ob Features am Boden fixiert werden.
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion MapToKML im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MapToKML_conversion("cities.mapx", "cities.kmz")
Das folgende Python-Skript veranschaulicht die Verwendung der Funktion MapToKML in einem eigenständigen Skript.
# 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'
#Execute MapToKML
arcpy.MapToKML_conversion(map_file, outKML, scale, composite,
vector, '', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no map files (*.mapx) in {}'.format(arcpy.env.workspace))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja