一种基于格网降雨数据的识别暴雨的方法与流程

文档序号:16899879发布日期:2019-02-19 17:52阅读:481来源:国知局
一种基于格网降雨数据的识别暴雨的方法与流程

本发明属于遥感领域,涉及一种暴雨识别方法,特别涉及一种基于格网降雨数据的识别暴雨的方法。



背景技术:

降雨信息的获取方式通常有地面雨量计、地面雷达估测和卫星遥感反演等。传统的降雨监测主要是依据地面气象站部署的雨量计来获取降雨信息,近来也有部分地面气象站开始使用地基雷达监测降雨。但是,不论是雨量计或是地基雷达,均只能获得部分点位上的降雨信息,想要获得降雨数据在大区域且连续性的分布,常常需要通过空间插值来实现。

卫星遥感则恰好可以弥补传统观测的缺点,卫星遥感资料可以提供时间和空间上连续分布的大范围甚至全球的降雨资料。代表性的降雨卫星包括美国的热带降雨观测卫星计划trmm(thetropicalrainfallmeasuringmission)及全球降雨测量计划gpm(globalprecipitationmission)等。

不论是将地面观测的降雨进行插值,还是降雨卫星获得的降雨资料,一般都是通过格网的格式进行存储,因为这种格式是展示降雨空间分布信息的最好的方式。对于单个时刻的格网降雨数据,很容易通过简单的空间分析的方法从中找到降雨的区域所对应的格网。但是,更多时候,在进行降雨分析的时候,经常需要面对的是长时间序列的降雨数据,仅凭人为判读难以快速、准确地识别出降雨过程,提取出包括雨量的大小、持续时间和降雨范围等信息。

暴雨,是短时间内剧烈的大气降雨现象。我国气象部门规定24小时降雨量大于等于50.0毫米者统称为暴雨。暴雨是引发山洪、泥石流、滑坡、城市内涝等一系列灾害现象的罪魁祸首。对历史暴雨事件的提取,是从统计学角度研究暴雨致灾成因的关键环节。面对目前纷繁复杂的海量降雨数据,尚无一种可以快速准确从时间序列降雨数据中识别出暴雨过程的方法。



技术实现要素:

本发明的目的在于提供一种基于格网降雨数据的识别暴雨的方法,以解决上述存在的技术问题。本发明的识别暴雨的方法,基于目前常用的存储降雨的格网格式,可实现自动从时间序列的降雨数据中快速准确地识别出暴雨,并能提取出暴雨过程中的相关信息。

为达到上述目的,本发明采用以下技术方案:

一种基于格网降雨数据的识别暴雨的方法,具体步骤包括:

步骤1,采集获取待识别地区的时间序列上的格网降雨数据;获得的格网降雨数据为:时间间隔为k小时,共n个时刻的数据,每个时刻t的数据为r行*c列,网格的总数为i个,其中,i=(1,2,…,r*c),t=(1,2,…,n);git表示第i个网格在第t个k小时内的平均降雨量;

步骤2,对步骤1得到的格网降雨数据中的每一个网格中的数据,沿时间轴查找获取大于预设暴雨阈值的孤立降雨峰值,通过获得所有网格中的大于预设暴雨阈值的孤立降雨峰值,识别出步骤1获得的格网降雨数据中所有的暴雨事件。

进一步的,还包括:步骤3,将识别出的暴雨事件的网格位置、降雨峰值量、降雨峰值时刻、降雨峰值总雨量、降雨历时以及降雨强度制表记录。

进一步的,还包括:步骤4,根据步骤3获得的记录有暴雨事件信息的表格制图,获得暴雨时空分布图。

进一步的,步骤2的具体步骤包括:

步骤2.1,设置参数初始值;降雨峰值量pci=0,峰值时刻di=0,降雨峰值总雨量pti=0,降雨历时ci=0,降雨强度li=0,时刻t=1;

步骤2.2,对步骤1得到的格网降雨数据中的每一个网格i中的数据进行判别,判断t时刻git与pci的大小;如果git大于pci,跳转至步骤2.3;如果git小于等于pci,则跳转至步骤2.4;

步骤2.3,更新pci、di、pti、ci以及li的值,更新规则为:pci=git,di=t,pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.8;

步骤2.4,判断t时刻git与0的大小;如果git大于0,跳转至步骤2.5;如果git不大于0,则跳转至步骤2.6;

步骤2.5,更新pci和ci的值,更新规则为:pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.8;

