Zusammenfassung
Wandelt ein Feature oder einen Raster-Layer in eine KML-Datei um, die eine Übersetzung der Esri Geometrien und Symbolisierung enthält. Diese Datei wird mit ZIP-Komprimierung komprimiert, hat die Erweiterung .kmz und kann von einem KML-Client wie ArcGIS Earth, ArcGlobe und Google Earth gelesen werden.
Verwendung
Es gibt zwei Möglichkeiten zum Steuern der Darstellung von KML-Daten:
- Die Pop-up-Anzeige setzt sich standardmäßig aus allen sichtbaren Feldern aus dem Layer 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 in der Pop-up-Anzeige 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 Konvertieren in und aus KML.
-
Sie können die Größe des KMZ-Ausgabedokuments reduzieren, wenn der Layer über maßstabsabhängige Anzeigeeigenschaften verfügt und Sie einen geeigneten Maßstab für die Kartenausgabe wählen.
Alle KML- und KMZ-Dateien werden im WGS84-Koordinatensystem erstellt. Sie müssen sich darauf verlassen können, dass die Layer richtig abgebildet werden, wenn sie sich noch 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 Topographie gelegt wird, verwenden Sie die Option Einzelnes zusammengesetztes Bild zurückgeben.
Eingabe-Features mit Anlagen werden in die Ausgabedatei .kmz einbezogen. Beachten Sie die folgenden Bedingungen für Anlagen in .kmz-Dateien.
- Anlagen können die Ausgabedatei erheblich vergrößern.
- Bei Verwendung der KML-Datei in einem KML-Client werden Anlagen über das KML-Pop-up zur Verfügung gestellt.
- Anlagen können ausgeschlossen werden, indem die Umgebungseinstellung Anlagen beibehalten vor Ausführung des Werkzeugs deaktiviert wird.
- Die Anzeige von Anlagen wird nicht von allen KML-Clients gleichermaßen unterstützt. Einige KML-Client-Anwendungen bieten eine bessere Unterstützung für Anlagen wie Bilder und PDF-Dokumente.
Die Parameter Maßstab für Layer-Ausgabe 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 Layer-Ausgabe 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 Layer-Ausgabe der Wert 10 festgelegt wird, enthält jedes Sub-Bild 100 x 100 Pixel.
Syntax
LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
Parameter | Erklärung | Datentyp |
layer | Das Feature oder der Raster-Layer oder die Layer-Datei (.lyrx), die in KML konvertiert werden soll. | Layer |
out_kmz_file | Die KML-Datei, in die geschrieben wird. Diese Datei wird komprimiert und verfügt über die Erweiterung .kmz. Sie kann von einem KML-Client, wie ArcGIS Earth, ArcGlobe und Google Earth, gelesen werden. | File |
layer_output_scale (optional) | 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. | Double |
is_composite (optional) | Gibt an, ob ein einzelnes zusammengesetztes Bild ausgegeben wird.
| Boolean |
boundary_box_extent (optional) | Die geographische Ausdehnung des zu exportierenden Gebiets. Geben Sie die Grenzen des Ausdehnungsrechtecks als eine durch Leerzeichen getrennte Zeichenfolge in WGS84-Koordinaten, nach dem Schema links unten rechts oben (xmin, ymin, xmax, ymax) an. | Extent |
image_size (optional) | Die Größe der Kacheln für Raster-Layer, wenn für den Parameter Maßstab für Layer-Ausgabe ein Wert größer als oder gleich 1 festgelegt wird. Dieser Parameter hat keine Auswirkungen auf Layer, die keine Raster-Layer sind. | Long |
dpi_of_client (optional) | Die Geräteauflösung für die KML-Ausgabe, wenn der Parameter Einzelnes zusammengesetztes Bild zurückgeben (is_composite = "COMPOSITE" in Python) aktiviert wird. Dieser Parameter wird mit dem Parameter Größe des zurückgegebenen Bildes (Pixel) (image_size in Python) verwendet, um die Ausgabe-Bildauflösung zu steuern. Hinweis:Dieser Parameter ermöglicht kein Resampling von Quell-Rastern. Von allen Eingabe-Rastern wird ein Snapshot erstellt und als einfaches .png-Bild in die KML-Ausgabe eingefügt. | Long |
ignore_zvalue (optional) |
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion LayerToKML im unmittelbaren Modus verwendet wird.
import arcpy
# "buildings" represents a layer in your Table of Contents
arcpy.LayerToKML_conversion("buildings", "c:/outputKMZs/bldg.kmz")
Das folgende Python-Skript veranschaulicht die Verwendung der Funktion LayerToKML in einem eigenständigen Skript.
# Description: The following stand-alone script demonstrates how to find
# all layer files in a given workspace and export each to
# a KML at the 1:10,000, 1:20,000, and 1:30,000 scale using
# the LayerToKML tool. import arcpy
arcpy.env.workspace = "C:/data"
# Set Local Variables composite = 'NO_COMPOSITE' pixels = 2048 dpi = 96 clamped = 'CLAMPED_TO_GROUND'
# Use the ListFiles method to identify all lyr and lyrx files in workspace layers = arcpy.ListFiles("*.lyr*")
if len(layers) > 0:
for layer in layers: # Strips the '.lyr(x)' part of the name and appends '.kmz'
outKML = os.path.join(os.path.splitext(layer), ".kmz") for scale in range(10000, 30001, 10000):
# Execute LayerToKML arcpy.LayerToKML_conversion(layer, outKML, scale, composite, '', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja