基于QGIS的长株潭城市群边界范围融合实战
背景
在面向区域的研究过程中,比如一些研究区域,如果是具体的行政区划,比如具体的某省或者某市或者县,可以直接从国家官方的地理数据中直接下载就可以。但如果并没有直接的空间数据那怎么办呢?比如之前遇到的一个场景,需要研究长株潭城市群内的各种设施布局,从长株潭城市群的整体来考虑进行设施布局合理性规划。
在做如上的一个项目前,我们首先要明确和收集的数据便是长株潭城市群的空间边界信息。一般在一些管网机构都会提供关于城市群的范围设计图。这里采用一幅来自百度百科的图。然而下述这张图 仅仅是一张jpg照片,没有空间信息。
1、长株潭城市群
长株潭城市群,位于中国湖南省中东部,为长江中游城市群重要组成部分,包括长沙、株洲、湘潭三市,是湖南省经济发展的核心增长极。长沙、株洲、湘潭三市沿湘江呈“品”字形分布,两两相距不足40公里,结构紧凑。
2007年,长株潭城市群获批为全国资源节约型和环境友好型社会建设综合配套改革试验区。长株潭城市群一体化是中部六省城市中全国城市群建设的先行者,被《南方周末》评价为“中国第一个自觉进行区域经济一体化实验的案例”。在行政区划与经济区域不协调之下,通过项目推动经济一体化,长株潭为其他城市群做了榜样,致力打造成为中部崛起的“引擎”之一。
2019年,长株潭地区生产总值16835.0亿元,比上年增长8.0%;
以上信息参考摘自长株潭城市群。
2、问题分析
虽然网上没有直接的长株潭地区的范围数据,但是通过上面的范围图,其实大概可以看到其行政区划边界由长沙湘潭市、株洲市三市共同组成。是否可以考虑通过行政区划合成的方式获取合成的边界信息,作为长株潭的范围信息呢?
可以用以下函数来表示:行政区划(长株潭)= 行政区划(长沙)+行政区划(株洲)+行政区划(湘潭)。由此可见,我们可以通过现有数据合成目标数据。
3、数据准备
这里以互联网分享得2021的湖南省市界行政区划数据为例,数据详情如下:
通过qgis软件可以看到这份数据的主要信息如下:
序号 | 参数 | 值 |
1 | 名称 | 湖南省_市界 |
2 | 文件格式 | ESRI Shapefile |
3 | 编码 | iso-8859-1 |
4 | 数据类型 | polygon(MultiPolygon) |
5 | 参考坐标系 | EPSG:4326 WGS84 |
将上述的空间数据在Qgis中打开如下图所示,这里可以看到,除了湖南省的地市信息,额外的还增加了临近省份的地市数据:
为方便查看,我们在地图上把具体的地市名字列出来,同时按照省份不同,用不同的颜色区分开。
4、地图标注和符号化
操作步骤:1、在数据中鼠标右键属性,打开属性窗口。在窗口中选择标注选项,默认的选项是无标注,这里我们要想把地市名显示出来,要进行简单标注。选择单一标注,选择需要标注的字段为name。
点击apply生效发现,地图上展示的是乱码,文字并没有正确展示。PS:这是文件的编码造成的,需要设置一些数据的源。
在源设置中,将数据编码设置为GBK或者UTF-8,一般这两种编码都能解决问题,上述这份数据需要选择GBK。点击apply生效后,发现显示正常。
为了对比明显,我们将地市按照不同省份分开。从图上的数据大致可以看到数据包含广东省、江西省、贵州省、湖北省、广西省的数据。
5、研究区域生成
在上面这众多的数据当中,我们只需要将长沙市、株洲市、湘潭市三个市的空间数据即可。所以可以利用qgis的过滤和导出功能,将目标地市刷选出来。同时将三个数据导出到外部作为外部数据。
操作步骤如下:1、鼠标右键点击图层的过滤按钮
在这个页面实现对数据的过滤,有点类似于数据库中的sql语句的概念。这里选择按照name属性进行过滤。过滤的语句如下:
"Name" in ('长沙市','湘潭市''株洲市')
点击测试,可以测试这条语句运行后会得到多少条数据,如下图返回3条,数据是准确的。选择点击OK进行加载。
一般到了这里,研究区域可视为合成完成。我们可以将数据导出成shp给别人使用。点击导出,另存要素为
对导出的数据设置相应的参数,参数设置如下:
参数名 | 值 |
格式 | ESRI Shapefile |
文件名称 | F:/xxxx/xxx.shp |
坐标参照系 | EPSG:4326 -WGS 84 |
字符编码 | UTF-8 |
6、全部融合
上面的数据内部依然包含了彼此的行政界限,有一些同学在实际使用过程中想把内部的边界也融合掉,看起来就是完整的一个整体。下面来介绍这种需求应该怎么来满足。在上面融合的数据基础上,我们采用矢量融合工具来进行数据融合。具体操作如下:
1、打开处理工具箱,如下图所示,在这里我们选择融合(dissolve):
参数设置完毕后,点击运行进行工具的运行。运行完毕后,三个边界内部界限会进行融合,最终生成一个完整的矢量面。
这里会有一个问题,融合后的边界是正确的,但属性信息有一定的丢失,这里只保留了长沙市,不过一般来说,我们仅需要处理边界信息,针对这些属性信息,我们会重新设计。也可以打开属性表进行属性数据的修改,甚至动态增减属性列。
序号 | 参数名 | 参数值 |
1 | gml_id | 数据id,1 |
2 | name | 名称,如长株潭城市群 |
3 | layer | 图层名,如市 |
4 | code | 430100000000 |
5 | grade | 2 |
7、生成地图
一般我们生成地图中还要进行必要的美化,这里我们简单的讲解一些基础的操作。
设置边线填充样式,鼠标点击图层数据,点击属性中的符号化,选择简单填充,同时设置简单填充的属性。这里我们设置填充颜色为浅黄色,填充样式为实线、描边颜色为红色,描边宽度,描边样式等等。
同时设置绘制效果,设置图件的阴影和外边框发光等样式。
通常一幅专题题还会包含指南针和比例尺等辅助信息。您可以新建一个打印窗口来进行地图的美化和配置。
总结
以上就是本文的主要内容,本文以长株潭城市群的矢量合成为例,详细讲解了如何基于Qgis工具,利用现有的行政区划数据进行研究区域的空间信息生成,同时简单的讲解了Qgis的制图功能。本文行文仓库,如有不当之处,请批评指正。
相关文章:

