标注 | 说明 | 数据类型 |
输入图层 | 将转换为 KML 格式的要素、栅格图层或者图层组。 | Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File |
输出文件(KML 或 KMZ) | 输出 .kml 或 .kmz 文件。 输出文件可以使用 .kmz 扩展名生成存档或压缩文件,也可以使用 .kml 扩展名生成基础 KML 格式文件。 输出 .kmz 文件为默认值。 输出 .kmz 文件支持栅格图层、符号系统和其他图层属性、附件以及其他高级功能。 输出 .kml 文件将使用基础 KML 符号和属性。 | File |
图层输出比例 (可选) | 输出文件的比例。 对于栅格图层,可以将值 0 用来创建一个未平铺输出图像。 如果使用大于或等于 1 的值,则将确定栅格的输出分辨率。 此参数对栅格图层以外的图层无效。 | Double |
返回单一合成图像 (可选) | 指定输出是否将为单个合成图像。 仅当指定输出为 .kmz 文件时,此参数才适用,因为输出 .kml 文件不支持地面叠加图像或栅格。
| Boolean |
范围 (可选) | 要转换的图层的地理范围。 输出 KML 中仅包含此范围中的要素或栅格像元。
| Extent |
返回图像的大小(像素) (可选) | 图层输出比例参数值大于或等于 1 时,栅格图层的切片大小。 此参数对栅格图层以外的图层无效。 | Long |
输出图像 DPI (可选) | 选中返回单一合成图像参数时的 KML 输出的设备分辨率。 可将该参数与返回图像的大小(像素)参数一起用于控制输出图像分辨率。 此参数无法重采样源栅格。 输入栅格将会创建快照,并将其作为简单 .png 图像包括在 KML 输出中。 | Long |
将要素强制固定于地面 (可选) | 指定是否将忽略输入要素的 z 值以及是否在地面高程处定位或强制固定所有要素。
| Boolean |
摘要
用于将要素或栅格图层转换为 KML 格式(.kmz 或 .kml 文件)。 输出 KML 将包含 Esri 要素几何、栅格像元、图层符号系统和其他属性的转换。
使用情况
该工具的默认输出具有 .kmz 扩展名,即包含 .kml 文件和其他补充文件的存档或 .zip 文件。 许多应用程序(包括 ArcGIS Earth 和 Google Earth)都可以读取 .kmz 文件。
可通过以下两种方式控制 KML 的外观:
-
如果输入具有与比例相关的显示属性,请通过提供相应的图层输出比例参数值来减小输出 .kmz 文件的大小。
输入图层将投影到 WGS84,因为所有 .kml 和 .kmz 文件都必须使用该坐标系。 要确保投影能够准确定位要素和栅格像元,可能需要指定地理变换环境。 或者,在转换为 KML 之前,请使用投影工具,通过有效的转换将输入图层重新投影到 WGS84。
输入要素与附件将包含在输出 .kmz 文件中。 请注意 .kmz 文件中附件的以下情况:
- 附件可显著增大输出文件大小。
- 当在 KML 客户端中使用 .kml 文件时,可通过 KML 弹出窗口获取附件。
- 可在运行工具之前,通过禁用维护附件环境设置将附件排除。
- 并非所有 KML 客户端都支持显示附件。 一些 KML 客户端应用程序能够更好地支持图像和 PDF 文档等附件。
如果输出为 .kml 文件,则将不包含附件。
图层输出比例和返回图像的大小(像素)参数可一起用于创建切片输出。 例如,对于大小为 7000 x 5000 像素且返回图像的大小(像素)参数值为 1000 像素的图像,输出图像将由 7 x 5 或 35 个子图像组成。 如果图层输出比例参数值为 1,则每个子图像将为 1000 x 1000 像素。 如果图层输出比例参数值为 10,则每个子图像将为 100 x 100 像素。
参数
arcpy.conversion.LayerToKML(layer, out_kmz_file, {layer_output_scale}, {is_composite}, {boundary_box_extent}, {image_size}, {dpi_of_client}, {ignore_zvalue})
名称 | 说明 | 数据类型 |
layer | 将转换为 KML 格式的要素、栅格图层或者图层组。 | Feature Layer; Raster Layer; Mosaic Layer; Group Layer; Layer File |
out_kmz_file | 输出 .kml 或 .kmz 文件。 输出文件可以使用 .kmz 扩展名生成存档或压缩文件,也可以使用 .kml 扩展名生成基础 KML 格式文件。 输出 .kmz 文件为默认值。 输出 .kmz 文件支持栅格图层、符号系统和其他图层属性、附件以及其他高级功能。 输出 .kml 文件将使用基础 KML 符号和属性。 | File |
layer_output_scale (可选) | 输出文件的比例。 对于栅格图层,可以将值 0 用来创建一个未平铺输出图像。 如果使用大于或等于 1 的值,则将确定栅格的输出分辨率。 此参数对栅格图层以外的图层无效。 | Double |
is_composite (可选) | 指定输出是否将为单个合成图像。 仅当指定输出 KML 为 .kmz 文件时,此参数才适用,因为输出 .kml 文件不支持地面叠加图像或栅格。
| Boolean |
boundary_box_extent (可选) | 要转换的图层的地理范围。 输出 KML 中仅包含此范围中的要素或栅格像元。 可以使用以下选项指定该范围:
| Extent |
image_size (可选) | layer_output_scale 参数值大于或等于 1 时,栅格图层的切片大小。 此参数对栅格图层以外的图层无效。 | Long |
dpi_of_client (可选) | is_composite 参数设置为 COMPOSITE 时的 KML 输出的设备分辨率。 将该参数与 image_size 参数配合使用可控制输出图像的分辨率。 此参数无法重采样源栅格。 输入栅格将会创建快照,并将其作为简单 .png 图像包括在 KML 输出中。 | Long |
ignore_zvalue (可选) | 指定是否将忽略输入要素的 z 值以及是否在地面高程处定位或强制固定所有要素。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 LayerToKML 函数。
import arcpy
arcpy.conversion.LayerToKML("buildings", "c:/outputKMZs/bldg.kmz")
以下 Python 脚本演示了如何在独立脚本中使用 LayerToKML 函数。
# 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):
# Run LayerToKML
arcpy.conversion.LayerToKML(layer, outKML, scale, composite,
'', pixels, dpi, clamped)
else:
arcpy.AddMessage('There are no layer files in {}'.format(arcpy.env.workspace))
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是