我国的公路按照行政级别可分为国道、省道、县道、乡道、村道和专用公路六个等级,其中,国道包括国家高速公路和普通国道,省道包括省级高速公路和普通省道。按照技术等级又可以分为高速公路、一级公路、二级公路、三级公路和四级公路五个等级。其中,高速公路以外的其他公路称为普通公路。(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实现道路分级可视化相关推荐

  1. 时空大数据可视化之道路交叉口可视化

    2019独角兽企业重金招聘Python工程师标准>>> 时空大数据可视化之道路交叉口可视化 道路交叉口的可视化设计如此之美,GIS就是发现美的眼睛.艺术家Nicholas Rouge ...

  2. Qgis入门指南+各种可视化地图

    目录 一.学习资源 1. 外网博客教程 2. Qgis插件网:QGIS Planet 3. 油管教程 二.可视化地图 1. OD流图(flow map) 2. 等值区域图(Choropleth map ...

  3. 用python依赖地图公司的API接口和SDK实现道路数据可视化分析

    今天我们用python来获取道路数据,并根据数据进行简化和可视化分析 当今社会每个人都离不开导航 除了开车用导航外,其实走路.骑车.公交都可以导航 选址和找餐厅.酒店也需要 如果一个城市能够标注所以公 ...

  4. 基于 QGIS 的气象数据可视化(一)

    基于 QGIS 的部分站点气温色斑图制作 QGIS 是一款开源.跨平台的桌面地理信息系统软件,支持众多的数据格式,用户界面良好.对于初步接触 GIS 的同学来说,QGIS 是一个不错的选择.本文简要讲 ...

  5. qgis自动获取建筑和道路矢量

    简介 QGIS是一个开源的地理信息软件,该平台拥有众多的实用插件.mapflow是一个进行遥感影像地物自动提取的qgis插件,可以一键提取影像中的耕地.建筑和道路等矢量. 使用准备 安装QGIS软件 ...

  6. 迈出数据安全建设的第一步|公安数据分类分级建设案例实践

    前言 从随处可见的移动新警务到蓬勃开展的大数据建设:从汗水警务向高效精准的现代警务机制变革--在科技兴警战略指导下,我国各级公安机关不断加快数字化转型步伐,警务数据成为重要资源.然而,警务数据规模急速 ...

  7. Arcgis基于格网的道路密度分析

    文章目录 前言 朴素和可靠的计数法: 实现过程 原始数据 环境准备 建立格网 让道路与格网在空间产生交集 分组统计 属性表连接 计算道路密度 道路密度可视化 总结 前言 在ArcGIS中,计算研究区域 ...

  8. 2015年可视化研究前沿动态

    2015年可视化研究前沿动态 注:本文为作者最近所看文献的一点总结,可能比较片面,比较粗糙,也有可能存在错误,望相关领域的各大神们多加指点:-). 利用Web of Science,分析当前可视化研究 ...

  9. 自行车租赁数据分析与可视化_自行车事故分析

    自行车租赁数据分析与可视化 简介: Business Problem (Introduction: Business Problem) This report will try to analyze ...

最新文章

  1. 考c语言三级需要什么软件,全国计算机三级网络技术上机考C语言的软件是什么哈?...
  2. C++11:move移动语义
  3. 嵌套函数中的this指向的对象
  4. html5 hgroup,HTML5 hgroup 标签
  5. HDU 3966-Aragorn's Story 树链剖分+树状数组
  6. 超详细windows安装mongo数据库、注册为服务并添加环境变量
  7. [js] 如何判断对象是否属于某个类?
  8. jupyter notebook 增加kernel的方法
  9. 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
  10. 360优化开机速度后慢了_提高电脑开机速度的优化技巧
  11. 资源 就是Tianmao项目里小部分备用 测试 的数据以及图片
  12. php中访问控制_php访问控制
  13. 一些蓝桥杯的简单模拟题目
  14. 计算机在聋校教学中有哪些作用,现代信息技术在聋校语文教学中的应用
  15. 企业微信oauth认证_OAuth验证接口
  16. 关于音频情感分类的随笔(5)
  17. MPDA:基于Domain Adaption的V2X协同感知(3D目标检测)
  18. 一个应用最广泛的营销分析工具
  19. 实现线程同步的几种方法
  20. filter- 配置多过滤url

热门文章

  1. [磁盘清理] Windows Server 2003 系统盘清理
  2. esp8266 OLED SSD1306程序集合
  3. LittleVGL踩坑指南03:Arduino下显示和触摸驱动配置(TFT_eSPI)
  4. layui富文本编辑器(layedit)的使用
  5. 《统计学:从数据到结论》学习笔记(part1)--统计学是收集、分析、展示和解释数据的科学
  6. 偏最小二乘回归 Matlab
  7. 7款知乎超10W人点赞的电脑软件,看看它都有哪些用处
  8. 【支付架构】银联额度映射
  9. 增加在线日语词典3个 - 最新版 - 超级网际搜索(SuperSearch) - 让思考从搜索开始!
  10. 考研数学武忠祥 高等数学0基础课笔记 函数和映射