用户名
密码
(30天内有效)
注册
注册
首页 > 案例资料 >

数据图层之间总是对不上?ArcGIS与Excel衔接教程来啦

我要收藏
2020-07-15

【你投稿了没?10万+作者“平台好才是真的好”,也许下一个就是你!】(点击看详情),是由城市数据派主办的征稿活动,小派在此恭候派友们投稿分享!


【本期看点】

我们在学习和工作中会遇到这样的场景:我有一个Excel表格,比如获得的带有经纬度的POI数据、城市经纬度坐标数据,我们需要将他们落实到空间上去,这个时候大多数人会使用到ArcGIS。


但是使用的过程中会遇到一些问题,比如Excel加载不进去、数据导入之后跟原有的行政区边界不重合,让我们的制图过程变的并不是那么顺利,为此作者在此总结了ArcGIS与Excel衔接过程中产生的问题以及解决方法,希望能解决大家制图过程中遇到的问题。



  本期投稿  

1594805968905740.jpg

刘海洋

西北师范大学人文地理学硕士研究生

主要从事地理空间大数据的挖掘、

分析和可视化工作,

熟练掌握GIS分析方法




场景一:Excel表格加载不进去

① 大家在往ArcGIS里面加载数据的时候是不是会遇到下图出现的警告提示框(图1),这就说明你选择加载的数据是.xlsx格式的数据,ArcGIS不支持扩展名为.xlxs(也就是2003版本之后的文件)的表格数据,所以会出现警告信息,数据加载不进去,这时我们将数据转存为扩展名为.xls(Excel97-03文件)或者.csv格式的数据就可以了。


1594806000543858.jpg

图1 xlsx格式表格加载进ArcGIS出现的警告提示框(左为中文版,右为英文版)


② 转换为.xls文件之后,可能还会遇到问题,这主要是针对使用ArcCatalog对话框加载数据的伙伴(使用Add data按钮的伙伴已经跳过了这个误区),直接就将表格文件拖拽到Table of Contents对话框里面,就会出现下图中的情况(图2),这是因为我们要将表格文件展开,将sheet加载进去,这样就解决了问题,还要注意的是.csv文件只支持一个sheet,大家注意不要把多个sheet存到.csv文件中。


1594806022280005.jpg

图2  未点选sheet加载进ArcGIS出现的警告提示框(左为中文版,右为英文版)


总结:表格必须是.csv或者.xls格式的数据,还应该选择表格里面的sheet进行加载。

 


场景二:加载进来的表格数据

与行政区边界不重合


表格加载进来后,使用“显示XY数据(Display XY Data)”之后数据与行政区边界不重合,比如图3中出现的情况(在这里用中国地图举例,点数据为部分城市坐标,小区域的情况一样):加载进来的点数据出现在图的最下方,跟行政区对应不上,就是在那个红点(图3-①),其实并不是一个点,只是缩略显示为一个点,放大之后是这样的(图3-②)。


1594806047877311.jpg

图3  “显示XY数据”之后数据与行政区边界不重合


这时候我们可能又陷入了迷茫。这是因为我们选择的坐标系不合适,坐标系的知识点比较多,在这里只给大家讲能够解决这个问题的办法:

①将刚才显示XY数据之后产生的文件从Table of Contents移除;

②将整个数据框的坐标系设置成WGS1984地理坐标系;

③进行“显示XY数据”,生成的数据就会落到行政区里面;

④将整个数据框的坐标系转换为原来的坐标系,之后右击新生成的数据图层选择“数据—导出数据”,导出为shapefile数据,导出数据的时候注意点选与数据框坐标系统一致的按钮,而不是数据源的投影,这样shapefile数据的坐标系统就与行政区一致了;

具体操作步骤在场景三中会详细讲述,大家可以对照截图练习使用。


 

场景三:数据丢失了.prj文件,

与行政区对应不上


衍生出来的场景三:数据丢失了.prj文件,与行政区对应不上。熟悉shapefile数据组成类型的伙伴们都知道.prj文件是数据的投影信息,丢失它数据就对应不到原来的空间位置上,但如果我们不小心丢失了这个文件,需要怎么做才能补救回来呢?前几天作者就被问到这样一个问题:一个地区的公交线路数据缺失.prj文件,将公交线路数据加载进来不能落到行政区里,下面我给大家提供一个解决的示例办法。


