ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

地图转 KML

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

此工具用于将地图文档转换为 KML 文件,其中包含 Esri 几何和符号系统的转换。 该文件采用 ZIP 压缩方式压缩,具有 .kmz 扩展名,并且可以由任何 KML 客户端读取,包括 ArcGIS Explorer、ArcGlobe 和 Google Earth。

了解有关 ArcGIS 中 KML 支持的详细信息

使用方法

  • 可通过两种方式控制 KML 的外观。

    • 如果使用了类似于 HTML 弹出窗口设置、显示表达式和 KMLSnippet 别名的图层属性,则其将用于创建 KML。
    • 如果未设置图层属性且要素类包含特定属性(字段),则该字段属性将用于创建 KML。 最初使用 KML 转图层工具创建的图层会包含定义 KML 创建方式的属性。

    有关在 ArcGIS Desktop 中创建 KML 的详细信息

  • 如果地图具有与比例相关的图层显示属性并且用户选择了合适的地图输出比例,则可减小输出 KMZ 文档的大小。

  • 所有 KML 和 KMZ 文件均在 WGS84 坐标系中创建。 如果图层未采用 WGS84 坐标,您需要确保图层可以正确投影。 如果投影需要变换,可使用投影工具在 KML 转换前重新投影数据。

  • 要输出叠加在地形上方的单一栅格图像,请使用返回单一合成图像选项。

  • 要将每个图层输出为单独的栅格图像,请使用矢量转栅格选项。

语法

arcpy.conversion.MapToKML(in_map_document, data_frame, out_kmz_file, {map_output_scale}, {is_composite}, {is_vector_to_raster}, {extent_to_export}, {image_size}, {dpi_of_client}, {ignore_zvalue})
参数说明数据类型
in_map_document

要转换为 KML 的地图文档。

ArcMap Document
data_frame

要转换为 KML 的地图文档的数据框。

String
out_kmz_file

待写入的 KML 文件。 该文件是压缩文件,扩展名为 .kmz。 任何 KML 客户端都可读取该文件,包括 ArcGIS Explorer、ArcGlobe 和 Google Earth。

File
map_output_scale
(可选)

导出地图中的每个图层时所使用的比例。 此参数对任何比例可变选项都很重要,例如图层可见性或按比例渲染。 如果此图层在导出比例下不可见,则其不会包含在已创建的 KML 文件中。 如果没有比例相关选项,则可使用任何值(例如 1)。

如果导出将以 3D 矢量形式显示的图层并且将 is_composite 参数设置为 NO_COMPOSITE,则只要要素不具有任何取决于比例的渲染,您就可以将此参数设置为任何值。

仅应输入数字字符;例如,输入 20000 作为比例,而不能输入 1:20000 或 20,000。

Double
is_composite
(可选)
  • COMPOSITE —指定输出 KML 文件仅包含由此地图中的所有要素合成的单一个栅格图像。 栅格以 KML GroundOverlay 形式悬在地形上方。 选择该选项可减小输出 KMZ 文件的大小。 选中该复选框时,KML 文件中的各要素和图层将不可选择。 此外,还将忽略下一个参数 is_vector_to_raster。
  • NO_COMPOSITE —在 KML 文件中单独返回各图层。 是全部以栅格形式还是以矢量和栅格的混合形式返回图层由下一个参数 is_vector_to_raster 决定。
Boolean
is_vector_to_raster
(可选)
  • VECTOR_TO_IMAGE —在 KML 输出中将地图中的各矢量图层转换为独立的栅格图像。 正态栅格图层也将被添加到 KML 输出中。 各输出 KML 栅格图层为可选状态,并且可以在特定 KML 客户端中调整其透明度。
  • VECTOR_TO_VECTOR —以 KML 矢量形式保留地图中的矢量图层。
Boolean
extent_to_export
(可选)

待导出区域的地理范围。 矩形范围边界应按左下右上形式(xmin、ymin、xmax、ymax)以空格分隔的 WGS84 地理坐标字符串进行指定。

Extent
image_size
(可选)

以像素为单位返回图像的大小。 定义输出 KML 文档中所有栅格的垂直和水平分辨率。 将该参数与 dpi_of_client 参数配合使用可控制输出图像的分辨率。

Long
dpi_of_client
(可选)

定义输出 KML 文档中所有栅格的设备分辨率。 典型的屏幕分辨率是 96 dpi。 如果地图内的数据支持高分辨率并且 KML 需要高分辨率,则考虑增加值。 将该参数与图像大小参数配合使用可控制输出图像的分辨率。

Long
ignore_zvalue
(可选)
  • ABSOLUTE —创建 KML 时使用要素的 Z 值。 将在 KML 客户端中相对于海平面绘制要素。
  • CLAMPED_TO_GROUND —覆盖要素中的 Z 值并使用固定于地面的要素创建 KML。 要素将被叠加到 terrain 上。 此设置适用于不具有 Z 值的要素。 这是默认设置。
Boolean

代码示例

地图转 KML (MapToKML) 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 MapToKML 函数。

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.MapToKML_3d("city.mxd", "Layers", "city.kmz", "1")
地图转 KML (MapToKML) 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 MapToKML 函数。

'''*********************************************************************
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

# Set environment settings
arcpy.env.workspace = "C:/data"


# 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 = 96
        clamped = 'ABSOLUTE'
        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, clamped)
else:
    arcpy.AddMessage('There are no map documents (*.mxd) in '+env.workspace)

环境

  • 当前工作空间
  • 范围
  • 临时工作空间

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 转为 KML 工具集概述
  • 什么是 KML?
  • 快速浏览:ArcGIS 中的 KML
  • KML 基本词汇
  • 在 ArcGIS Desktop 中创建 KML

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明