地图由图层构成,为图层设定合适的样式,地图才能达成直观生动的可视化效果。QGIS提供了大量选项,用于为图层设置形形色色的符号(symbology)。本教程使用一个文本文件,采用各种可视化技术揭示文本数据中隐含的空间模式(spatial pattern)。
通过包含全世界发电厂位置信息的CSV文件,展示使用可再生燃料的发电厂与使用不可再生燃料的发电厂的空间分布情况。
使用表达式(expressions)将多个属性值分组为同一类别。
世界资源研究所(World Resources Institute,简称WRI)建立了涵盖全球近3万家发电厂的详实数据库,并且该数据库是开源的(根据《知识共享署名4.0国际许可协议(Creative Commons Attribution 4.0 International License)》获得许可),下载地址为:
datasets.wri.org/dataset/540dcf46-f287-47ac-985d-269b04bea4c6/resource/c240ed2e-1190-4d7e-b1da-c66b72e08858/download/globalpowerplantdatabasev120
自然地球数据集包含多个覆盖全球的矢量图层。下载1:1千万陆地矢量数据,下载地址为:
www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip
制作地图之前,请将您的QGIS软件界面设置为简体中文(如果您已经设置过了,可以忽略本节后续内容)。操作方式为:通过菜单【Settings】->【Options…】打开对话框,选择其中的【General】标签,找到“Override system locale”前面的复选框并打勾,在“User Interface Transaction”下拉框中找到并选择“简体中文”,单击【OK】,退出QGIS。重新启动QGIS后即可看到简体中文界面。
选择global_power_plant_database图层,点击【简单标记】,然后在下方的标记列表中选择三角形标记。
在【填充颜色】下拉列表中任意选择一种颜色。一个有用的制图技巧是,把描边颜色设置的比填充颜色略深一些。QGIS可以通过表达式精确设置颜色,替代手工设置。点击【描边颜色】下拉框右侧的【由数据定义覆盖】按钮,在弹出菜单中点击【编辑】。
输入以下表达式,设置描边颜色比填充颜色深30%,点击【OK】按钮。
备注:该表达式与设置的具体颜色无关。通过后续的步骤,将会发现这一点非常有用,因为无论选择怎样的填充颜色,描边颜色都会被自动设置为比填充颜色深30%。
【由数据定义覆盖】按钮此时将变为黄色,意味着描边颜色属性的设定值被通过表达式定义的数据覆盖了。使用简单标记展现发电厂图层有其局限性,除了反映发电厂的位置信息以外,并没有传达出其他有用信息。下面将增加新的标记方式,点击【符号化】下拉列表,选择【分类】。
global_power_plant_database图层包含标识发电厂所用主要燃料的属性字段primary_fuel。可以为该字段的每个取值设置一种不同的颜色。在【值】下拉列表中选择primary_fuel,然后点击【分类】按钮,该字段所有的取值都将作为一个类别出现,地图也相应发生了变化。
primary_fuel字段包含的分类取值非常多,造成地图上发电厂对象的颜色繁多,难以传达有效信息。可以将一定分类的取值合并为同一分类,减少分类数量。这里将发电厂分为三类:可再生燃料、不可再生燃料、其他。点击【符号化】下拉列表,选择【基于规则】。点击选中下方规则列表中的第二行,按住键盘上的Shift键,然后点击规则列表中的最后一行,从第二行到最后一行都将被选中,呈现为蓝色。点击【删除选中规则】按钮,删除选中的所有行。
选中剩下的那条规则,点击规则列表下方的【编辑当前规则】按钮。
在【标签】文本框中输入“可再生燃料”作为当前规则的标签,然后点击【过滤】右侧的【表达式】按钮。
在【表达式字符串构建器】对话框中输入以下表达式,然后点击【OK】按钮。这里将多个可再生燃料分类合并为同一分类。
"primary_fuel" IN ('Biomass', 'Geothermal', 'Hydro', 'Solar', 'Wind', 'Storage', 'Wave and Tidal')
备注:本文对可再生与不可再生燃料的分类参考了维基百科,您也可以使用其他的分类方式。
在下方的【符号】面板中,选择【简单标记】,然后选择一种填充颜色,设置完成后点击面板上方的【后退】按钮。
可以看出,各类可再生燃料发电厂都显示为相同的符号。用鼠标右键点击规则列表中的唯一行,在弹出菜单中点击【复制】,然后在规则列表空白处再次点击鼠标右键,在弹出菜单中点击【粘贴】。
选中规则列表中通过复制粘贴生成的第二行,点击规则列表下方的【编辑当前选中规则】按钮。
在【标签】文本框中输入“不可再生燃料”作为规则标签,然后点击【过滤】右侧的【表达式】按钮。
在【表达式字符串构建器】对话框中输入以下表达式,然后点击【OK】按钮。
"primary_fuel" IN ('Coal', 'Gas', 'Nuclear', 'Oil', 'Petcoke')
在下方的【符号】面板中,选择【简单标记】,然后选择一种填充颜色,设置完成后点击面板上方的【后退】按钮。
重复上述复制/粘贴步骤,添加第三个规则,选中该规则并点击规则列表下方的【编辑当前规则】按钮。
在【标签】文本框中输入“其他”作为规则标签,然后选中【否则 Catch-all for other features】单选按钮。这将确保所有未出现在前两条规则中的分类都将被列入第三条规则。在下方的【符号】面板中,选择【简单标记】,然后选择一种填充颜色,设置完成后点击面板上方的【后退】按钮。
至此,合并分类的任务已经完成,发电厂图层清晰地展示出可再生燃料发电厂、不可再生燃料发电厂、其他发电厂的空间分布状况。让我们更进一步,为发电厂图层的样式增加另一个变量(capacity_mw字段):将发电厂的符号大小设置成与发电量成正比。这在制图学中称作“多元制图(Multivariate mapping)”。用鼠标右键点击“可再生燃料”规则,在弹出菜单中点击【更改大小】。
点击弹出对话框最右侧的【由数据定义覆盖】按钮,在弹出菜单中点击【编辑】。
25.由于各发电厂的发电量数值差别巨大,可以通过log10函数减少符号大小之间的差异。在【表达式字符串构建器】对话框中输入以下表达式,然后点击【OK】按钮。
log10("capacity_mw") + 1
对不可再生燃料、其他两类规则进行同样的设置步骤。
设置完成后,关闭【图层样式】面板。
观察最终的可视化效果,一眼就可以看出发电厂的空间分布规律。例如,欧洲有很多使用可再生燃料的发电厂,但发电量普遍较不可再生燃料发电厂低。
本教程到此结束,祝宝宝们节日快乐!
吴建玲
2020年6月1日
版权声明
本文欢迎转载,转载时请注明出处。
本文主要翻译并改编自qgistutorials网站,原文链接为www.qgistutorials.com/en/docs/3/basic_vector_styling.html,原文已根据《知识共享署名4.0国际许可协议(Creative Commons Attribution 4.0 International License)》获得许可,在此向原文作者乌加尔·甘地(Ujaval Gandhi)致以敬意,感谢他为分享QGIS技术做出的贡献。
文章浏览阅读132次。Oracle 12cR1 RAC集群安装文档:Oracle 12cR1 RAC集群安装(一)--环境准备Oracle 12cR1 RAC集群安装(二)--使用图形界面安装Oracle 12cR1 RAC集群安装(三)--静默安装-------------------------------------------------------------------------------..._configuration type admin managed police managed
文章浏览阅读1.9w次,点赞106次,收藏109次。Go编程语言凭借其简洁、高效和可靠的特性,适用于各种项目开发。无论是网络编程、大数据处理、云计算、Web开发还是嵌入式系统,Go语言都能够提供出色的性能和可扩展性。希望本文能够帮助读者了解Go语言的优势,并在项目开发中做出明智的选择。如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot, spring cloud等系列文章,一系列干货随时送达!_go语言开发的项目有哪些
文章浏览阅读398次,点赞12次,收藏8次。在使用openlayers加载影像地图的过程中,遇到加载TMS标准的本地离线切片显示异常的问题,包括显示层级的异常,和我其他的数据无法对应的问题,查阅资料后发现是坐标系和0级地图分幅的问题,特此记录。解决方法也很简单,要么下载地图切片时候,选择和openlayers一致的0级别地图张数,要么通过openlayers代码进行调整,这里附一下第二种解决方法。查阅后发现问题主要在以下几点。_openalyers 加载tms标准瓦片
文章浏览阅读815次。默认情况高分屏下 UI 元素显得过小,因此需要调整界面的缩放比例。Ubuntu20.04 默认是 GNOME 桌面,GNOME 可以在 Settings>Displays(设置>显示)中开启 HiDPI 支持,以整数倍来调整屏幕比例。第二步:找到 %sudo ALL=(ALL:ALL) ALL 这一行,修改为 %sudo ALL=(ALL:ALL) NOPASSWD:ALL。为了避免每次使用 sudo 命令时都输入密码,我们可以将密码关闭。关闭 sudo 密码。_ubuntu高分辨率缩放
文章浏览阅读483次,点赞8次,收藏9次。使用GeoScene Pro发布托管要素服务_geoscene pro托管
文章浏览阅读1.4w次。云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。云容器引擎提供Kubernetes原生API,支持使用kubectl,且提供图形化控制台,让您能够拥有完整的端到端使用体验,使用云容器引擎前,建议您先了解相关的基本概念。集群(Cluster)集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群_cce
文章浏览阅读1.8k次。认识 Socket.IO在Veu3内的使用方法 掌握Socket.IO内事件名 和 Socket.IO方法_vue3 websocket
文章浏览阅读452次。当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。_jek分布式安装部署策略
文章浏览阅读1.1k次。在Windows下使用breakpad的方法很简单,只需要创建一个ExceptionHandler的类即可1.进程内抓取Dump文件进程内抓取Dump文件是最简单的breakpad的用法。使用方法很简单:const std::wstring s_strCrashDir = L"c:\dumps"; bool InitBreakpad(){ google_breakpad::Exce..._breakpad rtlcapturecontext
文章浏览阅读1.8k次。http://blog.csdn.net/hui_0924/article/details/5877981在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。 数据库用户一般可分为用户组,_sql赋权
文章浏览阅读504次,点赞6次,收藏10次。torch.where用法介绍_torch.where
文章浏览阅读7.7k次。IBM存储产品常见问题汇总 一、DS3000DS3000微码v06.70.24.00升级指南主要介绍了DS3000相关部件的微码升级步骤,以及相关注意事项: 主要内容包括: 一.相关链接: 二.微码v06.70.24.00新特性: 三.限制及注意事项: 四.升级微码步骤概述: 升级存储系统 升级ESM 模块微码_ibm服务器更护热备盘