Map to KML (Conversion)
Summary
This tool converts a map document into a KML file containing a translation of ESRI geometries and symbology. This file is compressed using ZIP compression and will have a .kmz extension and can be read by any KML client including ArcGIS Explorer, ArcGlobe, and Google Earth.
This tool was previously available in the 3D Analyst toolbox.
Usage
-
The output KMZ file cannot already exist.
-
You can reduce the size of the output KMZ document if your map has scale-dependent renderers and you choose an appropriate map output scale.
-
To output a single raster image draped over topography, use the Return single composite image option.
-
To output every layer as a separate raster image, use the Convert Vector to Raster option.
Syntax
Parameter | Explanation | Data Type |
in_map_document |
The map document to convert to KML. | Feature layer |
data_frame |
The data frame of the map document to convert to KML. | Data frame |
out_kmz_file |
The KML file to write. This file is compressed and will have a .kmz extension. It can be read by any KML client including ArcGIS Explorer, ArcGlobe, and Google Earth. | KML file |
map_output_scale |
The scale at which to export the map document. Any scale-dependent rendering will be observed, so layers that are not visible at the export scale will not be included in the created KML file. The symbology for the map will be driven by this scale, so if the map has a reference scale defined, it should be considered when setting this parameter. Only numerical characters should be entered. For example, enter the scale as "20000", not 1:20,000 or 20,000. Furthermore, if you are exporting a map containing only layers that will be displayed as 3D vectors and there is no scale-dependent rendering defined, this parameter is not required for the export process and can be set to any numeric value, such as 1. | Double |
is_composite (Optional) |
| Boolean |
is_vector_to_raster (Optional) |
| Boolean |
extent_to_export (Optional) | The geographic extent of the area to be exported. The extent rectangle bounds should be specified as a space-delimited string of WGS84 geographic coordinates in the form "left lower right upper". | Extent |
image_size (Optional) |
Size of returned image in pixels (optional): Defines the vertical and horizontal resolution of any rasters in the output KML document. | Long |
dpi_of_client (Optional) |
Defines the device resolution for any rasters in the output KML document. | Long |
Code Sample
The following Python Window script demonstrates how to use the Map To KML function in immediate mode.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
The following Python script demonstrates how to use the Map To KML function in a stand-alone script.
'''********************************************************************* Name: MapToKML Example Description: This script demonstrates how to find all map documents 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 MapToKML tool. # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" try: # Use the ListFiles method to identify all layer files in workspace if len(arcpy.ListFiles('*.mxd')) > 0: for mxd in arcpy.ListFiles('*.mxd'): # Set Local Variables dataFrame = 'Layers' composite = 'NO_COMPOSITE' vector = 'VECTOR_TO_VECTOR' pixels = 2048 dpi = 192 for scale in range(10000, 30001, 10000): # Strips the '.mxd' part of the name and appends '.kmz' outKML = mxd[:-4]+'.kmz' #Execute MapToKML arcpy.MapToKML_conversion(mxd, dataFrame, outKML, scale, composite, vector, '', pixels, dpi) else: arcpy.AddMessage('There are no map documents (*.mxd) in '+env.workspace) except Exception as e: print e.message