步骤2.6,判断t时刻pci*24与50的大小,如果pci*24大于等于50,则跳转至步骤2.7,如果pci*24小于50,则跳转至步骤2.8;

步骤2.7,识别出暴雨事件,计算li的值,计算公式为:li=pti/ci,将参数i,pci,di,pti,ci以及li的值记录,并跳转至步骤2.8;

步骤2.8,更新时刻t的值,更新规则t=t+1;更新完毕后,t小于等于n时,跳转至步骤2.2,t大于n时识别结束。

进一步的,步骤2.7中,将参数i,pci,di,pti,ci,以及li的值记录的具体方法为,将参数i,pci,di,pti,ci,以及li的值填入预设的表格中;

其中,参数i为关键字段,以整形类型记录;降雨峰值量、峰值时刻、降雨峰值总雨量、降雨历时以及降雨强度均以文本类型记录。

进一步的,步骤2.7中,根据获得的记录有暴雨事件信息的表格制图,获得暴雨时空分布图。

进一步的,步骤2的具体步骤包括:

步骤2.1,设置参数初始值;网格i=1;

步骤2.2,参数初始化;降雨峰值量pci=0,峰值时刻di=0,降雨峰值总雨量pti=0,降雨历时ci=0,降雨强度li=0,时刻t=1;

步骤2.3,对格网降雨数据中的网格i中的数据进行判别,判断t时刻网格i的git与pci的大小;如果git大于pci,跳转至步骤2.4;如果git小于等于pci,则跳转至步骤2.5;

步骤2.4,更新pci、di、pti、ci以及li的值,更新规则为:pci=git,di=t,pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.9;

步骤2.5,判断t时刻git与0的大小;如果git大于0,跳转至步骤2.6;如果git不大于0,则跳转至步骤2.7;

步骤2.6,更新pci和ci的值,更新规则为:pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.9;

步骤2.7,判断t时刻pci*24与50的大小,如果pci*24大于等于50,则跳转至步骤2.8,如果pci*24小于50,则跳转至步骤2.9;

步骤2.8,识别出暴雨事件,计算li的值,计算公式为:li=pti/ci,将参数i,pci,di,pti,ci以及li的值记录,并跳转至步骤2.9;

步骤2.9,更新时刻t的值,更新规则t=t+1;更新完毕后,t小于等于n时,跳转至步骤2.3,t大于n时,跳转至步骤2.10;

步骤2.10,更新网格i的值,更新规则i=i+1;更新完毕后,i小于等于r*c时,跳转至步骤2.2,i大于r*c时识别结束。

进一步的,步骤1中的格网降雨数据的采集方式为:通过降雨卫星直接采集获得降雨资料或通过气象站获得降雨观测值再经过空间插值获得。

进一步的,所述识别暴雨的方法通过python编程语言实现。

与现有技术相比,本发明具有以下有益效果:

本发明基于格网降雨数据的识别暴雨的方法,能够实现自动从时间序列的降雨数据中快速准确地识别出暴雨,并能提取出暴雨发生地点与范围、雨量、雨强、持续时间等信息;针对目前不同时空分辨率、种类丰富的降雨数据集,提供灵活高效、适应性强的暴雨识别方法,实现对暴雨事件的自动提取、对暴雨过程的雨量和雨强进行自动分析,可为分析全球及区域尺度暴雨时空分布提供技术支撑。本发明中通过指定所用格网降雨数据的时间间隔和数据单位,可以灵活地应用于不同来源以及不同时空分辨率的格网降雨数据,无需做任何调整;通过时间轴遍历的方法,本发明能够有效、快速、准确地识别任意格网中发生的暴雨事件,且可以通过调整暴雨阈值,灵活识别不同程度的暴雨事件。

进一步的,通过数据表记录格网行列号及相应暴雨事件信息的方法,本发明可以基于该数据表制作暴雨时空分布图,以方便暴雨事件的直观展示。

进一步的,本发明通过python编程实现,对于大数据量、长时间序列的格网降雨数据均可自如应对,无需人为处理及人工干预,极大降低工作量,并显著提高暴雨识别的效率。

附图说明

图1是本发明的一种基于格网降雨数据的识别暴雨的方法的流程示意框图;

图2是本发明的一种基于格网降雨数据的识别暴雨的方法的识别算法流程示意框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

请参阅图1,本发明的一种基于格网降雨数据的识别暴雨的方法,具体步骤包括:

