背景
在面向区域的研究过程中,比如一些研究区域,如果是具体的行政区划,比如具体的某省或者某市或者县,可以直接从国家官方的地理数据中直接下载就可以。但如果并没有直接的空间数据那怎么办呢?比如之前遇到的一个场景,需要研究长株潭城市群内的各种设施布局,从长株潭城市群的整体来考虑进行设施布局合理性规划。
在做如上的一个项目前,我们首先要明确和收集的数据便是长株潭城市群的空间边界信息。一般在一些管网机构都会提供关于城市群的范围设计图。这里采用一幅来自百度百科的图。然而下述这张图 仅仅是一张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的制图功能。本文行文仓库,如有不当之处,请批评指正。