使用QGIS实现道路分级可视化
我国的公路按照行政级别可分为国道、省道、县道、乡道、村道和专用公路六个等级,其中,国道包括国家高速公路和普通国道,省道包括省级高速公路和普通省道。按照技术等级又可以分为高速公路、一级公路、二级公路、三级公路和四级公路五个等级。其中,高速公路以外的其他公路称为普通公路。(GBT 917-2017)
对于城市道路,依据《城市道路交通规划设计规范》(GB50220-95)和《城市道路设计规范》(CJJ37-90)进行等级划分,一般分为快速路、主干道、次干道和支路4级。
如何将这些道路等级可视化,形成电子地图的骨架呢?本文以郑州城市道路为例,使用QGIS颜色道路分级可视化的过程。
01 示范数据
本文选用OpenStreetMap下载的部分郑州区域道路为例,依照高德地图路网的风格演示道路分级可视化的过程。示范数据网盘地址为:
链接: https://pan.baidu.com/s/12_SIwK7dAAmDknZ1Ot-RGA
提取码: k9w4
02 数据预处理
打开数据
启动QGIS,点击工具栏的【添加矢量图层】按钮,在对话框中 【矢量】标签->【源】->【矢量数据源】右侧的【…】浏览到下载的OSM-zhengzhou.gpkg文件,点击下方的【添加】按钮,选中“lines”和“polygons”两个图层,点击【OK】添加到地图窗口。
关闭数据源管理器,回到地图主窗口,可以看到示范数据如下:
在图层面板取消勾选“polygons”,暂时隐藏面图层。点击 【打开图层样式面板】按钮,打开图层样式面板。
道路分级
双击规则列表中“未过滤”或者选中后点击下方的 【编辑当前规则】按钮,进入编辑规则面板:
在【标注】填入规则名称,此处为“高速公路”,点击【过滤器】右侧的 ,在表达式字符串构建器中输入如下表达式,得到高速公路要素集合:
"highway" in ( 'motorway' , 'motorway_link' )
关闭表达式字符串构建器,高速公路要素如下:
点击返回,然后点击
按钮增加新的规则,进入编辑规则面板,输入名称“国道&快速路”,点击
,在表达式字符串构建器中输入如下表达式得到国道和快速路:
"highway" in ( 'trunk' , 'trunk_link' )
同样步骤输入下列表达式,将主干道、次干道、其他道路添加到规则中:
主干道
"highway" in ( 'primary' , 'primary_link' )
次干道
"highway" in ( 'secondary' , 'secondary_link', 'tertiary' , 'tertiary_link' )
其他道路
"highway" in ( 'cycleway' , 'footway' , 'living_street' , 'residential' , 'steps' , 'unclassified' , 'service' )
道路分级后效果如下:
图中各等级道路的颜色为系统随机分配,如果大家的地图颜色不同,不用介意,下面将介绍不同等级道路的符号设置。
03 道路分级线型符号
道路等级的区分,主要依靠不同的线型符号,即不同线条组合、颜色和宽度,表现出道路在网络中的重要程度、通行能力和道路功能。电子地图中,根据地图比例尺层级,使用不同层次线条组合、颜色、宽度的搭配,形成风格迥异的地图,而这些风格的设计不仅要符合地图制图学规范,也要有一定的审美需求,是地理空间表达和艺术的结合。
在电子地图中,道路要素的线型通常由两个符号图层(symbol layer)组成:位于底层的符号图层较宽,颜色较深,常用实线,用于表达道路的边框;位于上层的符号图层较窄,颜色较浅,可用实线或者虚线。这种线型又叫“带边框的线条(cased lines”),QGIS默认的线型库中topo main road、topo road属于此类线型符号:
本文的主旨并不是从头设置道路符号,而是使用QGIS模仿高德地图路网风格,演示城市道路分级符号的设置过程。
我们先看看如何设置高速公路线型符号。
选中“lines”图层,在图层样式面板的规则列表双击“高速公路”,进入编辑规则页面:
仔细观察类似比例尺层级下高德地图的路网符号,其中高速公路为 ,参数如下:
线颜色:
(RGB:248, 171, 67);
边框颜色:
(RGB:237, 159, 52);
线宽:10 px;
边框宽度:1 px。
在编辑规则页面中嵌入了符号选择器组件(Symbol selector widget),通过这个界面可以为该规则选择预定义符号库中的符号,或者根据需要自定义新的线状符号:
点击右侧的 按钮,添加一个符号图层,设置类型为“简单线条”:
选择第一个“简单线条”符号图层,调整如下属性:
颜色:RGB值248, 171, 67;
描边宽度:9像素;
其他参数保持默认。
选择第二个 “简单线条”符号图层,调整如下属性:
颜色:道路边框颜色,RGB值237, 159, 52;
描边宽度:10像素;
其他参数保持默认。
注意,这两个符号图层的顺序非常重要,位于上方的第一个符号图层宽度为9像素,位于下方的符号图层宽度为10像素,两者之间存在1像素宽度差值,形成颜色较深、宽度为1像素的边框效果。
同样步骤使用各个道路等级参数设置国道、主干道、次干道和其他道路的线型符号,在这里不一一演示,具体可打开示范数据的工程文件gaode.qgz查看。
04 转弯和端点
“连接样式”和“端点样式”提供对线型转弯处和连接处的细节处理。
“连接样式”控制一条线段在转弯处的绘制方式,有三个选项:斜角、尖角和圆角,下图是对比效果:
简单线型默认情况下选择“连接方式”为“斜角”,在电子地图道路符号设计中,一般选择“圆角”。
“端点样式”控制线条端点的绘制方式,分为三种:方角、扁平和圆角,效果如下:
简单线型默认端点样式为“方角”,从上图效果可以看出,对于带边框的道路,采用“扁平”端点样式绘制效果较好。
将高速公路、国道&快速路、主干道、次干道和其他道路线型的“连接方式”和“端点样式”设置完毕后,得到路网效果如下:
05 解决压盖和交叉口
注意到上图中箭头所指的地方,道路出现相互压盖,并且立交桥的出入口表示错误,这是因为道路的绘制顺序是随机的,后绘制的要素叠在前面绘制的要素上方,就出现了与实际情况不符的压盖现象,例如普通道路盖住了高架,所以需要控制要素绘制的顺序,在QGIS中用【符号水平】实现。
在图层样式面板下方,点击【符号水平…】按钮,进入符号水平面板。
符号水平定义符号图层的渲染顺序,是一个表格形式的参数设置界面,行表示当前图层的线型符号,列是符号图层。方格内的数字表示符号图层绘制通道,数字越小,越先绘制,数字越大,越后绘制,同一个地点最后绘制的符号将压盖之前绘制的符号。绘制通道相同(即数字相同)的符号图层,其绘制的先后顺序随机(也有说法是按照要素入库顺序,我没找到文档证实)。默认时所有要素的绘制通道为0。
列名表示符号图层,以“图层”+数字开头,一个符号如果由多个符号图层组成,就从下到上以整数编号,从0开始依次递增。
因此,我们应该给在地面以上的道路一个比较大的绘制通道(即数字大),穿行于地下的道路应设置一个相对较小的绘制通道,以保证符号的渲染顺序。绘制通道可根据需要选择任意整数(但不能是小数),只要保证道路层级的关系正确即可。
具体到本例,按照道路的重要程度(从高到低为高速公路、国道&快速路、主干道、次干道、其他道路),设置绘制通道如下:
观察地图的效果,在当前比例尺下基本与实际情况一致。
当前比例尺立体交叉的道路可以不区分层级,但是使用比较大比例尺,可以清晰看到立交桥的出入口时,应注意主路与辅助道路、连接道路之间的上下关系,下图中的立体交叉效果与实际情况是不符的:
实际情况是这样的:
要正确表达出交叉口的道路情况,需要借助属性表中的“layer”字段将桥梁的层级和地下通道标识出来,规则可参考下图:
规则设置完成后,根据道路、桥梁、地下隧道的绘制顺序在符号水平中输入相应的渲染通道即可。
版权声明
本文欢迎转载,转载时请注明出处。
使用QGIS实现道路分级可视化相关推荐
- 时空大数据可视化之道路交叉口可视化
2019独角兽企业重金招聘Python工程师标准>>> 时空大数据可视化之道路交叉口可视化 道路交叉口的可视化设计如此之美,GIS就是发现美的眼睛.艺术家Nicholas Rouge ...
- Qgis入门指南+各种可视化地图
目录 一.学习资源 1. 外网博客教程 2. Qgis插件网:QGIS Planet 3. 油管教程 二.可视化地图 1. OD流图(flow map) 2. 等值区域图(Choropleth map ...
- 用python依赖地图公司的API接口和SDK实现道路数据可视化分析
今天我们用python来获取道路数据,并根据数据进行简化和可视化分析 当今社会每个人都离不开导航 除了开车用导航外,其实走路.骑车.公交都可以导航 选址和找餐厅.酒店也需要 如果一个城市能够标注所以公 ...
- 基于 QGIS 的气象数据可视化(一)
基于 QGIS 的部分站点气温色斑图制作 QGIS 是一款开源.跨平台的桌面地理信息系统软件,支持众多的数据格式,用户界面良好.对于初步接触 GIS 的同学来说,QGIS 是一个不错的选择.本文简要讲 ...
- qgis自动获取建筑和道路矢量
简介 QGIS是一个开源的地理信息软件,该平台拥有众多的实用插件.mapflow是一个进行遥感影像地物自动提取的qgis插件,可以一键提取影像中的耕地.建筑和道路等矢量. 使用准备 安装QGIS软件 ...
- 迈出数据安全建设的第一步|公安数据分类分级建设案例实践
前言 从随处可见的移动新警务到蓬勃开展的大数据建设:从汗水警务向高效精准的现代警务机制变革--在科技兴警战略指导下,我国各级公安机关不断加快数字化转型步伐,警务数据成为重要资源.然而,警务数据规模急速 ...
- Arcgis基于格网的道路密度分析
文章目录 前言 朴素和可靠的计数法: 实现过程 原始数据 环境准备 建立格网 让道路与格网在空间产生交集 分组统计 属性表连接 计算道路密度 道路密度可视化 总结 前言 在ArcGIS中,计算研究区域 ...
- 2015年可视化研究前沿动态
2015年可视化研究前沿动态 注:本文为作者最近所看文献的一点总结,可能比较片面,比较粗糙,也有可能存在错误,望相关领域的各大神们多加指点:-). 利用Web of Science,分析当前可视化研究 ...
- 自行车租赁数据分析与可视化_自行车事故分析
自行车租赁数据分析与可视化 简介: Business Problem (Introduction: Business Problem) This report will try to analyze ...
最新文章
- 考c语言三级需要什么软件,全国计算机三级网络技术上机考C语言的软件是什么哈?...
- C++11:move移动语义
- 嵌套函数中的this指向的对象
- html5 hgroup,HTML5 hgroup 标签
- HDU 3966-Aragorn's Story 树链剖分+树状数组
- 超详细windows安装mongo数据库、注册为服务并添加环境变量
- [js] 如何判断对象是否属于某个类?
- jupyter notebook 增加kernel的方法
- 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
- 360优化开机速度后慢了_提高电脑开机速度的优化技巧
- 资源 就是Tianmao项目里小部分备用 测试 的数据以及图片
- php中访问控制_php访问控制
- 一些蓝桥杯的简单模拟题目
- 计算机在聋校教学中有哪些作用,现代信息技术在聋校语文教学中的应用
- 企业微信oauth认证_OAuth验证接口
- 关于音频情感分类的随笔(5)
- MPDA:基于Domain Adaption的V2X协同感知(3D目标检测)
- 一个应用最广泛的营销分析工具
- 实现线程同步的几种方法
- filter- 配置多过滤url
热门文章
- [磁盘清理] Windows Server 2003 系统盘清理
- esp8266 OLED SSD1306程序集合
- LittleVGL踩坑指南03:Arduino下显示和触摸驱动配置(TFT_eSPI)
- layui富文本编辑器(layedit)的使用
- 《统计学:从数据到结论》学习笔记(part1)--统计学是收集、分析、展示和解释数据的科学
- 偏最小二乘回归 Matlab
- 7款知乎超10W人点赞的电脑软件,看看它都有哪些用处
- 【支付架构】银联额度映射
- 增加在线日语词典3个 - 最新版 - 超级网际搜索(SuperSearch) - 让思考从搜索开始!
- 考研数学武忠祥 高等数学0基础课笔记 函数和映射