空间连接¶
警告
本教学已经过时,如需阅读新的版本请前往 空间连接 (QGIS3)。
空间连接是个经典的 GIS 课题:如何基于空间关系,把相关属性值从一个图层转到另一个图层?在 QGIS 中,有个称为 由空间连结属性 的工具,可以实现此一功能。
取得资料¶
NYC Open Data Portal 是纽约市不错的免费资料来源。
你可以使用介面上的
Export
钮下载 Borough Boundaries 的 zip 档。
使用介面上的
Export
钮下载 Nursing Homes 的 zip 档。
为了方便起见,你也可以直接用下面的连结下载:
操作流程¶
选择
,选择刚才下载的nybb_12c.zip
,然后按 开启。
选择
nybb.shp
图层并点选 确定。
对另一个档案
OEM_NursingHomes_001.zip
重复步骤 3 与 4,载入OEM_NursingHomes_001.shp
图层。两个图层都载入后,右键点选OEM_NursingHomes_001
图层然后选择 开启属性表格。
查阅每个图征的属性,由于我们要计算的是每个区护理之家的总承载人数,因此我们可使用 Capacity (乘载人数)属性来连接行政区的边界图层。
选择
。
目标向量图层 是我们要加入新属性的图层,因此在本教学中为区边界的
nybb
图层。而 结合(Join)向量图层 则是护理之家的分布图层OEM_NursingHomes_001
。由于我们想要把所有在同一区的护理之家乘载人数加总,因此请选择 相交图征概要 然后选择 总合。输出档命名为nyc_borough_join.shp
,在 输出表格 一栏中,选择 保留所有纪录。
处理结束时,程式会问你要不要把图层加入 TOC (QGIS 主视窗),选择 是。新的图层
nyc_borough_join
含有从nybb
复制过来的图征,而且属性已与OEM_NursingHomes_001
连接完成。右键点选新图层,选择 开启属性表格。
可以看到属性表中出现了新的栏位 SUMCapacit,这就是原本属于同一区的护理之家的 Capacity 属性加总。
我们已经找到想要的资讯了,但是在输出中还存在着其他我们不需要的栏位,让我们来清理一下。点选 切换编辑模式,然后选择 删除栏 按钮。
在 删除属性 视窗中按下 Control+A 以选择所有栏位,然后按住 Control 键,取消选取你想保留的属性,最后按下 确定。
回到属性表格,再次按下 切换编辑模式 以储存刚才的更动。
回到 QGIS 主画面中,我们可以使用 识别图征 工具,验证输出档中每个区的图征只具有我们想要的属性。