Skip to content

47_垃圾处理量地图绘制 QGIS3

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

垃圾处理量地图绘制 (QGIS3)

本教程旨在帮助您探索 QGIS 中可用的新地图制作技术和制图工具。

任务概述

您将学习如何使用垃圾填埋场的点数据,创建一幅比例符号地图,以显示每个填埋场处理的垃圾量。

../../_images/output7.png

您将学到的其他技能

  • 使用 REST URL 在 QGIS 中导入 ArcGIS 服务器数据。
  • 在 QGIS 中从电子表格导入表格数据。

获取数据

您可以从开普敦开放数据门户 (https://odp-cctegis.opendata.arcgis.com) 找到本教程所需的数据。 我们将使用 ArcGIS Online REST 服务从该门户导入数据,并准备下面提到的三个图层。

  1. 行政区划: 一个包含开普敦行政区边界的多边形 shapefile。
  2. 垃圾填埋场: 一个包含开普敦当前、已关闭和拟建废物处理设施的点 shapefile。
  3. 垃圾处理数据: 一份包含进入城市处置设施的垃圾量的电子表格。

让我们一步步了解如何为本教程准备数据集。

  1. 前往数据门户:https://odp-cctegis.opendata.arcgis.com/search?tags=。我们将在搜索栏中搜索 Wards 数据,然后点击进一步浏览。

    ../../_images/db111.png 2. 点击“查看完整详情”,以探索可用于获取数据的服务。

    ../../_images/db26.png 3. 向下滚动,找到“查看数据源”并打开,点击它。

    ../../_images/db32.png 4. 在 ArcGIS REST 服务目录页面上,转到主页并复制该页面的 URL。复制的 URL 类似于:https://citymaps.capetown.gov.za/agsext1/rest/services

    ../../_images/db42.png 5. 现在,打开 QGIS 并转到“打开数据源管理器”。

    ../../_images/db52.png 6. 左侧面板中会看到数据源列表。向下滚动找到“ArcGIS REST Server”。点击“新建”以创建新的服务器连接。

    ../../_images/db61.png 7. 在连接详细信息中,将名称设置为 Cape Town Open Data Portal,并将复制的 URL 粘贴到 URL 输入框中。

    ../../_images/db71.png 8. 点击“确定”,然后点击“连接”以查看服务器中可用的数据文件夹。

    ../../_images/db81.png 9. 现在,我们将从数据库中搜索本教程所需的所有三个图层。首先,我们将在 QGIS 中打开 Wards 图层。展开文件夹浏览到图层。该图层的完整路径是:Theme_Based ‣ Open_Data_Service ‣ Ward。选择该图层并点击“添加”。

    ../../_images/db91.png 10. 在 QGIS 中打开 Landfill sites 图层。该图层的完整路径是:Theme_Based ‣ Open_Data_Service ‣ Landfill Sites And Refuse Transfer Stations。选择该图层并点击“添加”。

    ../../_images/db101.png 11. 现在,我们将在数据门户上搜索 Waste Disposal 电子表格。点击 Waste Disposal 数据链接下载文件。

    ../../_images/db112.png 12. 点击链接后,将下载名为 Waste Disposal September 2023.ods 的文件。打开该文件。该文件包含 3 个工作表,本教程将使用其中的 Disposal_per_Site 数据。

    ../../_images/db121.png 13. 我们将只保留每个站点的总处理量。添加一个名为 Disposal_per_Site_edited 的新工作表,并从 Disposal_per_Site 工作表中复制数据。编辑站点名称,移除括号,以匹配 Landfill sites 数据的属性。这些值是格式化的数字,将其更改为简单的十进制数。将其另存为本教程数据文件夹中的 waste_disposal_september2023.ods

    ../../_images/db131.png 14. 请注意,Bellville 有 3 个不同的站点,其中两个的处理量为零。让我们将其合并,只保留处理量为 非零 值的 Bellville 站点。

    ../../_images/db141.png 15. 切换到 QGIS。我们已经从 ArcGIS 服务器导入了 shapefile。让我们将其保存到本教程的本地数据文件夹中。右键单击 Landfill Sites And Refuse Transfer Stations 图层。转到导出 ‣ 另存为。

    ../../_images/db151.png 16. 在“将矢量图层另存为”对话框中,导航到数据文件夹,并将 shapefile 保存为 landfill_sites.shp。点击“确定”。

    ../../_images/db161.png 17. 类似地,将 ward 图层另存为数据文件夹中的 wards.shp。现在我们已经准备好了包含所有三个图层的数据文件夹,可以开始操作了。

    ../../_images/db171.png

为方便起见,您也可以直接下载这些文件的副本:

Wards.shp

landfill_sites.shp

waste_disposal_september2023.ods

操作步骤

  1. 打开 QGIS。点击“打开数据源管理器”图标添加图层。

    ../../_images/1158.png 2. 切换到“矢量”选项卡,导航到数据文件夹,选择 wards.shplandfill_sites.shp 文件。点击“添加”。

    ../../_images/2131.png 3. 打开 landfill_sites 图层的属性表。此图层包含开普敦所有的固体废物收集站点。您可以看到 STATUS 属性表示设施是否在运行。我们可以使用此列中的值来仅选择当前运行的设施。

    ../../_images/369.png 4. 右键单击 landfill_sites 图层并选择“过滤”。

    ../../_images/440.png

  2. 在查询构建器中,输入以下表达式并点击“确定”。 "STATUS" = 'Current'

    ../../_images/536.png

  3. 应用过滤器后,地图上将仅显示一部分点。接下来我们将添加 waste_disposal_september2023.ods 文件。点击“打开数据源管理器”图标,切换到“矢量”选项卡。通过点击文件名旁边的 ... 按钮来导航到该文件。点击“添加”。

    ../../_images/635.png 7. 在“选择要添加的项目”对话框中,选择 Disposal_per_Site_edited 项目,然后点击“添加图层”。

    ../../_images/735.png 8. 打开 waste_disposal_september2023 图层的属性表。此表包含设施名称以及 2023 年 9 月在该站点收集的垃圾总量。

    ../../_images/834.png 9. 让我们将此表与 landfill_sites 点图层连接起来。从菜单栏转到处理 ‣ 工具箱。

    ../../_images/935.png 10. 在工具箱中搜索并找到“按字段值连接属性”工具。双击打开它。

    ../../_images/1041.png

  4. 在“按字段值连接属性”对话框中,选择 landfill_sites 作为输入图层,NAME 作为表字段。选择 waste_disposal_september2023 作为输入图层 2,Disposal Site 作为表字段 2。 勾选“丢弃未能连接的记录”复选框。通过点击 ... 按钮保存连接后的图层,并选择“保存到文件”。

    ../../_images/1159.png

  5. 将输出图层命名为 waste_by_station_september_2023.shp,然后点击“运行”。

    ../../_images/1244.png

  6. 处理完成后,将添加一个新图层 waste_by_station_september_2023,其 Sept2023 列中将包含垃圾量。

    ../../_images/1342.png

  7. 现在让我们可视化这些数据。首先选择 Wards 图层,然后点击“打开图层样式面板”图标。

    ../../_images/1438.png

  8. 将此图层的符号设置为“单一符号”,并设置浅色填充颜色和描边颜色。

    ../../_images/1533.png

  9. 接下来选择 waste_by_station_september_2023 图层,并选择“简单标记”符号。点击“符号图层类型”的下拉菜单。

    ../../_images/1630.png

  10. 选择 填充标记 作为符号图层类型。我们现在将根据站点收集的垃圾量来改变符号的大小。为此,我们必须应用一个“数据定义覆盖”——它可以通过一个字段值或表达式来计算每个要素的大小。点击“大小”旁边的“数据定义覆盖”按钮,选择“助手”。

    ../../_images/1732.png

  11. 我们希望根据收集的垃圾量的值来确定填充符号的大小。选择 Sept2023 字段作为来源。将值范围设置为从 500050000。现在将圆圈的大小范围设置为从 125。点击返回图标。

    ../../_images/1827.png

  12. 您将看到每个点都有不同大小的圆圈。尺寸单位是毫米。数据定义覆盖按钮将变为黄色,表示已对该值应用了覆盖。

    ../../_images/1922.png

  13. 让我们探索更多高级样式选项。将符号图层类型更改为“Shapeburst 填充”。选择您喜欢的两种颜色,以渐变填充的方式渲染圆圈。

    ../../_images/2020.png

  14. 接下来,我们将对圆圈应用“阴影”效果,使它们在地图上更加突出。这些被称为“活动图层效果”。向下滚动并展开“图层渲染”部分。勾选“绘制效果”按钮,并点击星形按钮。

    ../../_images/2132.png

  15. 启用“阴影”选项。

    ../../_images/2221.png

  16. 地图现在看起来相当不错,但读者需要知道这些符号代表什么值。如果能有一个可解释的图例就更好了。点击返回按钮,直到回到主图层样式对话框。选择“标记”,点击底部的“高级”按钮。选择“数据定义大小图例”。

    ../../_images/2318.png

  17. 输入 收集的废物(吨) 作为标题,然后点击 + 按钮添加图例条目。由于我们的符号按因子 3 缩放,请输入适当的值和标签。您将在图层面板中看到一个漂亮的图例。如果您想根据此数据创建地图,相同的图例将可在“打印布局”中使用。

    ../../_images/2418.png

  18. 关闭图层样式面板。可视化效果已准备就绪。您学会了如何将表格数据转换为视觉信息丰富且具有吸引力的地图。

    ../../_images/2517.png


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