基于QGIS的长株潭城市群边界范围融合实战
背景 在面向区域的研究过程中,比如一些研究区域,如果是具体的行政区划,比如具体的某省或者某市或者县,可以直接从国家官方的地理数据中直接下载就可以。但如果并没有直接的空间数据那怎么办呢?比如之前遇到的一个场景&…...

【MySQL联合查询】轻松实现数据关联
1、联合查询 联合查询又称为多表查询,它的基本执行过程就是笛卡尔积 1.1 认识笛卡尔积 那么什么是笛卡尔积呢? 答:笛卡尔积就是将两张表放在一起进行计算,把第一张表的每一行分别取出来和第二张表的每一行进行连接,得到…...

Windows安装Ubuntu双系统
Windows安装Ubuntu双系统 1.下载Ubuntu 16.04,地址https://releases.ubuntu.com/16.04/ 2.下载Rufus,地址https://rufus.ie/zh/ 3.准备U盘,烧录系统 4.磁盘分区 5.重启,按住shift键 本人电脑是联想小新 Windows11系统࿰…...
【大数据之Hadoop】三十四、Hadoop综合调优之小文件优化方法
1 Hadoop小文件弊端 HDFS上每个文件都要在NameNode上创建对应的元数据,这个元数据的大小约为150byte,这样当小文件比较多的时候,就会产生很多的元数据文件,一方面会大量占用NameNode的内存空间,另一方面就是元数据文件…...

周赛 Round#3 题解
又不能放图片,又不能写学校,你让我怎么办啊!! 系列文章目录 1.周赛 Round#1 2.周赛 Round#2 前言 这是周赛第三轮。//涉及隐私原因,博文里不放题目,要看的去http://0241:101:610:801.22222 划分字符串贪…...