先看一下遇到的问题,数据正常情况下是下图显示的(图4),蓝色面是某行政区面数据,红线是道路网。

1594806074494331.jpg

图4  正常情况下道路和行政区相重合


丢失投影文件(.prj文件)之后加载数据就变成下图(图5):无法识别空间参考,丢失投影信息文件软件就识别不了数据的空间位置。


1594806092529488.jpg

图5 丢失投影文件之后ArcGIS弹出警告


此时点击确定之后,会出现图6的情况:明明已经加载进图层,但行政区内并未显示道路。


1594806111880546.jpg

图6 点击确定后,道路无法显示在行政区内


下面给大家分享一下解决办法:

我们依然会用到场景二中的方法,先将整个数据框的坐标系统改为WGS1984的地理坐标系。


1. 查看整个数据框的坐标系统

整个数据框的坐标系统,是Xian 1980 3 Degree GKZone 35(图7)。

注意:这里给大家说一个小的知识点,ArcGIS自动识别第一个加载进来的数据的投影信息,因此在这里整个数据框也就是跟随行政区的投影信息一致,

1594806131613684.jpg

图7  查看数据框的坐标系统信息



2.设置WGS1984坐标系,使道路数据在视觉上与行政区重合:


① 找到WGS1984坐标系并选择,寻找WGS1984的流程是:Geographic Coordinate Systems—World—WGS1984(图8);


② 点击确定,将整个数据框的坐标系统改为WGS1984(图8)。

1594806149180279.jpg

图8 设置WGS1984坐标系


③ 查看效果:点击确定后,会发现原先没有落到行政区内的道路重新落到了行政区范围内(图9)。

1594806170624884.jpg

图9  道路数据已经落到了行政区内


3. 但这样并没有结束,道路数据只是在视觉上落到了行政区内,我们利用了动态投影的方法将道路重新落到了行政区内,实际上它仍然是缺失投影信息的道路数据,要怎样做才能让它真正地拥有坐标系信息呢?


① 将道路数据导出(图10);

1594806187922684.jpg

图10  导出数据


② 导出数据的时候坐标系统一定要选择跟数据框的坐标系统一致(图11);

1594806207337002.jpg

图11  点选跟数据框的坐标系统一致


③ 最后将导出的数据添加到图层中。


④ 打开导出数据的属性对话框,查看它的属性,可以看出数据已经具有了坐标系统信息,只不过是地理坐标系。

1594806223120320.jpg

图12  查看所导出数据的坐标信息


4. 如果需要将道路信息的坐标系与行政区保持一致,可以双击图层,打开数据框属性对话框;


① 选择原来的Xian 1980 3 Degree GK Zone 35坐标系统(图13),点击确定。

(如果找不到的话可以事先收藏这个坐标系,方便以后使用,收藏按钮的位置在下图),当然如果你想选用其他坐标系统的话也可以。

1594806241725487.jpg

图13  调整回Xian 1980 3 Degree GK Zone 35坐标系


② 点击确定后,弹出来的对话框选yes,之后整个数据框就恢复了原来的坐标系,由于坐标系调整了,所以行政区的形状会变形哦(图14),东西方向上受到压缩。

1594806262664255.jpg

图14  调整坐标系后行政区发生变形


③ 右击道路WGS1984图层,选择数据—导出数据(图15)。

1594806279876805.jpg

图15  导出数据


④ 选择跟数据框一致坐标系,确定导出数据,注意:这次点选与数据框坐标系一致导出的数据就是Xian 1980 3 Degree GK Zone 35坐标系了,跟第3部分不一样,不要弄错了。

1594806297823653.jpg

图16  点选跟数据框的坐标系统一致


⑤ 将导出的数据添加到图层中,这样跟行政区具有同样坐标系统的道路数据就生成了,最终结果如下图,解决了数据丢失.prj文件的问题。

1594806315643412.jpg

图17  导出道路数据已经与行政区坐标系一致



本文转载自微信公众号:城市数据派,如需转载请联系城市数据派。

本站声明

本文仅代表作者观点,不代表城市数据派立场;
本文系作者授权城市数据派发表,未经许可,不得转载;
本网站上的所有内容均为虚拟服务,一经购买成功概不退款,请您理解。

点赞0

全站浏览排行

TOP ARTICLES