ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

KML 转图层

  • 摘要
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

将 KML 或 KMZ 文件转换为要素类和图层文件。图层文件用于维护在原始 KML 或 KMZ 文件中找到的符号。

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

用法

  • 该工具用于创建文件地理数据库,该地理数据库中包含要素数据集中的要素类。会将要素类名称命名为point、line、面或multipatches,具体取决于 KML 文件的原始要素。会在文件地理数据库所在的同一文件夹级别下显示一个图层文件,可以将该文件添加至地图以绘制要素。此图层文件根据其点、线或面的方案绘制要素,同时维护原始 KML 符号。

    所创建的每个要素类均将含有用于维护有关原始 KML 文件的信息的属性。原始文件夹结构、名称、弹窗信息以及有助于定义要素在表面出现方式的字段,所有这些都组成了每个要素的属性。

  • 栅格或地面叠加层都将转换为文件地理数据库内的栅格目录。 在与输出文件地理数据库属于相同级别的 GroundOverlays 文件夹中可以找到本机格式的源栅格。默认情况下,不会转换地面叠加层。使用包括地面叠加层选项创建栅格。

    注:

    使用 KML 转图层工具转换叠加层可能需要很长时间,具体取决于源数据。将会转换 KML 内的所有可用栅格和叠加层。如果 KML 引用提供影像的服务,则将转换所有影像。由于文件大小的不同,转换极为详细的影像可能会花费很长时间。

  • 生成的输出将使用 WGS84 坐标系。必要时,可使用投影工具将输出要素重新投影到另一个坐标系中。

  • 通常支出 OGC KML 标准的高达 KMZ 2.2 版本的输入。不支持使用地址标签(按地理编码方式)的点位置。源 KML 内需要有效的经度和纬度位置。

语法

KMLToLayer_conversion (in_kml_file, output_folder, {output_data}, {include_groundoverlay})
参数说明数据类型
in_kml_file

要转换的 KML 或 KMZ 文件。

File
output_folder

文件地理数据库与图层 (.lyr) 文件的目标文件夹。

Folder
output_data
(可选)

输出文件地理数据库和图层文件的名称。默认为输入 KML 文件的名称。

String
include_groundoverlay
(可选)

包括地面叠加层(栅格、航空照片等)。KMZ 指向提供栅格影像的服务时务必要谨慎。该工具将尝试按所有可用比例转换栅格影像。此过程也许会较漫长且可能超出服务能力范围。

  • GROUNDOVERLAY —地面叠加层包括在输出中。
  • NO_GROUNDOVERLAY —地面叠加层不包括在输出中。这是默认设置。
Boolean

代码示例

KMLToLayer 示例 1(Python 窗口)

在 Python 窗口中,将 KMZ 文件转换为 FGDB。

import arcpy

arcpy.KMLToLayer_conversion(r'C:\kmls\earthquakes.kml',r'C:\gisdata\fromkmls','earthquake_09')
KMLToLayer 示例 2(独立脚本)

以下脚本会将 KMZ 和 KML 文件的文件夹转换为其各自的文件地理数据库。然后,会将这些文件地理数据库内的要素类合并到单个文件地理数据库中。请注意:此脚本不保留“KML 转图层”工具中的图层文件。

# Name: BatchKML_to_GDB.py
# Description: Converts a directory of KMLs and copies the output into a single fGDB.
#              A 2 step process: first convert the KML files, and then copy the featureclases

# Import system models
import arcpy, os

# Set workspace (where all the KMLs are)
arcpy.env.workspace="C:/VancouverData/KML"

# Set local variables and location for the consolidated file geodatabase
outLocation = "C:/WorkingData/fGDBs"
MasterGDB = 'AllKMLLayers.gdb'
MasterGDBLocation = os.path.join(outLocation, MasterGDB)

# Create the master FileGeodatabase
arcpy.CreateFileGDB_management(outLocation, MasterGDB)

# Convert all KMZ and KML files found in the current workspace
for kmz in arcpy.ListFiles('*.KM*'):
  print ("CONVERTING: {0}".format(os.path.join(arcpy.env.workspace, kmz)))
  arcpy.KMLToLayer_conversion(kmz, outLocation)


# Change the workspace to fGDB location
arcpy.env.workspace = outLocation

# Loop through all the FileGeodatabases within the workspace
wks = arcpy.ListWorkspaces('*', 'FileGDB')
# Skip the Master GDB
wks.remove(MasterGDBLocation)

for fgdb in wks:  
     
  # Change the workspace to the current FileGeodatabase
  arcpy.env.workspace = fgdb    

  # For every Featureclass inside, copy it to the Master and use the name from the original fGDB  
  featureClasses = arcpy.ListFeatureClasses('*', '', 'Placemarks')
  for fc in featureClasses:
    print ("COPYING: {0} FROM: {1}".format(fc, fgdb))    
    fcCopy = os.path.join(fgdb, 'Placemarks', fc)
    arcpy.FeatureClassToFeatureClass_conversion(fcCopy, MasterGDBLocation, fgdb[fgdb.rfind(os.sep)+1:-4])
  

# Clean up
del kmz, wks, fc, featureClasses, fgdb

环境

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

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

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

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

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