ArcGIS根据行政图校准延安市乡镇shp行政边界

前言

在开发时,经常需要和地图打交道,比如展示某个区域的边界,一般拿到的数据是shp文件,但是最新的行政图数据往往不好获取。以陕西省延安市为例,第四级行政区的数据,也就是乡镇级的数据,还停留在2010年,然而2015年之后许多地区进行了重新的规划,导致我们的数据需要调整。好在甲方提供了2020年最新的JPG格式的行政区划图,那么能否根据标准的行政区划图来调整我们的shp文件呢,肯定可以。(本文处理后的2020年延安市乡镇行政shp数据,可联系QQ:2271587828获取)

目录

  1. 校准行政区划图坐标
  2. 调整shp行政边界
  3. 导出数据
  4. 展示

1. 校准行政区划图坐标

1.1 添加图层

这里分别添加未处理过的shp文件和行政区划图
在这里插入图片描述

这时点击下面图层看不到行政区划图是正常的,因为他的坐标可能不视野范围内,只需要右键->缩放至图层即可
在这里插入图片描述

1.2 创建控制点进行校准

选择到行政区划图层,右键标题栏空白处,调出地理配准工具
在这里插入图片描述

地理配准工具中我们主要使用的一个操作就是创建控制点
在这里插入图片描述

简单理解就是在需要调整坐标的图层上先创建一个点,然后链接到坐标正确的图层的对应位置,ArcMap会自动帮我们调整,调整使用的算法可以自行选择一个效果最好的。

在这里插入图片描述

通过上面的操作可以看到,至少需要两对控制点以上,才能大致校准行政图位置。当添加前几个控制点无法直接靠移动鼠标找到点时,也可以右键缩放到图层进行选点。接下来就是添加更多的控制点,尽量选取边角和中心位置,可以减小误差。

下图是已经添加了4对控制点的地图,这时候上层的shp会挡住一部分区划图,影响选点。右键图层属性,设置合适的透明度。也可以更改shp面显示颜色,直接设置为空心(这里因为线条较多,暂时不设置)
在这里插入图片描述

继续添加控制点,尽可能使点均匀的分布在整个地图上,当发现继续添加点仍不能很好的校准时,就需要选择另外的校准算法了,点击链接表可以查看当前所有的控制点,可以删除残差较大的点,当控制点的数量足够多时,选择三阶多项式会有非常好的效果,这里我添加了21对控制点,可以看到最终的效果已经非常好了,shp图层的边界线和行政区划图几乎看不出明显的错位。
在这里插入图片描述

1.3 保存校准后的行政区划图

要注意的是,行政图校准后并没有改变原图。因此,想要将校准后的行政图进行保存,需要导出,格式也可以自行选择,不同格式会有一定的画质损失。
在这里插入图片描述

2. 调整shp行政边界

2.1 分割面

经过导出,调整图层顺序后,较浅的黑色线条即为最终需要的边界。从下图可以看出,吴起街道占据了其他两个镇的部分地区,需要进行调整。
在这里插入图片描述

右键shp图层->编辑要素,或是点击编辑器->开始编辑,选中需要分割的面,选择编辑器中的面裁切工具,按照需要的边界开始描点,完成后按F2。
在这里插入图片描述

2.2 合并面

经过裁切面后,从吴起街道中分出了一小块区域,这个区域在行政区画图中属于铁边城镇,因此需要合并。选中两个面,点击编辑器中的合并选项即可。
在这里插入图片描述

同样的,经过相同的操作完成吴仓堡镇的调整,这样我们就得到了与行政区划图相同的shp数据。基本的思路就是分割大的面,将新增的面合并到需要的面中。
在这里插入图片描述

在完成所有的修改后,不要忘记点击编辑器中的保存编辑。

3. 导出数据

按照需要可以自行导出处理后的数据,本文为了对每个乡镇单独进行显示,选择批量导出。具体的分割字段要以属性表中为准。
在这里插入图片描述

将导出的全部shp文件导入mapshaper中,再导出geojson格式的数据。

4. 展示

geojson格式的数据可以直接使用高德api进行显示,当然在显示之前还需要将GPS坐标转换为火星坐标,具体的方法参照文章:python-GPS坐标转火星坐标。显示效果如下,可以看出数据基本吻合。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9ae5231a95354f3681d47c919401e0c8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YiY6YeR55uG,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

参考

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值