Acgis中实现栅格经纬度和行政区关联

写在前面

如果有更高效的办法欢迎分享~ 我用的是Arcgis10.2。

需求描述

目前已有意大利的shp文件,希望将意大利划分成0.1*0.1经纬度的栅格,并且关联每个栅格中心点所属的省份信息。最终希望得到的输出是一个表格,里面包含栅格的经纬度、所属省份信息。

PS. 安利一个下载全球shp文件的好用的网址(https://www.diva-gis.org/gdata)。

问题分析

要实现我上面的操作,需要把整个过程拆分成如下步骤:

  1. 导入意大利的省级shp文件(这是面数据);
  2. 将shp文件转为栅格(面数据 转 栅格数据);
  3. 将栅格数据转为点数据(这样才能得到经纬度);
  4. 给点数据增加经纬度信息;
  5. 将面数据和点数据进行关联;
  6. 将数据导出为表格。

1、导入意大利的省级shp文件(这是面数据);

步骤略。

 2、将shp文件转为栅格(面数据 转 栅格数据);

首先,打开工具箱

 找到转换工具->转为栅格->面转栅格

输入要素就是第一步导入的shp图层

 

然后就可以得到转为栅格的数据,如下

  3、将栅格数据转为点数据(这样才能得到经纬度);

因为栅格数据的经纬度是一个范围,为了得到栅格中心点的经纬度,就需要把栅格转成点。

转换工具->由栅格转出->栅格转点

这一步的数据就是上一步得到的栅格图层

 

 这样就可以得到点数据了,如下:

 4、给点数据增加经纬度信息;

打开“点图层”的属性表格

 

 可以发现面数据已经被转成了3308个点,但是这些点的经纬度信息还没有,这需要我们人为添加。

下面添加两个字段,分别是"lat"和“lon”,添加方法如下。值得注意的就是,数据类型需要选“双精度”。

 字段添加完毕后,右击列名,选择“计算几何“,便可以得到经纬度。需要注意的是,lon对应X坐标,lat对应Y坐标。

 

 通过上述操作,就可以得到每个点的经纬度了。

5、将面数据和点数据进行关联;

右击“点”图层->连接和关联->连接。

 

 这样就可以得到一个关联后的点图层,如下:

打开这个图层的属性表,可以发现,既有经纬度信息,又有行政区划信息。

6、将数据导出为表格。

接下来导出数据就大功告成了!

导出数据一共有三种方法,这里都介绍一下吧。

方法一:复制粘贴大法。

直接ctrl A + ctrl C + ctrl V 当然是不行的。这样只能复制表格中一个cell的信息。

正确的打开方式是先对表格进行全选,然后对着空白处右键,选择“复制所选项”。

然后在本地新建一个空白的excel,直接粘贴进去即可。

这个方法适合数据量不是很多的情况,如果数据量太多,就会卡死。

方法二:转换工具大法。

打开工具框,找到“转换工具”->Excel->表转Excel。

 

 这个方法有一个限制,就是行数超过65535就会导出失败。

方法三:DBF大法。

打开属性表,选择“导出”,这里的数据格式是dbf。

把文件导出后,dbf后缀直接改成csv,就可以用excel打开表格了。

这个方法适用于数据量特别大的情况。如果遇到如下问题:

可以把导出的数据类型改成txt,然后再用Python或什么方法,txt转成excel吧。

大功告成!

最后,感谢我的导师,今天中午他在百忙之中教会了我上面的操作,希望这个博客可以帮到更多需要的人,感恩!

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值