Skip to content

05_QGIS3 基础矢量样式设置

原文链接: https://www.qgistutorials.com/en/docs/3/basic_vector_styling.html

基础矢量样式设置 (QGIS3)

要创建地图,必须对 GIS 数据进行样式设置,并以视觉上信息丰富的形式呈现。QGIS 提供了大量选项,可以为底层数据应用不同类型的符号系统。在本教程中,我们将使用一个文本文件,并应用不同的数据可视化技术来突出数据中的空间模式。

任务概述

我们将使用一个包含全球所有发电厂位置的 CSV 文件,并创建一个可视化效果,展示这些发电厂使用的可再生燃料和不可再生燃料的分布情况。

您将学到的其他技能

  • 使用表达式将多个属性值分组到单个类别中

获取数据

世界资源研究所 编制了一个全面的、开放源码的全球发电厂数据库,涵盖了 30000 多座发电厂。从 WRI 开放数据门户下载 全球发电厂数据库

Natural Earth 提供了多个全球矢量图层。下载包含陆地多边形的 10m 物理矢量 - 陆地

为方便起见,您也可以直接从下方下载上述图层的副本:

globalpowerplantdatabasev120.zip

ne_10m_land.zip

数据来源 [WRI] [NATURALEARTH]

操作步骤

  1. 将两个数据集解压到电脑上的一个文件夹中。在 QGIS 浏览器面板中,定位到解压数据的目录。展开 ne_10m_land 文件夹,选择 ne_10m_land.shp 图层。将其拖放到画布上。

../../_images/117.png

  1. 图层面板中将添加一个新图层 ne_10m_land。全球发电厂数据库是一个 CSV 文件,所以我们需要导入它。点击数据源工具栏上的“打开数据源管理器”按钮。也可以使用 Ctrl + L 键盘快捷键。

../../_images/214.png

  1. 在“数据源管理器”窗口中,切换到“分隔文本”标签页。点击“文件名”旁边的 … 按钮,浏览到解压 globalpowerplantdatabasev120.zip 文件的目录。选择 global_power_plant_database.csv。QGIS 会自动检测分隔符和几何字段。将“几何图形 CRS”保持为默认值 EPSG:4326 - WGS84。点击“添加”,然后点击“关闭”。

../../_images/313.png

  1. 一个新图层 global_power_plant_database 将被添加到图层面板中,并且您将在画布上看到表示发电厂的点。现在我们可以对这两个图层进行样式设置了。点击图层面板顶部的“打开图层样式化面板”按钮。

../../_images/43.png

  1. “图层样式化”面板将在右侧打开。首先选择 ne_10m_land 图层。这将是我们的底图图层,因此我们可以保持样式简约,以免分散注意力。点击 简单填充 并向下滚动。根据您的喜好选择一种填充颜色。点击“描边颜色”旁边的下拉菜单,选择 透明描边。这将把陆地多边形的轮廓设置为透明。您会看到选择的结果立即应用到图层上。

../../_images/53.png

  1. 接下来选择 global_power_plant_database 图层。点击 简单标记 并向下滚动。选择一个三角形标记。

../../_images/63.png

  1. 向上滚动,选择您喜欢的填充颜色。一个有用的制图技巧是选择比填充颜色稍深的颜色作为描边颜色。与其手动选择,不如使用 QGIS 提供的表达式来更精确地控制。点击“数据定义的覆盖”按钮并选择“编辑”。

../../_images/73.png

  1. 输入以下表达式,将颜色设置为比填充颜色深 30% 的色调,然后点击“确定”。

bash darker(@symbol_color, 130)

../../_images/83.png

注意

请注意,此表达式独立于您选择的填充颜色。在接下来的步骤中,您会发现它非常有用,因为它会根据提供的填充颜色自动设置边框颜色。

  1. 您会注意到“描边颜色”旁边的“数据定义的覆盖”按钮变成了黄色——表示此属性受覆盖控制。发电厂图层的单一符号渲染不是很有用。除了发电厂的位置之外,它没有传达太多信息。让我们使用不同的渲染器使其更有用。点击“符号系统”下拉菜单,选择 分类 渲染器。

