De capa a KML (3D Analyst)
Resumen
Esta herramienta convierte una entidad o capa ráster en memoria o basada en archivo en un archivo KML que contiene una traducción de las geometrías y la simbología de Esri. Este archivo está comprimido mediante compresión ZIP, tiene una extensión .kmz y lo puede leer cualquier cliente KML entre los que se encuentran ArcGIS Explorer, ArcGlobe y Google Earth.
Esta herramienta estaba disponible previamente en la caja de herramientas de análisis 3D.
Uso
-
El archivo KMZ de salida no puede existir previamente.
-
Puede reducir el tamaño del documento KMZ de salida si la capa tiene un renderizador dependiente de la escala y selecciona una escala de capa de salida apropiada.
-
Para conseguir una sola imagen ráster desplegada sobre topografía, utilice la opción Devolver imagen compuesta individual.
-
Para conseguir que cada capa sea una imagen ráster por separado, utilice la opción Convertir vector a ráster.
Sintaxis
Parámetro | Explicación | Tipo de datos |
layer |
La capa en memoria o el archivo de capa almacenado en el disco que se va a convertir a KML. | Feature layer |
out_kmz_file |
El archivo KML a escribir. Este archivo está comprimido y tiene una extensión .kmz. Lo puede leer cualquier cliente KML entre los que se encuentran ArcGIS Explorer, ArcGlobe y Google Earth. | KML file |
layer_output_scale |
La escala a la que se va a exportar la capa. Se observa cualquier representación en pantalla dependiente de la escala, por lo que si la capa no es visible en la escala de exportación, no se incluirá en el archivo KML creado. La simbología de la capa se basa en esta escala. Sólo se pueden introducir caracteres numéricos. Por ejemplo, introduzca "20000" como escala, no 1:20000 ó 20.000. Además, si va a exportar una capa que se va a mostrar como vectores 3D (como una capa de puntos con la opción Devolver imagen compuesta individual desactivada) y no hay representación en pantalla dependiente de la escala definida para la capa, este parámetro no será obligatorio para el proceso de exportación y se podrá establecer cualquier valor numérico, como por ejemplo 1. | Double |
is_composite (Opcional) |
| Boolean |
boundary_box_extent (Opcional) |
La extensión geográfica del área a exportar. Los límites del rectángulo de extensión se deben especificar como una cadena de caracteres delimitada por espacios de coordenadas geográficas WGS84 con la forma "abajo izquierda arriba derecha". | Extent |
image_size (Opcional) |
Define la resolución vertical y horizontal de los rásteres en el documento KML de salida. | Long |
dpi_of_client (Opcional) |
Define la resolución del dispositivo de los rásteres en el documento de salida KML. | Long |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Capa a KML en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.LayerToKML_3d("bldg.lyr", "bldg.kmz", "1")
La siguiente secuencia de comandos de Python muestra cómo utilizar la función Capa a KML en una secuencia de comandos independiente.
'''********************************************************************* 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