使用属性(QGIS3)¶
GIS数据包含两个部分-特征和属性。属性是有关每个功能的结构化数据。本教程介绍了如何查看GIS矢量层的属性以及如何在QGIS中对其进行基本查询。
内容说明¶
本教程的数据集包含有关世界人口稠密地区的信息。任务是查询并查找世界上所有人口超过100万的省会城市,并将结果子集另存为GeoJSON文件。
你还会学到这些¶
使用表达式从图层中选择要素。
使用 Attributes 工具栏。
导出图层中选定的要素
获取数据¶
自然地球提供了 人口稠密的地方 数据集。下载 简单(较少列)数据集
为了方便起见,您可以直接从下面的链接下载数据集:
ne_10m_populated_places_simple.zip
数据来源 [NATURALEARTH]
操作过程¶
在QGIS浏览器中找到
ne_10m_populated_places_simple.zip
文件并将其打开。选择ne_10m_populated_places_simple.shp
文件并将其拖到画布上。
现在将在QGIS中加载一个新的图层
ne_10m_populated_places_simple
,您将看到许多表示世界人口稠密地点的点。QGIS画布中的默认视图显示GIS层的几何形状。每个点还具有关联的属性。让我们来看看它们。找到 Attributes Toolbar 。该工具栏包含许多有用的工具,可用于检查,查看,选择和修改图层的属性。
注解
如果看不到工具栏,则可以从
启用它点击 Attributes Toolbar 上的 Identify 按钮。选择工具后,单击画布上的任意点。该点的相关属性将显示在新的 Identify Results 面板中。探索完不同点的属性后,可以单击 Close 按钮。
与其一次查看一个功能的属性,不如将它们作为一个表格一起查看。点击 Attributes Toolbar 上的 Open Attribute Table 按钮。您还可以右键单击
ne_10m_populated_places_simple
层,然后选择 Open Attribute Table 。
您可以水平滚动并找到 pop_max 列。该字段包含相关位置的人口。您可以在字段标题上单击两次以按降序对列进行排序。
现在,我们准备对这些属性执行查询。QGIS使用类似SQL的表达式来执行查询。单击 Select features using an expression 按钮。
在 Select By Expression 窗口中,展开 Fields and Values 部分,然后双击
pop_max
标签。您会注意到它已添加到底部的表达式部分。如果不确定字段值,可以单击 All Unique 按钮以查看数据集中存在哪些属性值。对于本练习,我们正在寻找人口大于100万的所有要素。因此,请完成以下表达式,然后单击 Select Features,然后单击 Close。
"pop_max" > 1000000
注解
在QGIS Expression引擎中,带双引号的文本表示字段,而带单引号的文本表示字符串值。
您会注意到,现在已选择属性表中的某些行。标签窗口也会更改并显示所选功能的数量。
关闭属性表窗口,然后返回到QGIS主窗口。您会注意到,点的子集现在显示为黄色。这是我们查询的结果,选定的点是
pop_max
属性值大于1000000
的点。
让我们更新查询以包括一个条件,即该地点除了人口超过100万以外,还应该是首都。要快速进入表达式编辑器,可以使用 Attributes Toolbar 中的 Select Features by Expression 按钮。
包含有关大写数据的字段是 adm0cap 。值
1
表示该地点是首都。我们可以使用 and 运算符将此条件添加到先前的表达式中。输入如下表达式,然后单击 Select features ,然后单击 Close。
"pop_max" > 1000000 and "adm0cap" = 1
返回到QGIS主窗口。现在,您将看到所选点的较小子集。这是第二个查询的结果,并显示了数据集中国家资本以及人口大于一百万的所有地点。
现在,我们将选择的要素导出为新图层。右键单击
ne_10m_populated_places_simple
图层,然后转到
您可以选择自己喜欢的任何格式 Format。 在本练习中,我们将选择
GeoJSON
。GeoJSON是一种基于文本的格式,在Web映射中广泛使用。单击文件名旁边的 … 按钮,然后输入populated_capitals.geojson
作为输出文件。
输入数据有很多列。您只能选择原始列的一部分进行导出。展开 Select fields to export and their export options。单击 Deselect All 然后检查
名称
和pop_max
列。点击 OK 。
将在QGIS中加载新的
populated_capitals
层。您可以取消选中ne_10m_populated_places_simple
图层以将其隐藏并查看新导出图层中的点。