步骤1,采集获取待识别地区的时间序列上的格网降雨数据;获得的格网降雨数据为:时间间隔为k小时,共n个时刻的数据,每个时刻t的数据为r行*c列,网格的总数为i个,其中,i=(1,2,…,r*c),t=(1,2,…,n);git表示第i个网格在第t个k小时内的平均降雨量;采集获取待识别地区的时间序列上的格网降雨数据的方式为:收集卫星降雨资料,例如如trmm和gpm降雨资料等;收集该地区地面观测站点的降雨资料并进行空间插值得到格网降雨数据。

步骤2,对步骤1得到的格网降雨数据中的每一个网格中的数据,沿时间轴查找获取大于预设暴雨阈值的孤立降雨峰值,通过获得所有网格中的大于预设暴雨阈值的孤立降雨峰值,识别出步骤1获得的格网降雨数据中所有的暴雨事件。

步骤3,将识别出的暴雨事件的网格位置、降雨峰值量、降雨峰值时刻、降雨峰值总雨量、降雨历时以及降雨强度制表记录。

步骤4,根据步骤3获得的填有暴雨信息的表格制作暴雨时空分布图,通过暴雨时空分布图快速准确识别出暴雨。

请参阅图2,步骤2的具体步骤包括:

步骤2.1,设置参数初始值;网格i=1;

步骤2.2,参数初始化;降雨峰值量pci=0,峰值时刻di=0,降雨峰值总雨量pti=0,降雨历时ci=0,降雨强度li=0,时刻t=1;

步骤2.3,对格网降雨数据中的网格i中的数据进行判别,判断t时刻网格i的git与pci的大小;如果git大于pci,跳转至步骤2.4;如果git小于等于pci,则跳转至步骤2.5;

步骤2.4,更新pci、di、pti、ci以及li的值,更新规则为:pci=git,di=t,pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.9;

步骤2.5,判断t时刻git与0的大小;如果git大于0,跳转至步骤2.6;如果git不大于0,则跳转至步骤2.7;

步骤2.6,更新pci和ci的值,更新规则为:pti=pti+git*k,ci=ci+k,更新完毕跳转至步骤2.9;

步骤2.7,判断t时刻pci*24与50的大小,如果pci*24大于等于50,则跳转至步骤2.8,如果pci*24小于50,则跳转至步骤2.9;将参数i,pci,di,pti,ci,以及li的值记录的具体方法为,将参数i,pci,di,pti,ci,以及li的值填入预设的表格中;其中,参数i为关键字段,以整形类型记录;降雨峰值量、峰值时刻、降雨峰值总雨量、降雨历时以及降雨强度均以文本类型记录;

步骤2.8,识别出暴雨事件,计算li的值,计算公式为:li=pti/ci,将参数i,pci,di,pti,ci以及li的值记录,并跳转至步骤2.9;

步骤2.9,更新时刻t的值,更新规则t=t+1;更新完毕后,t小于等于n时,跳转至步骤2.3,t大于n时,跳转至步骤2.10;

步骤2.10,更新网格i的值,更新规则i=i+1;更新完毕后,i小于等于r*c时,跳转至步骤2.2,i大于r*c时识别结束。

具体实施例1

步骤2.7中,考虑到每个网格区域在时间轴内可能发生不止一次的暴雨,各个网格发生暴雨的时刻也不一致,故而按照表1中所示的表结构设计存储暴雨信息的预设表格。

表1存储暴雨信息的预设表格

具体的,步骤4获得暴雨时空分布图的具体步骤包括:

步骤4.1,根据原始格网降雨数据的行列数新建一系列r行*c列的初始值为0的二维数组,包括pn用以存储暴雨次数、pp用以存储最大暴雨峰值、pt用以存储最大暴雨时刻、pv用以存储最大暴雨过程总雨量、pd用以存储最大暴雨过程总历时、pl用以存储最大暴雨过程的降雨强度;

步骤4.2,按行读取预设表格中的内容,行号i=1;

步骤4.3,获得第i行的各字段信息,包括行列号id_x和id_y,降雨峰值雨量peakrain,降雨峰值时刻peakdate,降雨过程总雨量volume,降雨过程总历时duration,以及降雨强度rainlevel;

步骤4.4,解析字段peakrain中的文本内容,以逗号进行分割,分割的数目对应于降雨峰值的个数n,将n存入二维数组pn的第id_x行id_y列中;每一部分内容代表一个孤立的降雨峰值pn(n=1,2,…n),将其转换为浮点型数值;对pn(n=1,2,…n)进行排序,获得最大降雨峰值pm,将pm存入二维数组pp的第id_x行id_y列中;

