使用属性(QGIS3)

GIS数据包含两个部分-特征和属性。属性是有关每个功能的结构化数据。本教程介绍了如何查看GIS矢量层的属性以及如何在QGIS中对其进行基本查询。

内容说明

本教程的数据集包含有关世界人口稠密地区的信息。任务是查询并查找世界上所有人口超过100万的省会城市,并将结果子集另存为GeoJSON文件。

你还会学到这些

  • 使用表达式从图层中选择要素。

  • 使用 Attributes 工具栏。

  • 导出图层中选定的要素

获取数据

自然地球提供了 人口稠密的地方 数据集。下载 简单(较少列)数据集

为了方便起见,您可以直接从下面的链接下载数据集:

ne_10m_populated_places_simple.zip

数据来源 [NATURALEARTH]

操作过程

  1. 在QGIS浏览器中找到 ne_10m_populated_places_simple.zip 文件并将其打开。选择 ne_10m_populated_places_simple.shp 文件并将其拖到画布上。

../../_images/1133.png
  1. 现在将在QGIS中加载一个新的图层 ne_10m_populated_places_simple ,您将看到许多表示世界人口稠密地点的点。QGIS画布中的默认视图显示GIS层的几何形状。每个点还具有关联的属性。让我们来看看它们。找到 Attributes Toolbar 。该工具栏包含许多有用的工具,可用于检查,查看,选择和修改图层的属性。

../../_images/280.png

注解

如果看不到工具栏,则可以从 View ‣ Toolbars ‣ Attributes Toolbar 启用它

  1. 点击 Attributes Toolbar 上的 Identify 按钮。选择工具后,单击画布上的任意点。该点的相关属性将显示在新的 Identify Results 面板中。探索完不同点的属性后,可以单击 Close 按钮。

../../_images/345.png
  1. 与其一次查看一个功能的属性,不如将它们作为一个表格一起查看。点击 Attributes Toolbar 上的 Open Attribute Table 按钮。您还可以右键单击 ne_10m_populated_places_simple 层,然后选择 Open Attribute Table

../../_images/429.png
  1. 您可以水平滚动并找到 pop_max 列。该字段包含相关位置的人口。您可以在字段标题上单击两次以按降序对列进行排序。

../../_images/529.png
  1. 现在,我们准备对这些属性执行查询。QGIS使用类似SQL的表达式来执行查询。单击 Select features using an expression 按钮。

../../_images/628.png
  1. Select By Expression 窗口中,展开 Fields and Values 部分,然后双击 pop_max 标签。您会注意到它已添加到底部的表达式部分。如果不确定字段值,可以单击 All Unique 按钮以查看数据集中存在哪些属性值。对于本练习,我们正在寻找人口大于100万的所有要素。因此,请完成以下表达式,然后单击 Select Features,然后单击 Close

"pop_max" > 1000000
../../_images/728.png

注解

在QGIS Expression引擎中,带双引号的文本表示字段,而带单引号的文本表示字符串值。

  1. 您会注意到,现在已选择属性表中的某些行。标签窗口也会更改并显示所选功能的数量。

../../_images/827.png
  1. 关闭属性表窗口,然后返回到QGIS主窗口。您会注意到,点的子集现在显示为黄色。这是我们查询的结果,选定的点是 pop_max 属性值大于 1000000 的点。

../../_images/928.png
  1. 让我们更新查询以包括一个条件,即该地点除了人口超过100万以外,还应该是首都。要快速进入表达式编辑器,可以使用 Attributes Toolbar 中的 Select Features by Expression 按钮。

../../_images/1026.png
  1. 包含有关大写数据的字段是 adm0cap 。值 1 表示该地点是首都。我们可以使用 and 运算符将此条件添加到先前的表达式中。输入如下表达式,然后单击 Select features ,然后单击 Close

"pop_max" > 1000000 and "adm0cap" = 1
../../_images/1134.png
  1. 返回到QGIS主窗口。现在,您将看到所选点的较小子集。这是第二个查询的结果,并显示了数据集中国家资本以及人口大于一百万的所有地点。

../../_images/1228.png
  1. 现在,我们将选择的要素导出为新图层。右键单击 ne_10m_populated_places_simple 图层,然后转到 Export ‣ Save Selected Features As…

../../_images/1327.png
  1. 您可以选择自己喜欢的任何格式 Format。 在本练习中,我们将选择 GeoJSON 。GeoJSON是一种基于文本的格式,在Web映射中广泛使用。单击文件名旁边的 按钮,然后输入 populated_capitals.geojson 作为输出文件。

../../_images/1426.png
  1. 输入数据有很多列。您只能选择原始列的一部分进行导出。展开 Select fields to export and their export options。单击 Deselect All 然后检查 名称pop_max 列。点击 OK

../../_images/1525.png
  1. 将在QGIS中加载新的 populated_capitals 层。您可以取消选中 ne_10m_populated_places_simple 图层以将其隐藏并查看新导出图层中的点。

../../_images/1622.png