EXCEL中的空间数据转换为shapefile和GDB中的feature class

来源:互联网 发布:淘宝金融平台官网 编辑:程序博客网 时间:2024/06/07 06:12

在实际工作中,经常遇到需要将EXCEL格式的空间数据转换成shape格式的矢量图形数据文件,或者将其导入到GDB中的某个feature class中进行空间数据的入库工作。本文介绍如何通过使用ARCMAP软件实现上述过程。

【使用软件或工具】
ARCMAP 10.2版本

【操作步骤】
1.准备excel数据,如下图所示。第一行是字段名称,将来会作为shape和feature class中的字段。其中包含坐标字段。此处LONGITUDE代表经度坐标值,LATITUDE代表纬度坐标值。坐标的取值必须在合理的范围内,比如经度必须在0 至 180度之间。纬度必须在-90 至 90度之间。
注意:在EXCEL中,不需要有OBJECTID字段,该字段会在ARCMAP转换为shape和feature class的时候自动生成的。
这里写图片描述
经过试验,支持导入的excel文件格式必须为.xls和.csv格式。因此Office2007及以上版本的EXCEL必须保存为低版本的文件格式才能正常导入。
这里写图片描述

2.启动ArcMap软件,无需打开mxd文件。
这里写图片描述

3.通过Catalog连接数据源
右侧展开Catalog,右键点击Folder Connections,在弹出的快捷菜单中选择“Connect To Folder”
这里写图片描述

比如,要导入的EXCEL文件放在D盘根目录下,则连接的文件夹选择D:\
这里写图片描述

再次展开Catalog中的Folder Connections目录即能看到D盘下的所有目录和文件,当然也包括我们即将导入的EXCEL文件。
这里写图片描述

4.依次选择菜单File -> Add Data -> Add XY Data ,打开如下所示功能界面,此功能将外部包含X和Y的空间数据作为一个图层添加到地图上进行显示。
这里写图片描述

在此界面中,首先选择需要导入的EXCEL文件及其中包含数据的Sheet页名称,然后,确定EXCEL中哪个字段代表X坐标字段,哪个字段代表Y坐标字段。由于不涉及三维数据,所以Z坐标字段不用关联。

其中,最关键的一步是为导入的数据选择坐标系统。正确选择坐标系统的前提是用户明确知道要导入的EXCEL文件中的数据是什么坐标系统的。比如,我们此次要导入的数据是经纬度坐标,而且我们知道是WGS84地理坐标系,因此,我们就选择的坐标系就应该是WGS 1984坐标系。若此处误选了其他坐标系统,如选择了WGS 1984 Web Mercator投影坐标系统,则导入之后,系统会将EXCEL中的经度108.9156944和纬度19.47922222误认为投影坐标系中的米进行导入,这样导入的空间数据肯定是错误的。

这里写图片描述

点击OK后,系统出现“导入表不包含Object-ID字段”的提示信息。
提示的内容主要为:导入的表没有包含Object-ID字段,因此你导入后的结果图层将不能进行选择、查询、编辑要素的操作,也不能定义关系。
但是即使我们在EXCEL中加上这个Object-ID字段后,此处还是会报这个错误,是无法解决这个问题。
提示内容的后半部分,告诉你怎样解决这个问题,即:如果我们想要使用上述那些被限制的功能时,当我们导入并创建完图层后,我们可以将这个图层导出到一个shapefile文件或feature class中。此处先点击OK,忽略该提示信息。后面讲述该操作步骤。
这里写图片描述

5.点击OK后,我已经能看到导入的数据已经作为一个图层在地图上显示出来了。
这里写图片描述
打开该图层属性表,即能看到EXCEL中的数据已经成功导入,且包含Shape图形字段。
这里写图片描述

6.将图层导出为shape或feature class
右键单击图层名称:Sheet1$Events,在出现的快捷菜单中以此选择:Data -> Export Data
出现如下Export Data功能窗口,
这里写图片描述

选项说明如下:
Export: All features —-导出该图层中的所有要素
All features In View Extent —-导出当前显示范围内的所有要素

Use the same coordinate system as:
this layer’s source data —-和图层数据源的坐标系统保持一致,可以右键图层选择Properties->Source进行查看。由于我们刚才导入EXCEL文件时,选择的坐标系统是WGS84的,因此此处即为WGS84坐标系统。
这里写图片描述

the data frame ——和数据框设置的坐标系统保持一致
查看当前数据库设置的坐标系统的方法是:右键单击左侧Layers根节点,在弹出的菜单中选择Properties,出现如下坐标系统Tab页。
这里写图片描述

the feature dataset you export the data into —和你即将要导入的feature dataset所设置的坐标系统一致。
(此选项只用于将数据导入到GDB的feature dataset中)

注:使用the data frame和the feature dataset you export the data into选项,可以巧妙的在导入的数据的同时进行坐标系统转换。
比如,我导入的EXCEL中的数据坐标系是WGS84的,但是我希望我导入后能转换成WGS 1984 Web Mercator坐标系统,此时,我们只要将data frame或dataset的坐标系统指定为WGS 1984 Web Mercator坐标系即可。

Output feature class:用于选择导出的路径和保存的数据类型。
导出的路径可以选择:Folder Connection —用户导出为shapefile格式
File GDB —用户导出为File GDB中的feature class
Database Connections—-用户导出为GDB中的feature class
这里写图片描述

Name:即为要导出的shp或feature class命名
Save as type: 选择保存类型,选项和上述导出路径对应。

此处我们以导出shapefile格式为例,选择好导出路径,并命名文件名称为“监测点点位数据.shp”,Save as type选择Shapefile后,点击Save按钮。

这里写图片描述

系统提示:你是否想将导出的数据作为地图的一个图层展示,选择”是”。
这里写图片描述

此时,右侧Catalog中可以看到我们转换后新生成的shapefile文件,并且该文件已经作为图层显示在坐标的图层列表中,以及在地图上显示了。显然,该图层和之前EXCEL导入图层完全重叠显示。并且该文件的坐标系统也是WGS 1984
这里写图片描述

打开图层的属性表,可以看到EXCEL中的数据已经成功导入到shapefile中了
这里写图片描述

0 0
原创粉丝点击