属性的操作¶
警告
This tutorial is now obsolete. A new and updated version is available at 使用属性(QGIS3)
GIS 资料可解构成两个层级──图征(Features)及属性(Attributes),而属性就是图征的结构化资料。本教学将示范如何浏览这些属性,以及在 QGIS 中对属性执行基本的查询操作。
内容说明¶
这次教学使用的资料是所有世界上有人住的地方。我们要从这当中找出所有人口大于 1,000,000 的国家首都。
你还会学到这些¶
使用表达式选取图层中的图征
使用 属性 工具列取消选取图征
使用 查询建构器 来显示图层中的次群组
取得资料¶
Natural Earth 上有不错的 人口居住地 资料库,其中也有 简化版 (栏位较少) 的资料库
为了方便起见,你也可以直接从以下连结下载:
ne_10m_populated_places_simple.zip
资料来源 [NATURALEARTH]
操作流程¶
载好资料以后,打开 QGIS,选择
。
点选 浏览 然后移到你下载资料的地方。
找到 ne_10m_populated_places_simple.zip 这个档案后,直接选 开启旧档 即可。这个档案不需要解压缩,QGIS 自己有能力可以读取 zip 档的内容。
这下子 QGIS 就会显示档案的内容,你会看到许多点,每个点都是世界上有人居住的地方。
在这个图层上按右键,选择 开启属性表格,
然后就可以看到许多的属性,每个属性都有各自的数值。
我们要找的是每个图征(每个点)的人口数,相对应的属性就是 pop_max。点两次这个标题就可以把这个栏位以递减排序显示。
接下来就来试试属性的查询功能。QGIS 可以运用类似 SQL 的表达式进行查询,首先要选择 使用表示式选取图征。
在跳出的「使用表示式选取图征」视窗中,展开 栏位与值`的内容,点两下 ``pop_max` 标籤,这样它就会被加进表示式的视窗当中。如果你不是很确定这个属性会有什么值,可以选择 载入值:全部唯一值 以查看资料库中这个属性具有的所有可能的值。本教学中,我们要寻找所有人口大于
1,000,000
的图征点,所以在完成如图所示的表达式后,就可以按下 选取。
"pop_max" > 1000000
按下 关闭 后回到 QGIS 主视窗,你应该就会看到有一些点已经变成黄色了。这些点就是在这资料库中,所有
pop_max
属性值大于1,000,000
的点的集合。
我们还有一个目标,那就是找出这些点里面有哪些是国家首都。相关的资讯记在 adm0cap 栏位中,
1
代表这点是国家首都。因此,我们只要使用and
运算子添加另外一个条件到刚才的表达式中就行了。立马来试试:在属性表格中选择 使用表示式选取图征 按钮,输入以下的表达式后,按下 选取 然后 关闭。
"pop_max" > 1000000 and "adm0cap" = 1
回到 QGIS 主视窗,这下子被选取的点就变少了。这些点就是「人口大于 1,000,000 的国家首都」的查询结果。我们可以把这个选择存起来,以利后续的分析。在图层
ne_10m_populated_places_simple
上按右键,然后选择 属性。
在「一般」分页中,找到 Feature subset (或 Provider feature filter)的栏位,选择 查询建构器。
输入之前的表达式,然后按下 确定。
"pop_max" > 1000000 and "adm0cap" = 1
回到 QGIS 主视窗,这时你会发现其他的点都消失不见了。现在你就可以只针对这些点,进行其他的分析。你应该也会发现这些点目前都还是黄的,这是因为他们目前还处在被选取的状态下。在「属性」工具列上,有个「取消所有图层的图征选取」钮,只要点选它…
你就会看到所有的点都被取消选取,并且回复原来的颜色了。