“天地图”(http://www.tianditu.gov.cn)是我国自然资源部直属的国家基础地理信息中心建设的国家地理信息公共服务平台,以多种形式面向社会和公众提供地图与地理信息服务。

除提供常规的瓦片地图服务以外,“天地图”还以WFS(网络要素服务)的形式,提供了一类名为“数据API”的服务(http://lbs.tianditu.gov.cn/data/dataapi.html),其中包含了2017年县级行政区划界线,对于需要以行政区划为单位做数据分析的同学来说,这无疑是一个权威的底图来源。

但是,直接下载的行政区划数据存在部分县级区划被图幅拆分的情况,无法直接挂接属性表,需要做进一步处理。

本文使用QGIS 3.10演示从“天地图”数据服务下载县级行政区划,并对其进行数据融合、拓扑检查和修正,通过三大步骤,得到可以挂接属性表的行政区划底图。

 01 数据下载

打开QGIS,在【浏览】面板右键单击【wfs】节点,选择【新建连接】,设置名称 “天地图”,URL填写:http://gisserver.tianditu.gov.cn/TDTService/wfs。

展开【wfs】->“天地图”节点,可以看到共有10个图层,行政区划线和面图层分别为“BOUL”和“BOUA”。右键点击这两个图层,从弹出菜单选择【导出图层】->【到文件…】,打开【矢量图层另存为…】对话框。

设置文件存储路径和名称,其他参数保持默认,点击【OK】按钮,将图层下载到本地。这个过程根据网络状况可能需要几分钟,网络状况不好的朋友,可以关注本公众号,后台发送“天地图”获取已经下载好的GeoPackage格式数据。

下载完成后,点击【数据源管理器】工具栏的【打开数据源管理器】按钮,切换到【矢量】标签页,选择文件型数据源,浏览到下载的GeoPackage文件,将“BOUA”和“BOUL”图层添加到地图窗口中。

右键点击行政区划面图层“tianditu BOUA”,查看图层属性,可以看到该图层共包含6175个要素。

 02 数据融合

仔细观察所得到的县级行政区划,共包含6个属性字段,“PAC”为6位行政区划代码,“NAME”为行政区划名称。

有些区划被分成了几个部分,导致政区代码和名称不唯一,无法挂接属性数据。

使用QGIS的数据融合(Dissolve)功能可以根据属性字段合并要素,即具有相同行政区划代码或者名称的要素将被合并。

点击菜单【矢量】->【地学数据处理工具】->【融合(dissolve)…】,直接对下载到的县级行政区划做融合,发现融合失败,提示图层中存在无效的几何图形,无法做数据融合,所以,首先要进行几何图形修正。

点击菜单【处理】->【工具箱】,在右侧打开【处理工具箱】面板。

在搜索框中输入“fix”,找到【矢量几何图形】->【修正几何图形】,双击运行该工具。

在【修正几何图形】对话框中,【输入图层】选择“tianditu BOUA”,确保勾选下方的“执行算法后打开输出文件”,点击【运行】按钮,开始修正几何图形。

算法运行结束后,点击【Close】按钮关闭对话框,回到QGIS主窗口,可以看到【图层】面板中增加了新图层“已修正几何图形”。

点击菜单【矢量】->【地学数据处理工具】->【融合(dissolve)…】,打开融合对话框。

设置【输入图层】为“已修正几何图形”,点击【融合字段】右侧的【…】按钮,在弹出对话框中勾选字段“PAC”。其他参数保持默认,点击【运行】按钮,开始执行融合。

等待算法执行完成后,点击【Close】关闭对话框,返回QGIS地图窗口。可以看到【图层】面板中增加了新图层“融合后”。

检查融合后的数据,发现具有相同行政区划代码的要素已经合并,但出现了少量悬挂线,有些多边形的共用边也没有正确擦除,这是由于原始数据中图幅分隔线与行政区划之间存在拓扑问题造成的。

 03 拓扑检查和修复

接下来,我们将利用QGIS的拓扑检查工具,对融合后的行政区划做数据修正。

为了便于操作,先将融合后的临时图层保存到文件中。右键点击临时图层“融合后”,在弹出菜单中选择【导出】->【另存要素为…】,打开【保存草图图层】对话框。

设置保存格式为“GeoPackage”,选择存储路径并输入文件名“dissolve.gpkg”,点击【OK】按钮。

删除临时图层“融合后”,打开保存的行政区划图层,并将其设置为可编辑。

接下来启用拓扑检查插件。点击菜单【插件】->【管理并安装插件】,打开插件管理对话框。拓扑结构检查插件为核心插件,默认已经安装,只需切换到【已安装】标签页,找到【拓扑结构检查器】,勾选启用。

在工具栏点击【拓扑结构检查器】按钮,打开【拓扑检查面板】。

点击【拓扑检查面板】工具栏中【配置】按钮,设置拓扑规则。图层下拉框中选择“Dissolve 天地图县界”,规则选择“不允许有空隙”,点击【添加规则】按钮,将该规则添加到列表中。如下图:

点击【验证范围】按钮,检查当前地图可视范围内的拓扑情况。可以看到,根据设置的规则,当前窗口范围存在3个拓扑错误,以红色高亮显示在地图窗口中。也可以点击【全部验证】按钮,验证整个图层的拓扑结构。注意,如果图层要素过多,将会消耗比较长的时间。

单击拓扑错误列表的条目,地图窗口将放大居中显示该条错误对应的图形。

面图层间隙的产生大多数是由于共用边的顶点没有完全重合导致,因此,只要保证共用顶点完全重合即可消除间隙。点击【捕捉】工具栏上的【启用捕捉】按钮,然后点击【数字化】工具栏的【顶点工具(当前图层)】。

鼠标左键点击要编辑的顶点,移动到需要的位置,在此过程中,如果鼠标靠近其他顶点,将会显示为粉色,表示捕捉到该点。若要将点移动到捕捉位置,只需要单击鼠标即可。开启捕捉后,可以保证顶点完全重合。

逐个移动顶点到完全重合,点击【验证范围】按钮,检查当前范围的拓扑结构是否正确,直至完全消除该拓扑错误。

用同样步骤设置其他的拓扑规则,检查图层,并编辑图层以修正拓扑错误,得到可以挂接县级行政区划属性数据的基础地图。

吴建玲

2020年9月07日


【往期精品】

使用QGIS批量打包天地图WFS图层

浅谈XYZTiles


版权声明

本文欢迎转载,转载时请注明出处。

QGIS|三步拥有全国县级行政区划相关推荐

  1. 全国省级、地级、县级行政区划数据

    上一篇文章我们已经讲过目前为止获取到的村级数据.而通常一些研究并不需要这么精密的范围,比如使用ArcGIS进行网络分析.冷热分析.流域分析等. 我们根据国家统计局公布的信息,获取了2023年全国省级. ...

  2. 这事妥了,百度云三步走战略全面支持IPv6

    天下苦IPv4久矣 IPv4存在的问题大概如此 地址不够用 安全性不完善 路由存在瓶颈 QoS(服务质量)差 ... ... 这时候该IPv6出场了 它是下一代网络的基础技术协议 并于2012年6月6 ...

  3. 运营商的“大网”怎么建? 三大运营商纷纷SDN/NFV三步走

    数据流量爆炸式增长,网络粗放型扩张难以为继已经成为不争的事实,引入IT技术和新的合作伙伴,追求低成本和高效率运营成为运营商构架未来网络的动力.而所有一切改造的两大技术基础是NFV和SDN,简而言之:N ...

  4. 企业核心人才培养三步曲

    信息的价值,思考的价值,学习的价值,连接的价值,时间的价值,无形的价值,人才需要不断灌输有用的信息. 人是企业最宝贵的资源,是企业巨大的财富,更是企业核心竞争力的资本,企业核心人才决定企业是否能成为百 ...

  5. 64位游戏找call_《使命召唤16:战区》配置注册登录全攻略,三步让你极迅游戏!...

    如果说谁是2020年最火的游戏,那么<使命召唤16:战区>绝对是排名第一.自从<使命召唤16:战区>发布之后,同时在线人数就不断刷新纪录,一天300万,3天800万 ,到现在已 ...

  6. 元气满满 开工大吉 2020「升职加薪,走好这三步...」

    和 2018 年相比,2019 年我装进口袋的年终奖翻了一番.感谢天,感谢地,感谢勤劳又努力的自己.更要感谢的,是帮助我「绩效拔尖.奖金翻倍」的不二法门--OKR(目标与关键成果法).通过对这套目标管 ...

  7. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  8. 软件需求分析--三步走

    软件项目如何进行需求分析,要解决这个问题,我们要分三步走 第一步:通过什么方式去了解需求 了解需求的方式有好几种: (1)直接与客户交谈.如果分析人员生有足球评论员的那张"大嘴", ...

  9. Flash Builder4.7极其简单破解方法-三步搞定(亲测)

    资讯类型: 转载 来源页面: http://weibo.com/2101024913/yvmR0D9Df 资讯原标题: 资讯原作者: 丿卓越丶星辰 翻译词数: 词 我的评论: 对这篇文你有啥看法,跟贴 ...

最新文章

  1. 解释一下SQLSERVER事务日志记录
  2. Bash:如何查看某个文件是那个程序/进程创建的?
  3. Android JNI开发生成.h头文件问题(转)
  4. Google浏览器中的开发工具.
  5. sql三表查询_SQL第五关:多表查询
  6. 10 SystemVerilog语言编写SPI发送
  7. Silverlight 2动态创建矩形对象(附完整源代码)
  8. UKIEPC 2017
  9. Linux的Namespace与Cgroups介绍
  10. Unity资源的基本类型
  11. redhat红帽官方软件仓库同步方案
  12. win10常用快捷键及命令行
  13. 内向的孩子学医好还是学计算机好,什么性格适合学医 哪种人不适合学医
  14. H264系列(7):H.264与MPEG4区别
  15. 设置电脑wifi和网线同时访问网络
  16. linux du命令,du命令示例
  17. 天天基金数据接口的处理
  18. 我对移动支付的看法_谈谈我对微信支付的看法
  19. 使用 Fiddler 进行 iOS APP 的 HTTP/HTTPS 抓包
  20. 千千静听安卓版是百度音乐旗下一款手机音乐软件,集本地歌曲播放

热门文章

  1. 计算机仿真技术-基于matlab的电子信息类课程课后答案,计算机仿真技术——基于MATLAB的电子信息类课程(第4版)...
  2. 【JavaGUI demo】swing仿Windows气泡屏保动画(含源码)
  3. 集成运放芯片资料大全
  4. C8051单片机:外部引脚与功能、内部结构与单元
  5. 关于IE浏览器的ActiveX的一些使用(JavaScript)
  6. 立创EDA导出3d模型到Altimu Designer
  7. Kanzi学习之路(3):Kanzi的树形结构和常用控件介绍
  8. 最新手写图片爬虫(针对千库网和一个福利网站)
  9. AM5728(AM5708)开发实战之修复AM5728不稳定问题
  10. 已知一个二维数组A 表示一个矩阵,求AT。 其中,AT 表示矩阵的转置。矩阵转置的含义:表示把一个矩阵行列互换。