../../_images/93.png

  1. global_power_plant_database 图层包含一个属性,指示每个发电厂使用的主要燃料。我们可以创建一个样式,其中每种不同的燃料类型以不同的颜色显示。选择 primary_fuel 作为“列”。点击“分类”。您将看到出现多个类别,地图渲染也相应改变。

../../_images/106.png

  1. 虽然分类视图很有用,但此图层包含的类别太多,无法有意义地解读地图。更好的方法是将某些类型的燃料类别分组,以减少类别数量。让我们尝试创建 3 个类别 - 可再生燃料不可再生燃料其他。选择 基于规则 的渲染器。我们希望删除顶部以外的所有类别。选择从顶部开始的第二个类别,按住 Shift 键并点击底部类别。这将选择除顶部类别之外的所有类别。选择后,点击“移除选定规则”按钮将其删除。

../../_images/118.png

  1. 选择剩余的规则,然后点击“编辑当前规则”。

../../_images/126.png

  1. 输入 可再生燃料 作为“标签”。点击“过滤器”旁边的“表达式”按钮。

../../_images/135.png

  1. 在“表达式字符串构建器”对话框中,输入以下表达式,然后点击“确定”。这里我们将多个可再生能源类别分组到一个类别中。

bash "primary_fuel" IN ('Biomass', 'Geothermal', 'Hydro', 'Solar', 'Wind', 'Storage', 'Wave and Tidal')

../../_images/145.png

注意

选择可再生与不可再生类别的燃料类型是基于 维基百科。可能存在其他定义和分类,可能与这里选择的不一致。

  1. 向下滚动并点击“简单标记”。选择合适的填充颜色。完成后,点击“返回”按钮。

../../_images/155.png

  1. 您将看到一个规则被应用到图层的“可再生燃料”类别。右键点击该行并选择“复制”。再次右键点击并选择“粘贴”。

../../_images/165.png

  1. 将添加现有规则的副本。选择新添加的行,然后点击“编辑当前规则”。

../../_images/175.png

  1. 输入 不可再生燃料 作为“标签”。点击“过滤器”旁边的“表达式”按钮。

../../_images/183.png

  1. 在“表达式字符串构建器”对话框中,输入以下表达式,然后点击“确定”。

bash "primary_fuel" IN ('Coal', 'Gas', 'Nuclear', 'Oil', 'Petcoke')

../../_images/193.png

  1. 向下滚动并点击“简单标记”。选择合适的填充颜色。完成后,点击“返回”按钮。

../../_images/203.png

  1. 重复复制/粘贴过程以添加第三条规则。选择它并点击“编辑当前规则”。

../../_images/215.png

  1. 输入 其他 作为“标签”。选择“否则 - 捕获所有其他要素”来代替“过滤器”。这将确保前 2 条规则中遗漏的任何类别,都将由此规则进行样式设置。向下滚动并点击“简单标记”。选择合适的填充颜色。完成后,点击“返回”按钮。

../../_images/223.png

  1. 重新分类现在完成了。您将看到一个更清晰的视图,显示了发电厂使用的可再生与不可再生燃料的分布及其在各国的分布情况。然而,这并不能提供完整的图景。我们可以向样式添加另一个变量。与其用统一大小显示所有标记,不如将大小显示为与每个电厂的发电容量成比例。这种制图技术称为多变量映射。右键点击 可再生燃料 规则并选择“更改大小”。

../../_images/233.png

  1. 点击“大小”旁边的“数据定义的覆盖”按钮。选择“编辑”。

../../_images/243.png

  1. 由于我们数据集中发电容量差异很大,获得较小尺寸范围的有效方法是使用 log10 函数。您可以尝试不同的表达式,以获得最适合您首选可视化的效果。输入以下表达式,然后点击“确定”。

bash log10("capacity_mw") + 1

../../_images/253.png

  1. 为其他规则重复相同的过程。

../../_images/262.png

  1. 满意后,您可以关闭“图层样式化”面板。

../../_images/273.png

  1. 观察最终的可视化效果,您可以立即发现数据集中的模式。例如,在欧洲,使用可再生能源的发电厂更多,但它们的容量低于使用不可再生能源的发电厂。

../../_images/283.png


如果您想提供反馈或分享您学习本教程的经验,请在下方留言。(需要 GitHub 账户)