Resumen
Convierte un mapa en un archivo KML que contiene geometrías y simbología. El archivo de salida está comprimido mediante compresión ZIP, tiene una extensión .kmz y lo puede leer cualquier cliente de KML, incluidos ArcGIS Earth 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 el mapa posee propiedades de visualización de capa 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 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.
Para conseguir que cada capa sea una imagen ráster por separado, utilice el parámetro Convertir vector a ráster.
Los parámetros Escala del mapa de salida y Tamaño de la imagen devuelta (píxeles) se utilizan juntos para crear la salida en 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 del mapa de salida se establece en 1, cada subimagen será de 1.000 x 1.000 píxeles. Si el valor del parámetro Escala del mapa de salida se establece en 10, cada subimagen será de 100 x 100 píxeles.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
in_map | El mapa, la escena o el mapa base que se convertirá a KML. | Map |
out_kmz_file | El archivo KML de salida. Este archivo está comprimido y tiene una extensión .kmz. El archivo lo puede leer cualquier cliente de KML, incluidos ArcGIS Earthy Google Earth. | File |
map_output_scale (Opcional) | La escala a la que se va a exportar cada capa del mapa. Este parámetro es importante con cualquier dependencia de la escala, como la visibilidad de la capa o la representación en pantalla dependiente de la escala. Si la capa no está visible en la escala de salida, no se incluirá en el KML de salida. Se puede usar cualquier valor, como 1, si no hay dependencias de escala. En el caso de las capas ráster, se puede utilizar el valor 0 para crear una imagen de salida sin teselas. Si se utiliza un valor mayor o igual que 1, determina la resolución de salida del ráster. Este parámetro no afecta a las capas que no son capas ráster. Solo se admiten caracteres numéricos; por ejemplo, introduzca 20.000 como escala, no 1:20.000. En los idiomas que utilizan las comas como el punto decimal, también es aceptable 20,000. Si desea exportar una capa que se va a mostrar como vectores 3D y el parámetro is_composite está definido como NO_COMPOSITE, puede definir este parámetro con cualquier valor, siempre que las entidades no tengan ninguna representación dependiente de la escala. | Double |
is_composite (Opcional) | Especifica si el KML de salida contiene una sola imagen compuesta o capas separadas.
| Boolean |
is_vector_to_raster (Opcional) | Especifica si cada capa vectorial del mapa se convierte en una imagen ráster independiente o se conserva como capas vectoriales. Este parámetro está deshabilitado si el parámetro is_composite está establecido en COMPOSITE.
| Boolean |
extent_to_export (Opcional) | La extensión geográfica del área a exportar. Especifique los límites del rectángulo de extensión como una cadena de coordenadas geográficas WGS84 delimitada por espacios siguiendo la forma izquierda abajo derecha arriba (x-mín., y-mín., x-máx., y-máx.).
| Extent |
image_size (Opcional) | El tamaño de las teselas de las capas ráster si el valor del parámetro Escala del mapa de salida está establecido en un valor mayor o igual que 1. Este parámetro solo tiene efecto en las capas ráster. | Long |
dpi_of_client (Opcional) | La resolución del dispositivo para los rásteres en el documento KML de salida. La resolución normal de la pantalla es 96dpi. Si los datos de su mapa admiten alta resolución y su KML lo requiere, considere aumentar el valor. Use este parámetro se utiliza con el parámetro Tamaño de la imagen devuelta (píxeles) para controlar la resolución de la imagen de salida. El valor predeterminado es 96. | Long |
ignore_zvalue (Opcional) | Especifica si las entidades están fijadas al suelo.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función MapToKML en modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MapToKML_conversion("cities.mapx", "cities.kmz")
El siguiente script de Python muestra cómo utilizar la función MapToKML en un script independiente.
# 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))
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí