GIS 数据包含两部分 - 要素和属性。属性是有关每个要素的结构化数据。本教程介绍如何在 QGIS 中查看 GIS 矢量图层的属性并对其进行基本查询。
任务概述
本教程的数据集包含有关世界上人口稠密地区的信息。任务是查询并查找世界上人口超过 1 万的所有首都城市,并将生成的子集另存为 GeoJSON 文件。
您将学习的其他技能
-
使用表达式从图层中选择要素。
-
使用属性工具栏。
-
导出图层中的所选要素。
获取数据
自然地球提供人口稠密地区数据集。下载简单(较少列)数据集。
为方便起见,您可以从以下链接直接下载数据集的副本:
ne_10m_populated_places_simple.zip
数据来源 [自然地球]
程序
-
在QGIS浏览器中找到该文件并将其展开。选择文件并将其拖动到画布上。
ne_10m_populated_places_simple.zip
ne_10m_populated_places_simple.shp
-
现在将在 QGIS 中加载一个新图层,您将看到许多表示世界人口稠密地区的点。QGIS 画布中的默认视图显示 GIS 图层的几何。每个点还具有关联的属性。让我们看看它们。找到属性工具栏。此工具条包含许多用于检查、查看、选择和修改图层属性的有用工具。
ne_10m_populated_places_simple
注意
如果您没有看到工具栏,可以从视图 ‣ 工具栏 ‣ 属性工具栏启用它。
-
单击属性工具栏上的识别按钮。选择工具后,单击画布上的任意点。该点的关联属性将显示在新的识别结果面板中。浏览完不同点的属性后,可以单击关闭按钮。
-
我们可以将它们作为一个表一起查看,而不是一次查看一个要素的属性。单击属性工具条上的打开属性表按钮。您也可以右键单击图层,然后选择打开属性表。
ne_10m_populated_places_simple
-
您可以水平滚动并找到pop_max列。此字段包含关联地点的人口。您可以在字段标题上单击两次以按降序对列进行排序。
-
现在,我们已准备好对这些属性执行查询。QGIS使用类似SQL的表达式来执行查询。单击使用表达式选择要素按钮。
-
在按表达式选择窗口中,展开字段和值部分,然后双击标签。您会注意到它已添加到底部的表达式部分。如果不确定字段值,可以单击所有唯一按钮以查看数据集中存在的属性值。在本练习中,我们希望查找人口大于 1 万的所有要素。因此,请按如下方式完成表达式,然后单击选择要素,然后单击关闭。
pop_max
"pop_max" > 1000000
注意
在 QGIS 表达式引擎中,带双引号的文本引用字段,带单引号的文本引用字符串值。
-
您会注意到属性表中的某些行现已选中。标注窗口也会更改并显示所选要素的计数。
-
关闭属性表窗口并返回到主 QGIS 窗口。您会注意到,点的子集现在以黄色呈现。这是我们查询的结果,所选点是属性值大于 的点。
pop_max
1000000
-
让我们更新我们的查询,以包括一个条件,即除了人口超过 1 万之外,该地点还应是首都。要快速进入表达式编辑器,可以使用属性工具栏中的按表达式选择要素按钮。
-
包含有关大写字母数据的字段是 adm0cap。该值表示该地点是首都。我们可以使用 and 运算符将此条件添加到我们之前的表达式中。输入表达式如下,然后单击选择要素,然后单击关闭。
1
"pop_max" > 1000000 and "adm0cap" = 1
-
返回到 QGIS 主窗口。现在,您将看到所选点的较小子集。这是第二个查询的结果,显示数据集中作为国家/地区首府且人口超过 1 万的所有地点。
-
现在,我们将所选要素导出为新图层。右键单击图层,然后转到导出 ‣ 将所选要素另存为...
ne_10m_populated_places_simple
-
您可以选择您喜欢的任何格式作为格式。在本练习中,我们将选择 .GeoJSON 是一种基于文本的格式,广泛用于 Web 制图。单击文件名旁边的...按钮,然后输入作为输出文件。
GeoJSON
populated_capitals.geojson
-
输入数据包含许多列。您只能选择要导出的原始列的子集。展开选择要导出的字段及其导出选项部分。单击取消全选并选中 和 列。单击“确定”。
name
pop_max
-
QGIS中将加载一个新层。您可以取消选中图层以将其隐藏,并查看新导出图层中的点。
populated_capitals
ne_10m_populated_places_simple