Resumen
Convierte una entidad o una capa ráster en un archivo KML que contiene una traslación de las geometrías y la simbología de Esri. Este archivo se comprime mediante compresión ZIP, tiene una extensión .kmz y lo puede leer cualquier cliente de KML, incluidos ArcGIS Earth, ArcGlobe y Google Earth.
Obtenga más información sobre la compatibilidad KML en ArcGIS
Uso
Puede controlar la apariencia de KML de las dos formas siguientes:
- De manera predeterminada, la visualización emergente está compuesta por todos los campos visibles de la capa. Las ventanas emergentes también se pueden definir usando las ventanas emergentes personalizadas. Si las ventanas emergentes de la capa no se han personalizado, los valores del campo PopupInfo de la capa de entidades se muestran en la ventana emergente cuando se hace clic en una entidad KML. Estos valores pueden ser numéricos o atributos de texto, además de código HTML almacenado en un campo de texto.
- Si las propiedades de la capa no están definidas y la clase de entidad contiene determinados atributos (campos), las propiedades del campo se utilizan para crear las capas KML creadas originalmente con la herramienta De KML a capa y que incluyen atributos que definen cómo se crea el KML. Consulte Conversión de KML para obtener más información sobre la creación de un KLM a partir de los atributos.
-
Puede reducir el tamaño del documento KMZ de salida si la capa posee propiedades de visualización dependientes de la escala y selecciona una escala de mapa de salida apropiada.
Todos los archivos KML y KMZ se crean en el sistema de coordenadas WGS84. Asegúrese de que sus capas se proyectarán correctamente si no están ya en WGS84. Puede usar la herramienta Proyectar para volver a proyectar sus datos antes de la conversión KML si su proyección requiere una transformación.
Para conseguir una sola imagen ráster desplegada sobre topografía, utilice el parámetro Devolver imagen compuesta individual.
Las entidades de entrada con adjuntos se incluirán en el archivo .kmz de salida. Tenga en cuenta las condiciones siguientes para los adjuntos dentro de los archivos .kmz:
- Los adjuntos pueden incrementar considerablemente el tamaño del archivo de salida.
- Cuando el archivo de KML se utiliza en un cliente de KML, los adjuntos están disponibles mediante los elementos emergentes de KML.
- Los adjuntos se pueden excluir desactivando la configuración del entorno Mantener adjuntos antes de ejecutar la herramienta.
- No todos los clientes de KML admiten la visualización de adjuntos de la misma forma. Algunas aplicaciones cliente de KML son más compatibles con adjuntos como imágenes y documentos PDF.
Los parámetros Escala de la capa de Salida y Tamaño de la imagen devuelta (píxeles) se utilizan juntos para crear una salida de teselas. Por ejemplo, para una imagen con un tamaño de 7000 x 5000 píxeles, y un valor del parámetro Tamaño de la imagen devuelta (píxeles) de 1000 píxeles, la imagen de salida estará formada por 7 x 5, o 35, subimágenes. Si el valor del parámetro Escala de la Capa de Salida se configura en 1, cada subimagen tendrá 1000 por 1000 píxeles. Si el valor del parámetro Escala de la Capa de Salida se configura en 10, cada subimagen tendrá 100 por 100 píxeles.
Sintaxis
arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
Parámetro | Explicación | Tipo de datos |
layer | La entidad o la capa ráster o el archivo de capa (.lyrx) que se va a convertir a KML. | Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File |
out_kmz_file | El archivo KML de salida. Este archivo está comprimido y tiene una extensión .kmz. Lo puede leer cualquier cliente de KML, incluidos ArcGIS Earth, ArcGlobe y Google Earth. | File |
layer_output_scale (Opcional) | En el caso de las capas ráster, se puede utilizar el valor 0 para crear una imagen de salida sin teselas. El uso de un valor mayor o igual que 1 determinará la resolución de salida del ráster. Este parámetro no afecta a las capas que no son capas ráster. | Double |
is_composite (Opcional) | Especifica si la salida será una sola imagen compuesta. Si la capa es un ráster, puede elegir cualquiera de las opciones para este parámetro, sin ninguna diferencia visual.
| Boolean |
boundary_box_extent (Opcional) | La extensión geográfica del área a exportar. Especifique los límites del rectángulo de extensión como una cadena de caracteres delimitada por espacios de coordenadas geográficas WGS84 con la forma “abajo izquierda y arriba derecha” (xmin, ymin, xmax, ymax).
| Extent |
image_size (Opcional) | El tamaño de las teselas de las capas ráster si el valor del parámetro layer_output_scale está establecido en un valor mayor o igual que 1. Este parámetro no afecta a las capas que no son capas ráster. | Long |
dpi_of_client (Opcional) | La resolución del dispositivo para la salida de KML cuando el parámetro is_composite está establecido en COMPOSITE. Este parámetro se utiliza con el parámetro image_size para controlar la resolución de la imagen de salida. Este parámetro no proporciona la capacidad de remuestrear rásteres de origen. Para todos los rásteres de entrada se tomará una instantánea que se incluirá en la salida de KML como una imagen .png simple. | Long |
ignore_zvalue (Opcional) | Especifica si se invalidarán los valores z de las entidades de entrada.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función LayerToKML en modo inmediato.
import arcpy
# "buildings" represents a layer in your map
arcpy.LayerToKML_conversion("buildings", "c:/outputKMZs/bldg.kmz")
El siguiente script de Python muestra cómo utilizar la función LayerToKML en un script independiente.
# 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))
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí