Layer in KML (Conversion)
Zusammenfassung
Dieses Werkzeug konvertiert ein im Arbeitsspeicher enthaltenes oder ein dateibasiertes Feature- oder Raster-Layer in eine KML-Datei (Keyhole Markup Language), die eine Übersetzung der ESRI-Geometrien und -Symbologie enthält. Diese Datei wird mit der ZIP-Komprimierung komprimiert, verfügt über die Erweiterung .kmz und kann von einem KML-Client, wie ArcGIS Explorer, ArcGlobe oder Google Earth, gelesen werden.
Dieses Werkzeug war zuvor in der 3D Analyst Toolbox verfügbar.
Verwendung
-
Die Ausgabe-KMZ-Datei darf nicht bereits vorhanden sein.
-
Sie können die Größe des KMZ-Ausgabedokuments reduzieren, wenn der Layer über einen maßstabsabhängigen Renderer verfügt und Sie einen geeigneten Maßstab für die Layer-Ausgabe wählen.
-
Wenn Sie ein einzelnes Raster-Bild ausgeben möchten, das über eine Topographie gelegt wird, verwenden Sie die Option Einzelnes zusammengesetztes Bild zurückgeben.
-
Wenn Sie jeden Layer als separates Raster-Bild ausgeben möchten, verwenden Sie die Option Vektor in Raster konvertieren (optional).
Syntax
Parameter | Erläuterung | Datentyp |
layer |
Der im Arbeitsspeicher enthaltene Layer oder die auf der Festplatte gespeicherte Layer-Datei, die in eine KML-Datei konvertiert werden soll. | Feature 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 Explorer, ArcGlobe oder Google Earth, gelesen werden. | KML file |
layer_output_scale |
Der Maßstab, mit dem der Layer exportiert wird. Jedes maßstabsabhängige Rendern wird beachtet, d. h. wenn der Layer nicht im Exportmaßstab sichtbar ist, ist er in der erstellten KML-Datei nicht enthalten. Die Symbologie für den Layer wird von diesem Maßstab bestimmt. Es dürfen nur Ziffern eingegeben werden. Geben Sie den Maßstab mit "20000" an und nicht mit "1:20000" oder "20.000". Wenn Sie einen Layer exportieren, der als 3D-Vektoren angezeigt wird (z. B. ein Punkt-Layer, für den die Option Einzelnes zusammengesetztes Bild zurückgeben deaktiviert wurde), und für den Layer kein maßstabsabhängiges Rendern definiert ist, ist dieser Parameter für den Exportvorgang nicht erforderlich und kann auf einen beliebigen Zahlenwert gesetzt werden, beispielsweise 1. | Double |
is_composite (optional) |
| Boolean |
boundary_box_extent (optional) |
Die geographische Ausdehnung des zu exportierenden Gebiets. Die Ausdehnungsrechteckgrenzen sollten als eine durch Leerzeichen getrennte Zeichenfolge der geographischen WGS84-Koordinaten angegeben werden und zwar in der Form "links unten rechts oben". | Extent |
image_size (optional) |
Definiert die vertikale und horizontale Auflösung eines beliebigen Rasters im KML-Ausgabedokument. | Long |
dpi_of_client (optional) |
Definiert die Geräteauflösung eines beliebigen Rasters im KML-Ausgabedokument. | Long |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion Layer in KML im unmittelbaren Modus verwenden können.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.LayerToKML_3d("bldg.lyr", "bldg.kmz", "1")
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion Layer in KML in einem eigenständigen Skript verwenden.
'''********************************************************************* Name: LayerToKML Example Description: This 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 system modules import arcpy from arcpy import env # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension("3D") # Set environment settings env.workspace = "C:/data" try: # Use the ListFiles method to identify all layer files in workspace if len(arcpy.ListFiles("*.lyr")) > 0: for layer in arcpy.ListFiles("*.lyr"): # Set Local Variables composite = 'NO_COMPOSITE' pixels = 2048 dpi = 192 # Strips the '.lyr' part of the name and appends '.kmz' outKML = file[:4] + ".kmz" for scale in range(10000, 30001, 10000): #Execute LayerToKML arcpy.LayerToKML_conversion(layer, outKML, scale, composite, '', pixels, dpi) else: arcpy.AddMessage('There are no layer files in '+env.workspace+'.') except Exception as e: print e.message