基于QGIS的长株潭城市群边界范围融合实战

news2024/9/28 21:21:03

背景

        在面向区域的研究过程中,比如一些研究区域,如果是具体的行政区划,比如具体的某省或者某市或者县,可以直接从国家官方的地理数据中直接下载就可以。但如果并没有直接的空间数据那怎么办呢?比如之前遇到的一个场景,需要研究长株潭城市群内的各种设施布局,从长株潭城市群的整体来考虑进行设施布局合理性规划。

        在做如上的一个项目前,我们首先要明确和收集的数据便是长株潭城市群的空间边界信息。一般在一些管网机构都会提供关于城市群的范围设计图。这里采用一幅来自百度百科的图。然而下述这张图 仅仅是一张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):

         参数设置完毕后,点击运行进行工具的运行。运行完毕后,三个边界内部界限会进行融合,最终生成一个完整的矢量面。

         这里会有一个问题,融合后的边界是正确的,但属性信息有一定的丢失,这里只保留了长沙市,不过一般来说,我们仅需要处理边界信息,针对这些属性信息,我们会重新设计。也可以打开属性表进行属性数据的修改,甚至动态增减属性列。

序号参数名参数值
1gml_id数据id,1
2name名称,如长株潭城市群
3layer图层名,如市
4code430100000000
5grade2

 7、生成地图

        一般我们生成地图中还要进行必要的美化,这里我们简单的讲解一些基础的操作。

        设置边线填充样式,鼠标点击图层数据,点击属性中的符号化,选择简单填充,同时设置简单填充的属性。这里我们设置填充颜色为浅黄色,填充样式为实线、描边颜色为红色,描边宽度,描边样式等等。

         同时设置绘制效果,设置图件的阴影和外边框发光等样式。 

         通常一幅专题题还会包含指南针和比例尺等辅助信息。您可以新建一个打印窗口来进行地图的美化和配置。

 总结

        以上就是本文的主要内容,本文以长株潭城市群的矢量合成为例,详细讲解了如何基于Qgis工具,利用现有的行政区划数据进行研究区域的空间信息生成,同时简单的讲解了Qgis的制图功能。本文行文仓库,如有不当之处,请批评指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/546309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能Python-python3_len__

Python3 len()函数:使用方法和常见应用 在Python中,len()函数是一个内置函数,用于返回对象的长度或元素的个数。它适用于字符串、列表、元组、字典、集合等Python数据类型。在本篇文章中,我们将深入探讨Python3 len()函数的使用方…

C++ [STL之string模拟实现]

本文已收录至《C语言和高级数据结构》专栏! 作者:ARMCSKGT STL之string模拟实现 前言正文存储结构默认成员函数构造函数析构函数拷贝构造函数赋值重载 容量操作类获取字符串长度size获取当前容量capacity查询是否为空串emptyreserve扩容调整字符串大小si…

基于Freertos的ESP-IDF开发——6.使用DHT1温湿度传感器

基于Freertos的ESP-IDF开发——6.使用DHT1温湿度传感器 0. 前言1. DHT11驱动原理2. 完整代码3. 演示效果4. 其他FreeRtos文章 0. 前言 开发环境:ESP-IDF 4.3 操作系统:Windows10 专业版 开发板:自制的ESP32-WROOM-32E 准备一个DHT11温湿度传…

【Element-ui】el-table大数据量渲染卡顿问题

1、场景描述 在项目开发中,遇到在表格中一次性加载完的需求,且加载数量不少,有几百几千条,并且每条都可能有自己的下拉框,输入框来做编辑功能,此时普通的el-table肯定会导致浏览器卡死,那么怎么…

Windows10 双网卡配置,轻松实现内外互通

1 背景 我平常需要连接外网查阅资料,聊天等,做实验时需要将写到的代码打包部署到内网服务器中,所以需要频繁地切换内外网,修改静态网络配置。很是苦恼。 2 方法 最近,我找到了几种解决办法。 方法一、…

uniapp DIY可视化工具 控件拖拽工具怎么开发/拖拽库/模板引擎

uniapp DIY可视化工具 控件拖拽工具怎么开发 答:需要 (**拖拽库**) (**模板引擎**)代码自动生成 python有哪些模板引擎 Jinja2是一个小型但快速且易于使用的以纯python编写的独立模板引擎(最主要的模板)Chameleon是T…

深度学习之卷积神经网络(CNN)

