cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5913
  • QQ14265545
  • 铜币29653枚
  • 威望213点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
阅读:1184回复:0

KML文件的生成

楼主#
更多 发布于:2020-04-24 09:52
. ArcToolbox输出KML

我们可以通过ArcToolbox中的“To Kml”工具箱将地图或图层输出为KML格式。比如使用“Map To Kml”工具,如图


这样导出的KML为KMZ文件,如果在Google Earth中直接打开导出的KMZ文件,可以看到在Google Earth中显示的地图和MXD中的基本一致。“基本一致”表示还稍有不同,比如在图 1中蓝色的多边形对象在导出KML并加载到Google Earth[1]后会被下层的多边形覆盖而导致不可见。不过,这个是Google Earth的问题,因为从图层属性中可以看到,这些蓝色多边形所在的“Lakes”图层数据都存在,可惜没被正确显示,如图



图 1 ArcMap中显示的地图效果



图 2 Google Earth中显示KML的覆盖问题

由于我们选择了导出矢量的数据,因此如果解压缩导出的KMZ文件,可以看到其中只包含了一个doc.kml文件,有兴趣可以自己打开这个XML文件对照KML标准看一下。如果导出图片格式,KMZ中将会包含一个输出的图片,在doc.xml则是简单地将这个图片引用进来,这样的KML在Google Earth中显示并放大后会出现如图 4的锯齿。



图 3 Google Earth中显示ArcGIS导出的矢量KML

图 4 导出图片结果的KML在Google Earth中放大的效果

. ArcGIS Server发布KML服务


在ArcGIS Server中,通过勾选KML这个Capability可以启用服务的KML访问,如图 5。



图 5 ArcGIS Server发布KML服务

当发布完这个KML服务后,我们就可以直接向ArcGIS Server的REST接口发送返回KMZ格式的请求,然后将这个请求的地址添加到Google Earth的网络链接中。


图 6 将ArcGIS Server发布的KML服务添加到Google Earth的效果
喜欢0 评分0
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
游客

返回顶部