【本期看点】
我们在学习和工作中会遇到这样的场景:我有一个Excel表格,比如获得的带有经纬度的POI数据、城市经纬度坐标数据,我们需要将他们落实到空间上去,这个时候大多数人会使用到ArcGIS。
但是使用的过程中会遇到一些问题,比如Excel加载不进去、数据导入之后跟原有的行政区边界不重合,让我们的制图过程变的并不是那么顺利,为此作者在此总结了ArcGIS与Excel衔接过程中产生的问题以及解决方法,希望能解决大家制图过程中遇到的问题。
本期投稿
刘海洋
西北师范大学人文地理学硕士研究生
主要从事地理空间大数据的挖掘、
分析和可视化工作,
熟练掌握GIS分析方法
场景一:Excel表格加载不进去
①大家在往ArcGIS里面加载数据的时候是不是会遇到下图出现的警告提示框(图1),这就说明你选择加载的数据是.xlsx格式的数据,ArcGIS不支持扩展名为.xlxs(也就是2003版本之后的文件)的表格数据,所以会出现警告信息,数据加载不进去,这时我们将数据转存为扩展名为.xls(Excel97-03文件)或者.csv格式的数据就可以了。
图1 xlsx格式表格加载进ArcGIS出现的警告提示框(左为中文版,右为英文版)
②转换为.xls文件之后,可能还会遇到问题,这主要是针对使用ArcCatalog对话框加载数据的伙伴(使用Add data按钮的伙伴已经跳过了这个误区),直接就将表格文件拖拽到Table of Contents对话框里面,就会出现下图中的情况(图2),这是因为我们要将表格文件展开,将sheet加载进去,这样就解决了问题,还要注意的是.csv文件只支持一个sheet,大家注意不要把多个sheet存到.csv文件中。
图2 未点选sheet加载进ArcGIS出现的警告提示框(左为中文版,右为英文版)
总结:表格必须是.csv或者.xls格式的数据,还应该选择表格里面的sheet进行加载。
场景二:加载进来的表格数据
与行政区边界不重合
表格加载进来后,使用“显示XY数据(Display XY Data)”之后数据与行政区边界不重合,比如图3中出现的情况(在这里用中国地图举例,点数据为部分城市坐标,小区域的情况一样):加载进来的点数据出现在图的最下方,跟行政区对应不上,就是在那个红点(图3-①),其实并不是一个点,只是缩略显示为一个点,放大之后是这样的(图3-②)。
图3 “显示XY数据”之后数据与行政区边界不重合
这时候我们可能又陷入了迷茫。这是因为我们选择的坐标系不合适,坐标系的知识点比较多,在这里只给大家讲能够解决这个问题的办法:
①将刚才显示XY数据之后产生的文件从Table of Contents移除;
②将整个数据框的坐标系设置成WGS1984地理坐标系;
③进行“显示XY数据”,生成的数据就会落到行政区里面;
④将整个数据框的坐标系转换为原来的坐标系,之后右击新生成的数据图层选择“数据—导出数据”,导出为shapefile数据,导出数据的时候注意点选与数据框坐标系统一致的按钮,而不是数据源的投影,这样shapefile数据的坐标系统就与行政区一致了;
具体操作步骤在场景三中会详细讲述,大家可以对照截图练习使用。
场景三:数据丢失了.prj文件,
与行政区对应不上
衍生出来的场景三:数据丢失了.prj文件,与行政区对应不上。熟悉shapefile数据组成类型的伙伴们都知道.prj文件是数据的投影信息,丢失它数据就对应不到原来的空间位置上,但如果我们不小心丢失了这个文件,需要怎么做才能补救回来呢?前几天作者就被问到这样一个问题:一个地区的公交线路数据缺失.prj文件,将公交线路数据加载进来不能落到行政区里,下面我给大家提供一个解决的示例办法。
先看一下遇到的问题,数据正常情况下是下图显示的(图4),蓝色面是某行政区面数据,红线是道路网。
图4 正常情况下道路和行政区相重合
丢失投影文件(.prj文件)之后加载数据就变成下图(图5):无法识别空间参考,丢失投影信息文件软件就识别不了数据的空间位置。
图5 丢失投影文件之后ArcGIS弹出警告
此时点击确定之后,会出现图6的情况:明明已经加载进图层,但行政区内并未显示道路。
图6 点击确定后,道路无法显示在行政区内
下面给大家分享一下解决办法:
我们依然会用到场景二中的方法,先将整个数据框的坐标系统改为WGS1984的地理坐标系。
1.查看整个数据框的坐标系统
整个数据框的坐标系统,是Xian 1980 3 Degree GKZone 35(图7)。
注意:这里给大家说一个小的知识点,ArcGIS自动识别第一个加载进来的数据的投影信息,因此在这里整个数据框也就是跟随行政区的投影信息一致,
图7 查看数据框的坐标系统信息
2.设置WGS1984坐标系,使道路数据在视觉上与行政区重合:
①找到WGS1984坐标系并选择,寻找WGS1984的流程是:Geographic Coordinate Systems—World—WGS1984(图8);
②点击确定,将整个数据框的坐标系统改为WGS1984(图8)。
图8 设置WGS1984坐标系
③查看效果:点击确定后,会发现原先没有落到行政区内的道路重新落到了行政区范围内(图9)。
图9 道路数据已经落到了行政区内
3.但这样并没有结束,道路数据只是在视觉上落到了行政区内,我们利用了动态投影的方法将道路重新落到了行政区内,实际上它仍然是缺失投影信息的道路数据,要怎样做才能让它真正地拥有坐标系信息呢?
①将道路数据导出(图10);
图10 导出数据
②导出数据的时候坐标系统一定要选择跟数据框的坐标系统一致(图11);
图11 点选跟数据框的坐标系统一致
③最后将导出的数据添加到图层中。
④打开导出数据的属性对话框,查看它的属性,可以看出数据已经具有了坐标系统信息,只不过是地理坐标系。
图12 查看所导出数据的坐标信息
4.如果需要将道路信息的坐标系与行政区保持一致,可以双击图层,打开数据框属性对话框;
①选择原来的Xian 1980 3 Degree GK Zone 35坐标系统(图13),点击确定。
(如果找不到的话可以事先收藏这个坐标系,方便以后使用,收藏按钮的位置在下图),当然如果你想选用其他坐标系统的话也可以。
图13 调整回Xian 1980 3 Degree GK Zone 35坐标系
②点击确定后,弹出来的对话框选yes,之后整个数据框就恢复了原来的坐标系,由于坐标系调整了,所以行政区的形状会变形哦(图14),东西方向上受到压缩。
图14 调整坐标系后行政区发生变形
③右击道路WGS1984图层,选择数据—导出数据(图15)。
图15 导出数据
④选择跟数据框一致坐标系,确定导出数据,注意:这次点选与数据框坐标系一致导出的数据就是Xian 1980 3 Degree GK Zone 35坐标系了,跟第3部分不一样,不要弄错了。
图16 点选跟数据框的坐标系统一致
⑤将导出的数据添加到图层中,这样跟行政区具有同样坐标系统的道路数据就生成了,最终结果如下图,解决了数据丢失.prj文件的问题。
图17 导出道路数据已经与行政区坐标系一致
本文转载自微信公众号:城市数据派,如需转载请联系城市数据派。
本站声明
本文仅代表作者观点,不代表城市数据派立场;
本文系作者授权城市数据派发表,未经许可,不得转载;
本网站上的所有内容均为虚拟服务,一经购买成功概不退款,请您理解。