OGC标准介绍 10

· ArcGIS对KML的支持

ArcGIS 10中支持KML 2.2.0版本。

1. ArcToolbox输出KML

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

image

12 使用ArcToolbox导出KML

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

image image

13 ArcMap中显示的地图效果

image image

14 Google Earth中显示KML的覆盖问题

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

image

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

image

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

2. ArcGIS Server发布KML服务

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

image

17 ArcGIS Server发布KML服务

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

image

image

图 18 将ArcGIS Server发布的KML服务添加到Google Earth的效果

[1] 版本:5.1