大家好,我是带我去滑雪! 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的前馈神经网络,主要用于图像和视频识别、分类、分割和标注等计算机视觉任务。它主要由卷积层、池化层、全连接…

【开源、应用】QT—TCP网络上位机的设计

本文设计一个终端控制的上位机软件(如“设计目标”下图所示),可以和STM32、Adruino等通信实现无线局域网控制系统。 本文的通信内容和图表内容可以参考作者之前的文章 STM32ESP8266连接电脑Qt网络上位机——QT篇https://blog.csdn.net/qq_53…

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第六届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…

【JVM001】宋红康JVM字节码举例

宋红康JVM字节码举例 1 Integer package jvmT; public class IntegerTest {public static void main(String[] args) {Integer i 5;int y 5;System.out.println(iy); //trueInteger i6 5;Integer y6 5;System.out.println(i6y6);//trueInteger i5 128;Integer y5 128;System.…

SpringBoot中使用lombok

1.添加依赖 在项目的根目录中找到pom.xml&#xff0c;在dependencies下复制这段代码 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifac…

解决Python爬虫中selenium模块中的find_element_by_id方法无法使用

如有错误&#xff0c;敬请谅解&#xff01; 此文章仅为本人学习笔记&#xff0c;仅供参考&#xff0c;如有冒犯&#xff0c;请联系作者删除&#xff01;&#xff01; 我们在学习selenium模块的时候&#xff0c;经常会用到 browser.find_element_by_id命令&#xff0c;但随着se…

代码随想录算法训练营第四十六天 | bool的背包题,细节多

139.单词拆分 文档讲解&#xff1a;代码随想录 (programmercarl.com) 视频讲解&#xff1a;动态规划之完全背包&#xff0c;你的背包如何装满&#xff1f;| LeetCode&#xff1a;139.单词拆分_哔哩哔哩_bilibili 状态&#xff1a;不会做&#xff0c;不知道怎么把bool类型与背包…

推荐系统系列之推荐系统概览(下)

在推荐系统概览的第一讲中&#xff0c;我们介绍了推荐系统的常见概念&#xff0c;常用的评价指标以及首页推荐场景的通用召回策略。本文我们将继续介绍推荐系统概览的其余内容&#xff0c;包括详情页推荐场景中的通用召回策略&#xff0c;排序阶段常用的排序模型&#xff0c;推…

软件测试实验:loadrunner的高级使用

目录 前言实验目的实验内容实验要求实验过程loadrunner中插入事务与集合点loadrunner中插入检查点loadrunner中参数化-table分析报告功能loadrunner手动设置场景loadrunner监视图标 总结 前言 本实验主要介绍了loadrunner这一强大的性能测试工具的高级使用方法&#xff0c;包括…

python实现九宫格的车辆路径轨迹上位机界面

实验环境&#xff1a;wxFormBuilder v3.5 python3.7.5 MC9S12G128开发板 基本功能&#xff1a;控制开发板上的按键&#xff0c;模拟车辆移动的上下左右四个方位&#xff0c;通过can通信告诉上位机界面&#xff0c;车辆轨迹的移动方位&#xff1b; 1. python重新封装control…

技巧:jetbrain全家桶系列如何撤销已经提交本地仓库但还没push的commit

目录 1. 哎呀&#xff0c;不小心把不能提交的“机密”加入commit了2. 使用reset来修复的话要注意有坑&#xff0c;选Soft和Mixed&#xff0c;千万别选Hard和Keep3. 使用revert&#xff0c;只能修修补补&#xff0c;但commit还在&#xff0c;当然有好处是会留下使用痕迹&#xf…

异常处理机制

编程错误 编写程序时遇到的错误可大致分为 2 类&#xff0c;分别为语法错误和运行时错误。 语法错误 语法错误&#xff0c;也就是解析代码时出现的错误。当代码不符合Python语法规则时&#xff0c;Python解释器在解析时就会报出SyntaxError语法错误&#xff0c;与此同时还会…

服务(第二十六篇)redis的主从复制、哨兵、集群

主从复制&#xff1a; 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 原理&#xff1a; 主从关系确定…

[算法前沿]--009-HuggingFace介绍(大语言模型底座)

基础介绍 HuggingFace 是一家专注于自然语言处理(NLP)、人工智能和分布式系统的创业公司,创立于2016年。最早是主营业务是做闲聊机器人,2018年 Bert 发布之后,他们贡献了一个基于 Pytorch 的 Bert 预训练模型,即 pytorch-pretrained-bert,大受欢迎,进而将重心转向维护…