Yukon对气象观测数据的处理方法

作者:YuCJ

目的需求

气象数据来自多个观测站点,是离散的,想要得到连续的变化显示效果,可以使用Yukon中的栅格插值算法。

Yukon集成了PostGIS的栅格模块

本实践以某年份的各地日降水量观测数据为基础,通过插值生成单日的连续降水面图像,同时尝试了采用物化视图的方法实现图像数据刷新的功能。

此外,Yukon提供了150+方法,可以对生成的栅格图像进行数据提取、分析和计算等操作。

工具

本次实践的软件环境 :
centos7操作系统
Postgresql13.6
Yukon

数据库客户端工具:
DBeaver
QGIS

环境部署

先安装好PostgreSql数据库,再下载安装Yukon,安装完成后,就可以启用postgis扩展和postgis_raster扩展

CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;

生成空间数据

根据数据里的经纬度,以降水量/风速/温度等作为高度维,生成带Z值的geometry数据,这里抽取了第11天的降水量数据,此次操作坐标系是基于4326,如果想使用别的坐标系需使用 ST_TransForm 进行转换。

CREATE TABLE t4326 AS SELECT ST_TransForm(ST_SetSrid(ST_PointZ(lng, lat, day_water), 4326), 4326) geom, day_water FORM water WHERE nday = 11;

可以在DBeaver里观察点的集合分布:

SELECT ST_Collect(geom) from t4326;	

插入网格

栅格插值的算法函数:

ST_InterpolateRaster(geometry input_points, text algorithm_options, raster template)

input_points:要插值的点,带Z值。

algorithm_options: 插值算法参数,写法例如:‘invdist:Smoting=2.0’ ,具体请参照 gdal_grid — GDAL 文档

template:raster模板,参数以geometry点的集合的的边界框左上角为基准,像素大小根据坐标系自定义,长宽为 边界框长宽 / 像素大小,像素值精度自定义。

在下面的sql里,以生成的geometry点的集合的边界框为模板,生成一个像素大小为0.01°的栅格图层,运用插值算法,将离散的降水量变为连续表面显示出来。

CREATE TABLE water_rast4326 AS WITH 
inputs AS (SELECT 
    --像素大小根据坐标系而定,此处是以4326坐标系为基准,像素0.01°
    0.01::float8 AS pixelsize,
    --插值算法参数
    'invdist:power:5.5:smoothing:2.0' AS algorithm, 
    --将多个点转为一个点的集合
    ST_Collect(geom) AS geom,
    --求出集合的边界框,为生成raster做准备
    ST_Expand(ST_Collect(geom), 0) AS ext 
    FORM t4326),
sizes AS (SELECT 
    --长宽为边界框除以像素大小
    ceil((ST_XMax(ext) - ST_XMin(ext))/pixelsize)::integer AS width, 
    ceil((ST_YMax(ext) - ST_YMin(ext))/pixelsize)::integer AS height,
    --边界框左上角的位置,用于生成raster
    ST_XMin(ext) AS upperleftx,
    ST_YMax(ext) AS upperlefty 
    FORM inputs)
SELECT 1 AS rid,
ST_InterpolateRASter(
    geom,
    algorithm,
    ST_SetSRID(ST_AddBand(ST_MakeEmptyRASter(width, height, upperleftx, upperlefty, pixelsize), '16BSI'), ST_SRID(geom))) AS rast
FORM sizes, inputs;

打开QGIS,在左侧的列表栏里右键点击PostGIS,新建连接,连接到数据库。
双击raster表和geometry表,添加到图层,双击图层下的geometry表,添加降水量标注。

在这里插入图片描述

显示效果如下:亮点处为降水量较高的

在这里插入图片描述

物化视图

可以用创建表的形式创建物化视图,原表的气候数据更新后,刷新物化视图就可以生成新的raster数据,避免一直删除重建的过程,不过在QGIS里无法直接显示物化视图的效果,要生成表才行

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Marvell Yukon 88E8057 PCI-E网卡驱动是一种用于支持Marvell Yukon 88E8057型号网卡的驱动程序。驱动程序通过与操作系统交互,控制网卡的功能和性能,以便在计算机系统中实现网络连接。 Marvell Yukon 88E8057是一款高性能的PCI-E网卡,具有千兆以太网功能。为了使网卡能够在计算机中正常工作,我们需要安装适合Marvell Yukon 88E8057网卡的驱动程序。 驱动程序可以与操作系统(如Windows、Linux等)兼容,并且为网卡提供必要的指令和资源来实现网络连接。安装正确的驱动程序可以确保网卡的稳定性和性能,以及与其他设备和网络的兼容性。 要安装Marvell Yukon 88E8057 PCI-E网卡驱动,首先需要寻找适合该型号网卡的驱动程序。可以通过访问Marvell的官方网站或者在驱动程序下载网站上搜索来获取该驱动程序。然后,下载并安装该驱动程序到计算机系统中。 安装驱动程序的具体步骤可能会根据操作系统和驱动程序版本而有所不同。通常情况下,安装驱动程序涉及到运行安装程序,并按照提示进行操作。安装程序会将驱动程序文件复制到适当的位置,并将其与操作系统进行关联。 安装完成后,计算机系统应该能够识别和使用Marvell Yukon 88E8057 PCI-E网卡。通过网络管理界面或操作系统的网络设置,可以配置网卡的相关参数,例如IP地址、网关和DNS服务器等。然后,可以通过该网卡实现网络连接和数据传输。 总之,Marvell Yukon 88E8057 PCI-E网卡驱动是一种用于支持该型号网卡的软件程序,安装正确的驱动程序可以使网卡与操作系统和网络正常通信,实现网络连接和数据传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值