KMZ、KML转换为Shape文件的方法及比较

KMZ、KML转换为Shape文件的方法及比较

Google Earth是一个非常好的免费的卫星影像获取工具,从上面我们不但能获得高清的卫星影像,同时还可以获得一些位置信息,比如说某些有用的点位信息。为了将这些点位信息与我们现有的数据进行叠加,必须将Google Earth的点数据导出为GIS软件能接受的格式,本文以ArcGIS 9.3.1为例,讲述如何将Google Earth的点数据转换为ArcGIS的Shape数据,以及不同转化方法之间的不同点。

首先我在Google Earth上选取了几个点,并在My Places下新建了一个名为a的文件夹,将所有的点放在这个文件夹中。如图一所示

图一    Google Earth上选取的点
图一    Google Earth上选取的点

在文件夹a上右击,在弹出的菜单中选择Save as…(另存为…),在弹出的另存为对话框中,选择要保存的文件格式(kmz或者kml)以及文件保存的位置和文件名,点击确定即可。

下面以KMZ格式文件为例,来说一下转换的各种方法及过程。

方法一:ArcGIS直接打开KMZ/KML文件

KMZ和KML文件是可以直接在ArcGIS中打开的,方法是:在ArcGIS的工具条上点击“Add Data”按钮,在弹出的对话框中找到KMZ/KML文件,双击将其打开,我们可以看到其中有许多的点线面文件(如图二所示),其中的“Placemark Point”文件就是我们需要的点文件,将其选中添加到ArcGIS的TOC中,我们可以看到刚才我们在Google Earth中选择的三个点显示了出来。(这里需要注意的是在ArcCatalog中并不能识别KMZ/KML文件)

如果需要将此数据转换为shape文件,TOC中,在此文件上右击,选择Data—>Export Data…即可将文件转换为shape格式。

图二    ArcGIS直接打开KMZ/KML文件
图二    ArcGIS直接打开KMZ/KML文件

方法二:使用ArcGIS空间ETL工具

在ArcToolbos中依次找到Data Interoperability Tools—>Quick Import,双击打开,在Input Dataset中选择“OpenGIS KML Encoding Standard”,然后设置KMZ/KML数据的位置以及导出数据集的坐标系统。在“Output Staging Geodatabase”中设置输出文件的位置,注意:这里输出的必须是File Geodatabase,并且在实际的操作过程中还发现,只能用它默认的地址,更改的地址都会提示错误。

图三    利用空间ETL工具转换
图三    利用空间ETL工具转换

转换完成后,在catalog中打开刚刚转换成的数据库,可以看到转换完成后的各个文件,其中名为“Placemark_point”的点文件就是我们需要的文件。

方法三:使用Global Mapper进行转换

在Global Mapper中打开KMZ/KML文件,然后在文件菜单中选择:Export Vector Data—>Export shapefile…,打开shapefile Export options对话框,在其中勾选Export Points项,接着弹出另存为对话框,在其中设置文件位置和文件名,然后点确定即可。将生成的文件加载到ArcGIS中后,我们看到了我们需要的点。

图四    利用Global Mapper转换KMZ/KML文件
图四    利用Global Mapper转换KMZ/KML文件

上面讲述了KMZ/KML转换为shape的三种方法,下面说一下这三种方法的区别。

从表面上看,三种转换方法是看不出差别的,但是从其属性表中可以清楚的看到它们之间的差别,如图五所示。

图五    不同转换方法间的不同
图五    不同转换方法间的不同

从图五中我们可以明显的看出三种转化方法得到的点,虽然都是点文件,却是不同的格式,从shape字段中我们就可以看出,并且不同转换方法所携带的数据量也是不同的,从图五中我们可以看出,通过Global Mapper转化得到的文件信息含量最丰富,其它两种方法结果大体相同。

分享到 :