步骤4.5,解析字段peakdate中的文本内容,以逗号进行分割,每一部分内容代表一个孤立的降雨峰值pn(n=1,2,…n)对应的发生时刻tn(n=1,2,…n),将其转换为整型数值;获得最大降雨峰值(pm)的发生时刻tm,将tm存入二维数组pt的第id_x行id_y列中;

步骤4.6,解析字段volume中的文本内容,以逗号进行分割,每一部分内容代表一个孤立的降雨峰值pn(n=1,2,…n)对应的降雨总量vn(n=1,2,…n),将其转换为浮点型数值;获得最大降雨峰值(pm)对应的降雨总量vm,将vm存入二维数组pv的第id_x行id_y列中;

步骤4.7,解析字段duration中的文本内容,以逗号进行分割,每一部分内容代表一个孤立的降雨峰值pn(n=1,2,…n)对应的降雨总历时dn(n=1,2,…n),将其转换为整型数值;获得最大降雨峰值(pm)对应的降雨总历时dm,将dm存入二维数组pd的第id_x行id_y列中;

步骤4.8,解析字段rainlevel中的文本内容,以逗号进行分割,每一部分内容代表一个孤立的降雨峰值pn(n=1,2,…n)对应的降雨强度ln(n=1,2,…n),将其转换为浮点型数值;获得最大降雨峰值(pm)对应的降雨强度lm,将lm存入二维数组pl的第id_x行id_y列中;

步骤4.9,更新行号i的值,更新规则i=i+1;更新完毕后,i小于等于表格中的行总数时,跳转至步骤4.3,i大于表格中的行总数时跳转至步骤4.10;

步骤4.10,将pn、pp、pt、pv、pd、pl这6个二维数组按照原始格网降雨数据的空间参考及元数据信息转换成与原始降雨数据格式一致的格网数据,则可以分别得到研究区在观察时段内各个格网位置发生的暴雨次数、最大暴雨瞬时雨量、最大暴雨发生时刻、最大暴雨过程总雨量、最大暴雨过程总历时,以及最大暴雨过程暴雨等级。

请参阅图2,本发明方法的核心步骤是在格网降雨数据中查找达到暴雨标准的降雨事件。对于时间序列格网降雨数据,其时间间隔k小时,共n个时刻的数据,每个数据为r行*c列,网格i(i=1,2,…,r*c)在时刻t(t=1,2,…,n)的值为git(mm/h),代表在第t个k小时内的平均降雨量为git毫米每小时。查找该数据集中达到暴雨标准的降雨事件的算法流程如图2所示。具体步骤包括:

(1)遍历网格,对每一个网格i(i=1,2,…,r*c),执行以下操作

(2)沿时间轴查找,从时刻t=1开始,执行以下操作

(3)初始化变量:

待选降雨峰值pci=0

峰值时刻di=0

降雨量pti=0

降雨历时ci=0

降雨强度li=0

(4)判断git是否大于pci,如果是,则更新以下变量的值:

pci=git

di=t

pti=pti+git*k

ci=ci+k

如果git小于或等于pci,则判断git是否大于0,如果是,则更新以下变量的值:

pti=pti+git*k

ci=ci+k

如果git等于0,说明一个独立降雨事件结束,判断待选峰值是否已达到暴雨阈值(pci*24>=50),如未达到,则舍弃,不做处理;如已达到,则成功识别出一次暴雨事件,计算该事件的降雨强度li=pti/ci。将对应的变量pci,di,pti,ci,li的值,对应网格i对应的行列号,分别存入表格中对应的字段中。

(5)进入下一时刻(t=t+1),再次执行步骤(4),如此循环,直至t>=n,表明时间轴已执行完毕,完成对网格i的暴雨过程识别。

(6)执行下一网格(i=i+1)的暴雨识别过程,重复执行步骤(3)(4)(5),如此循环,直至i>=r*c,表明所有格网已处理完毕,完成了所有的暴雨过程识别。

本发明方法还包含把结果表中的暴雨识别结果制图的内容。根据表结构设计(表1),当暴雨识别过程完成以后,表格中将存储有所有格网在观察时期内的所有独立的暴雨过程,每个暴雨过程之间以逗号分隔,基于此,可以重新将表格中的信息还原为格网数据,以表中记录的格网所处行列号为依据,附以原始格网降雨数据的空间参考,得到具有空间信息的暴雨分析结果。本发明基于格网降雨数据自动识别暴雨过程,是一种获得暴雨的雨量、雨强及其时空分布的方法,快速准确。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1