详解HTTPS加密过程
目录 前言 HTTPS是什么 HTTPS的工作过程 引入对称加密 引入非对称加密 引入证书 总结 前言 对于HTTP上篇文章已经做了详细的解释了。众所周知,HTTPS要比HTTP要安全,但是为什么HTTPS要比HTTP安全呢? 这篇文章主要研究HTTPS的加密机制…...

聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备
今日要闻:ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备;索尼正开发小尺寸折叠屏手机;万达辟谣大规模裁员;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…...

position:sticky-粘性吸附布局
一、描述 就是在一个滚动的容器里,将一个子元素设置为postion:sticky 在元素显示在可视区域内,显示的效果与position:relative 一致,当元素被滑动出可视区域外是,显示效果与position:fixed一致 二、注意事项 1、父元素需要存在滚动(overflow:auto&…...

【MySQL】-【数据库的设计规范】
文章目录 为什么需要数据库设计范式范式简介范式都包括哪些键和相关属性的概念第一范式(1st NF)第二范式(2nd NF)第三范式(3rd NF) 反范式化概述应用举例反范式化的新问题反范式的适用场景 BCNF(巴斯范式)案例案例一案例二 第四范式案例案例一案例二 第五范式、域键范式范式的实…...
全面解析缓存应用经典问题
1、前言 随着互联网从简单的单向浏览请求,发展为基于用户个性信息的定制化以及社交化的请求,这要求产品需要做到以用户和关系为基础,对海量数据进行分析和计算。对于后端服务来说,意味着用户的每次请求都需要查询用户的个人信息和…...

Java版本企业电子招采系统源码——信息数智化招采系统
信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stre…...

Rust每日一练(Leetday0005) 罗马数字、公共前缀、三数之和
目录 13. 罗马数字转整数 Roman to Integer 🌟 14. 最长公共前缀 Longest Common Prefix 🌟 15. 三数之和 3Sum 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日…...
【告别校园,迎接未来】
作为一个曾经的大学生,我的四年大学时光充满了起伏和挑战。回顾这段时光,我深刻认识到了自己的不足,同时也感悟了一些珍贵的人生经验和收获。 我是一个比较内向的人,进入大学后感觉有些孤独,难以适应新的环境和生活方…...

SaaS系统用户权限设计
SaaS系统用户权限设计 学习目标: 理解RBAC模型的基本概念及设计思路 了解SAAS-HRM中权限控制的需求及表结构分析完成组织机构的基本CRUD操作 完成用户管理的基本CRUD操作完成角色管理的基本CRUD操作 组织机构管理 需求分析 需求分析 实现企业组织结构管理࿰…...

我们为什么还要学习Altium Designer?
Altium Designe(简称“AD”)是电子设计领域中备受推崇的软件工具之一,拥有强大的功能和灵活的设计环境,也是要用最广泛的EDA工具之一,为电子工程师提供了无限可能,但很多工程师学完AD基本操作就转投其他EDA…...

Q1业绩整体回暖,影视行业找到增长新路径
凛冬已过,影视行业恢复了生机。 数据显示,今年一季度,影视院线板块全部上市公司分别实现营收、归母净利111.86亿元、10.15亿元,同比增幅为1.44%和53.76%。在经济复苏的背景下,影视行业实现了扭亏为盈和跨越式增长。 …...

Zabbix
概述 作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器…...

OpenHarmony支持HDMI接口声卡适配说明
高清多媒体接口(High Definition Multimedia Interface,HDMI )是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…...
AtCoder Beginner Contest 300G - P-smooth number解题报告
AtCoder Beginner Contest 300G - P-smooth number解题报告 1 题目链接 传送门 2 题目大意 题目:P-光滑数的数量 题目大意: 在 1 1 1 到 n n n 中,有多少个数的所有质因数均不超过 p ( p ≤ 100 ) p\ (p\leq100) p (p≤100)。 3 解…...

数据分析与预处理常用的图和代码
1.训练集和测试集统计数据描述之间的差异作图: def diff_color(x):color red if x<0 else (green if x > 0 else black)return fcolor: {color}(train.describe() - test.describe())[features].T.iloc[:,1:].style\.bar(subset[mean, std], alignmid, colo…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...