找出在多边形中的点

GIS 的强项之一,就是同时分析多种不同来源的资料。你想找到的资讯或答案,通常会藏在不同的图层中,必须要透过许多的萃取程序,才能把这些东西汇整在一起。 类似这种概念的技术中,有一种称为 Points-in-Polygon (多边形中的点),它是指当你有一个多边形图层和一个点图层时,要如何找出那些点分布在多边形内的分析技术。

内容说明

我们已有许多重要地震的位置,现在要找出哪个国家的地震数量最多。

取得资料

这里我们要使用 NOAA 的美国国立地球物理资料中心(NGDC)的 Significant Earthquake Database , 内含所有的全球重大地震。下载 tab-delimited earthquake data

Natural Earth 上有 Admin 0 - Countries dataset. Download the 国家边界资料, 可以下载。

为了方便起见,你也可以直接用下面的连结下载:

signif.txt

ne_10m_admin_0_countries.zip

资料来源 [NGDC] [NATURALEARTH]

操作流程

  1. 打开 QGIS,选择 Layer ‣ Add Delimited Text Layer, 然后选择刚下载的 signif.txt file。
../_images/1106.png

2. 这个档案是 tab-delimited file , 所以我们可以在 File format 栏位选择 Tab ,。 程式会自动选择 X field 和:guilabel:Y field 栏位,所以按下 OK 即可。

注解

可能你会看到 QGIS 显示读取档案的时候出现了一些错误,这是由于档案中的某些值异常所引起的,这些异常的资料不会被读取。在本教学中,我们就先忽略这些错误没关系。

../_images/257.png
  1. 因为地震资料是以经纬度座标纪录的,所以在 Coordinate Reference System Selector 时,要选 WGS 84 EPSG:436 这个 CRS。
../_images/333.png

4. 现在地震的点图层已在 QGIS 中呈现。接下来要开启的是国家的图层,选择 Layer ‣ Add Vector Layer, 点选下载的 ne_10m_admin_0_countries.zip 然后按下 OpenSelect layers to add... 视窗中,选择 ne_10m_admin_0_countries.shp

../_images/423.png
  1. 选择 Vector ‣ Analysis Tools ‣ Point in Polygon
../_images/524.png
  1. 在跳出的视窗中分别指定多边形图层和点图层,然后把输出图层命名为 earthquake_per_coutry.shp ,完成后按下 OK

注解

Be patient after clicking OK, QGIS may take upto 10 minutes to calculate the results.

  1. 当程序为问你是否要加入图层到 QGIS 中时,选择 Yes
../_images/721.png
  1. 现在有个新图层已加入了 QGIS 中。在图层上按右键选 Open Attribute Table ,进入属性栏位的显示页面。
../_images/820.png
  1. 在属性表格中,可以找到称为 PNTCNT 的新栏位,此栏就是地震点落在此多边形的总数目。
../_images/918.png

10. 如要找到我们的目标国家,可以简单地把国家按照 PNTCNT 栏位的大小来排序。 在 PNTCNT 栏位名称上按 2 次,这栏就会从大到小排序,点选第一个栏位,然后关掉属性表格。

../_images/1019.png

11.回到 QGIS 视窗后,有一个图征会被标成黄色,这个图征就是刚刚选择的、有最多点在内的多边形。 选择 Identify 钮然后按一下此多边形,就可以看到有着最多重要地震的国家是 中国

../_images/1123.png

在这个简单的分析中,我们对比了 2 笔资料库,发现中国境内具有最多的主要地震。 你也可以尝试继续进一步分析,像是考虑人口与国家的大小,这些都会影响大地震对一个国家的冲击程度。