14.5. 分析工具#

14.5.1. 栅格化和内插数据#

可以通过多种方式完成向数据的网格转换。 最简单的技术是将矢量几何图形(点、线或多边形)转换到栅格数据上,必要时恢复属性值。 另一种方法是通过统计运算符在规则网格上内插点数据(例如现场测量)。 以下部分中的数字的彩色版本, 请参阅 seewww.iste.co.uk/baghdadi/qgis1.zip 。

QGIS处理步骤#

  1. QGIS中气候数据的准备,仅打开以下文件:

  • postesSynop.json

  • synop.201611.csv

目标是将表 "synop.201611.csv" 的字段“t”(温度, 单位为开尔文)附加到载体 "postesSynop.json",然后保留仅位于法国大都市的站点。

在“图层”面板中,右键单击“layer postesSynop”,单击“属性”, 在“Layer Properties”窗口中,单击选项卡“连接”,单击按钮添加矢量连接。 在“Add vector join”窗口中,设置如下:

  • 加入层: synop.201611

  • 联接字段: numer_sta

  • 目标字段: ID

  • 选中选项选择要联接的字段并选择字段“t”

在QGIS中,选择“postesSynop”层的站点,位于法国大都市(ID以“0”开头):

left("ID" , 1) = '0'

将Lambert 93/RGF93中的选择另存为“fr_temperature.shp”, 由于“t”字段作为文本连接,因此应将其转换为小数值。

在QGIS中,创建一个名为“tempKelvin”的新字段,字段类型为十进制数(长度: 10,精度: 2),并复制“t”字段的值。 图 14.14图 14.15

image29_xt0

图 14.14 2016年11月的气象站#

image30_xyc

图 14.15 2016年11月的气温#

2.车站栅格化

目标是对气象站进行栅格化。 在菜单栏中, 单击 Raster > Conversion > Rasterize (Vector to Raster)…, 在“Rasterize”窗口中,设置如下:

  • 输入文件 (shapefile): fr_temperature

  • 属性字段: tempKelvin

  • 栅格化矢量(栅格)的输出文件: fr_temp_rasterize.tif

  • 栅格大小(像素):

  • Width: 100,

  • Height: 100

单击“OK”。

3.站点 数据插值,目标是对气象站记录的温度进行空间内插。在菜单栏中,单击 Raster > Analysis > Grid (Interpolation)… ,如 图 14.16

image33_xqa

图 14.16 数据插值设置#

在“网格(插值)”窗口中,设置如下:

  • 输入文件: fr_temperature o Z field: tempKelvin

  • 输出文件: fr_temp_interpol.tif

  • 选中“调整大小”选项:宽度: 100、高度: 100

单击“OK”,如 图 14.17

image34_x7w

图 14.17 网格插值设置#

4.结果分析

图像 “fr_temp_rasterize.tif” 和 “fr_temp_interpol.tif” 都是100 x 100像素的规则网格, 如 图 14.18 、如 图 14.19 。 在第一个中,每个非零像素给出记录的温度和气象站位置。 任何空像素都对应于缺乏信息。 在第二个中,所有像素都使用反距离加权填充。 所以网格化不是插值!

image35_xvj

图 14.18 气象站栅格化(一点=一个站)#

image36_xzh

图 14.19 站点记录的温度的空间插值#

5.对应 GDAL 命令上面使用的工具相当于在终端中启动以下命令,对于栅格化:

gdal_rasterize -a tempKelvin -ts 100 100 -l france_temperature
france_temperature.shp fr_temp_rasterize.tif

其中:

  • [-a]:标识要用作烧录值的属性字段,

  • [-ts]: 以像素为单位设置输出文件大小,

  • [-l]: 表示要使用的矢量层。

有关更多信息,请参阅以下网页:

http://www.gdal.org/gdal_rasterize.html

  • 对于插值:

gdal_grid -zfield tempKelvin -l france_temperature -outsize 100 100
-of GTiff fr_temperature.shp fr_temp_interpol.tif

其中:

  • [-zfield]: 标识用于计算插值的属性字段,

  • [-outsize]: 以像素为单位设置输出文件大小,

  • [-of]: 设置输出格式,

  • [-l]: 表示要使用的矢量层。

一些有用的选项:

  • [-a]: 设置插值算法

有关更多信息,请参阅以下网页:

http://www.gdal.org/gdal_grid.html