首页 / 一种由测站到河段的流量数据处理方法及系统

一种由测站到河段的流量数据处理方法及系统实质审查 发明

技术领域

[0001] 本发明涉及水文数据分析技术领域,更具体地,涉及一种由测站到河段的流量数据处理方法及系统。

相关背景技术

[0002] 测站是指为收集水文监测资料在江河、湖泊、渠道、水库和流域内设立的各种水文观测场所的总称。测站对地区水资源的质、量进行检测,为水资源管理、洪水预报、水库调度提供基础信息数据,是进行科学研究、支撑流域管理工作的重要数据来源。而流量是最重要的测站监测要素之一。虽然目前已建成较为完善的监测站网,但在部分流域仍有大量河段无测站信息,其流量情况需要靠水文模型、遥感监测等技术推演,较为复杂。因此,研发一种快速、自动、操作简单的根据测站流量数据推求河段流量数据方法,帮助流域管理工作者分析流域内各河段流量情况,对于流域管理、合理利用水资源具有重要意义。
[0003] 目前有提出基于机器学习推算河段流量,对站点水文数据进行数据缺失值检测并填充,并利用主站点的断面平均水深、过水面积数据以及次站点测站数据,进行监督学习,生成站点流量概化模型。然而,由于存在部分河段无测站信息,仅仅基于监督学习构建的流量模型,难以保证流量模型的准确性。

具体实施方式

[0027] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0028] 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0029] 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0030] 下面结合附图和具体实施方式对本发明做详细描述。
[0031] 实施例1
[0032] 本实施例提出一种由测站到河段的流量数据处理方法,如图1所示,为本实施例的由测站到河段的流量数据处理方法的流程图。
[0033] 本实施例提出的由测站到河段的流量数据处理方法中,包括以下步骤:
[0034] S1、获取目标流域水系数据,根据测站与各河段的距离确定测站与各河段的上下游关系以及各测站的汇流区间范围;
[0035] S2、对目标流域水系上每个测站采集的流量数据进行预处理;
[0036] S3、根据经过预处理的流量数据,以及各测站的汇流区间范围,计算测站的汇流区间出入库流量和径流模数;
[0037] S4、根据测站的汇流区间出入库流量和径流模数,对各河段流量进行插值计算,生成目标流域水系流量数据模型。
[0038] 本实施例中,根据各河段的上下游关系以及各测站的汇流区间范围确定河段类型,并根据河段类型结合测站的汇流区间出入库流量和径流模数对各河段流量进行插值计算,用于对无测站信息的部分河段进行补全,得到准确性高的目标流域水系流量数据模型。
[0039] 本实施例利用公开的数字高程模型数据以及少量测站的流量数据,即可对流域内各河段流量数据进行插值计算,得到完整的且高准确性的流量数据模型,且在河段流量插值中,对于流域的规模、河段的数量、测站数量均没有限制,尤其适用于缺失测站信息的流域分析及管理工作。
[0040] 在一可选实施例中,S1步骤中所获取的目标流域水系数据包括从数字高程模型中提取的流域水系及子流域数据,以及水库测站位置数据、水库出入库流量数据;其中,流域水系数据中各河段包含河段标识符,上下游河段标识符等信息;子流域数据包含河段标识符信息,与河段标识符一一对应。
[0041] 进一步可选地,为便于测站与河段之间上下游关系的判断,对流域水系进行编码。其中,根据所述目标流域水系数据,对各河段进行编码;其中,对目标流域水系中的出口河段编码设置初始编码;
[0042] 从出口河段出发遍历各河段,对当前河段的上游主干河段根据预设的第一编码规则进行编码,对当前河段的上游分支河段根据预设的第二编码规则进行编码。
[0043] 示例性地,所述第一编码规则为在当前编码的末尾加1;所述第二编码规则为在当前编码的末尾增加初始编码。
[0044] 示例性地,将目标流域水系中的出口河段编码为001,并从该出口河段出发遍历各河段,对其上游主干河段编码为002,对其上游分支河段编码为001001;
[0045] 对于编码为001002的河段,对其上游主干河段编码为001003,对其上游分支河段编码为001002001。
[0046] 本实施例在确定测站与各河段的上下游关系的过程中,可以根据编码信息直接确定各河段之间的上下游关系,以及河段与测站之间的上下游关系。
[0047] 在另一可选实施例中,根据目标流域水系数据中的河段标识符设置河段编码。
[0048] 本领域技术人员可以根据实际流域水系数据复杂程度选择适应的编码规则,在此不作赘述。
[0049] 在一可选实施例中,S1步骤中根据测站与各河段的距离确定测站与各河段的上下游关系,包括以下步骤:
[0050] 对于第i个测站,计算其与各河段的欧式距离,并取欧氏距离最小的河段r对应的河段编码作为测站i的位置编码Codei;其表达式为:
[0051] di,r=f(reachr,coodi),r=1,2,...,N
[0052] Codei=Coder|di,r=dmin
[0053] 其中,di,r表示测站i与河段r之间的欧氏距离;reachr为河段r的矢量元素,coodi表示测站i的坐标;N为目标流域水系数据中河段的总数量;Coder表示河段r对应的河段编码;dmin为测站与河段之间距离的最小值;
[0054] 根据各测站的位置编码,确定测站i的上游测站;
[0055] 遍历目标流域水系中各河段,根据测站i的位置编码Codei,判别河段与测站i的上下游关系,得到测站i的上游河段集合Li,以及测站i与上游测站汇流区间所包含的汇流区间河段集合Ci;其表达式为:
[0056]
[0057] 其中,Lj为测站i的第j个上游测站的上游河段集合;
[0058] 从测站i的汇流区间河段集合Ci中提取河段的子流域编号,得到测站i的汇流区间范围Bi;其表达式为:
[0059] Bi={br|Coder∈Ci}
[0060] 其中,br为河段r对应的子流域编号。
[0061] 本实施例通过计算测站与各河段之间的欧氏距离,确定测站所在河段位置,进一步地,取距离最近的河段编码作为该测站的测站编码,便于后续的流量数据模型构建。
[0062] 进一步地,在一可选实施例中,S1步骤中还包括以下步骤:
[0063] 对于测站i的汇流区间河段集合Ci中包含的任一河段,将测站i的测站编码加入该河段的下游测站字段DownSta;对于最下游测站与流域出口之间的汇流区间,对应河段的下游测站字段DownSta用空字符串标记,表示无下游测站信息;
[0064] 遍历任意两个具有直接上下游关系的测站i与j,对于下游测站i与上游测站j之间流动路径所经过的任一河段,将上游测站j的测站编码加入该河段的上游测站字段UpSta;对于无上游测站的河段,其上游测站字段UpSta用空字符串标记,表示无上游测站信息;
[0065] 根据UpSta和DownSta两个字段值,判别任一河段的河段类型,判别条件如下:
[0066]
[0067] 其中,RT为河段类型;RT=1表示该河段为测站上游河段,仅具有下游测站信息,无上游测站信息;RT=2表示该河段为测站下游河段,仅具有上游测站信息,无下游测站信息;RT=3表示该河段为测站区间河段,同时具有上下游测站信息;RT=4表示该河段为无测站信息河段。
[0068] 本实施例中,根据河段与测站之间的上下游关系,将河段分为测站上游河段、测站下游河段、测站区间河段、无测站信息河段等4种类型,便于对河段类型进行识别划分,并采用适应的计算方法进行流量插值计算。
[0069] 在一可选实施例中,S2步骤中对目标流域水系上每个测站采集的流量数据进行预处理,包括以下步骤:
[0070] 将测站采集的原始流量数据进行重采样,转换为日尺度数据;
[0071] 统计经过转换的流量数据中各日期包含缺失值数量;其表达式为:
[0072]
[0073] 其中,Ft为第t天各测站出库、入库流量数据中缺失值数量;f(·)为判断函数,若数值确实,则取值为1,否则为0;Oi,t表示测站i在第t天的出库流量;Ii,t表示测站i在第t天的入库流量;
[0074] 将第一个和最后一个缺失值数量Ft为0对应的日期分别作为数据起止日期,对各测站流量数据对齐处理;分别对经过对齐处理的各测站出入库流量数据中的缺失值进行插值填补。
[0075] 考虑到每个水库测站可能具有不同时间跨度出入库流量数据,本实施例对各测站流量数据进行对齐处理,再对数据集中缺失值进行填充。
[0076] 进一步地,在一可选实施例中,S3步骤中根据经过预处理的流量数据,以及各测站的汇流区间范围,计算测站的汇流区间出入库流量和径流模数,包括以下步骤:
[0077] 根据测站i的汇流区间范围Bi,获取汇流区间范围内各子流域面积,得到测站i的汇流区间面积CAi;其表达式为:
[0078]
[0079] 其中,areal为第l个子流域对应的面积;
[0080] 对于测站i的汇流区间范围Bi,该汇流区间的出入库流量为:
[0081]
[0082] QCAout,t=Ii,t
[0083] 其中,QCAin,t为第t天的入流量;Oj,t表示第j个上游测站在第t天的出库径流量;QCAout,t为第t天的出流量,该区间的出流量与下游测站的入库径流量一致;Ii,t表示测站i在第t天的入库径流量;n为测站i的上游测站数量。
[0084] 则,对于具有上下游测站的汇流区间,其在第t天的径流模数Mt为:
[0085]
[0086] 对于只有下游测站的汇流区间,其第t天的径流模数Mt为:
[0087]
[0088] 对于只有上游测站的汇流区间,其第t天的径流模数Mt为:
[0089]
[0090] 其中,Ij,t为第j个上游测站在第t天的入库径流量;Aj为第j个上游测站的集水面积。
[0091] 进一步地,在一可选实施例中,S4步骤中根据测站的汇流区间出入库流量和径流模数,对各河段流量进行插值计算,包括以下步骤:
[0092] 遍历各河段与时间,根据当前河段的上游测站信息计算该河段的插值流量;其中:
[0093] (1)对于具有上游测站信息的河段r,根据其在汇流区间内的集水范围RAr计算该河段在第t天的插值流量Qr,t;其表达式为:
[0094]
[0095]
[0096] 其中,Ar为河段r的集水范围,Lr为河段r的上游河段集合,Codep表示上游河段集合中第p个河段的编码,areap表示上游河段集合中第p个河段对应的子流域面积;Mr,t表示河段r所属测站汇流区间在第t天的径流模数。
[0097] 本实施例考虑到具有上游测站信息的河段r的集水范围与上游测站集水范围存在重叠,因此将当前河段的集水范围与上游测站的集水面积相减。
[0098] (2)对于无上游测站信息的河段r′,计算该河段在第t天的插值流量Qr′,t;其表达式为:
[0099] Qr′,t=Mr′,t*Ar′
[0100]
[0101] 其中,Ar′为河段r′的集水范围,Lr′为河段r′的上游河段集合,Codep′表示上游河段集合中第p′个河段的编码,areap′表示上游河段集合中第p′个河段对应的子流域面积;Mr′,t表示河段r′所属测站汇流区间在第t天的径流模数。
[0102] 完成遍历后,结合所述目标流域水系数据和各河段的插值流量构建目标流域水系流量数据模型。
[0103] 进一步地,在一可选实施例中,所述方法还包括以下步骤
[0104] 将所述目标流域水系数据和经过插值计算的河段流量进行可视化展示;其中:
[0105] 根据经过插值计算的流量值调整河流要素线型宽度;
[0106] 根据河段与测站上下游关系,通过不同颜色的河流要素线型反映河段类型;
[0107] 根据河段的编码等级,通过不同颜色反映编码后的河流等级。
[0108] 本实施例根据目标流域水系数据和经过插值计算的河段流量数据,对河段流量、河段类型、河段编码等要素进行可视化展示,有利于帮助流域管理工作者分析流域内各河段流量情况。
[0109] 实施例2
[0110] 本实施例应用实施例1提出的由测站到河段的流量数据处理方法,对2015年10月20日西江流域河段流量数据进行处理。
[0111] 示例性地,本实施例基于开源的Python语言平台执行流量数据处理。
[0112] 首先,提取2015年10月20日西江流域的数字高程模型、测站位置数据、测站流量数据等目标流域水系数据,其中,利用Python中第三方库pygeoc调用TauDEM程序处理数字高程模型提取2015年10月20日西江流域水系数据,然后对流域水系进行编码。
[0113] 如图2、3所示,图2为原始数字高程模型数据及测站位置的空间分布图;图3为编码后的西江流域水系示意图。
[0114] 根据河段编码识别各测站的上游测站与上游河段,利用Python中的Set对象进行集合运算确定测站汇流区间对应的河段集合。根据各河段的标识符与子流域数据中各子流域的标识符,确定测站汇流区间范围。
[0115] 利用GeoPandas创建一个以河段编码为索引的GeoDataFrame对象,存储河段的上下游测站与河段类型。根据测站汇流区间范围确定河段的下游测站,根据测站之间的流动路径确定河段的上游测站,最后根据上下游测站将河段划分为测站上游河段、测站下游河段、测站区间河段以及无测站信息河段。
[0116] 如图4所示,为西江流域各河段与测站的上下游关系示意图。
[0117] 将所有测站流量数据合并至同一个DataFrame中,使用resample方法重采样流量数据转为日尺度数据,然后使用isna和sum方法统计各日期缺失值数量,舍去数据集起始部分以及结尾部分含缺失值的数据记录,得到时间跨度一致的测站流量数据集合,并使用interpolate方法填补数据集中的缺失值。
[0118] 使用GeoPandas中的read_file方法读取子流域数据,根据测站汇流区间河段集合筛选得到汇流区间子流域集合,使用geometry.area方法计算各子流域面积,然后使用Series对象的sum方法计算得到测站汇流区间的面积。
[0119] 根据各测站汇流区间是否具有上下游测站,应用相应方法计算汇流区间径流模数,得到如图5所示的各汇流区间的径流模数示意图。
[0120] 对流域水系中各河段进行遍历,分别插值计算河段流量。创建一个空的DataFrame对象,该对象的index为各河段编码,columns为流量数据的时间戳。根据河段类型,调取该河段所在汇流区间径流模数数据以及上下游测站数据,应用不同计算方法插值计算河段流量,并将结果填入DataFrame对应位置,得到完成河段流量插值的目标流域水系流量数据模型。
[0121] 最后使用to_excel方法将计算结果保存为Excel文件,便于流域管理工作者分析流域内各河段流量情况。
[0122] 在对目标流域水系流量数据模型进行可视化展示时,使用pandas中的read_excel方法读取河段流量插值计算结果并索引至展示时刻当天的数值,作为Series对象。根据河段编码,使用Series对象的loc方法将河段流量添加至流域水系中,形成附流量数据的西江流域水系。最后,利用basemap中的Basemap方法创建西江流域地图,并使用matplotlib中的ListedColormap、BoundaryNorm方法创建带刻度的颜色条,对西江流域河段流量数据展示,得到如图6所示的西江流域河段的流量数据插值结果示意图。
[0123] 实施例3
[0124] 本实施例提出一种由测站到河段的流量数据处理系统,应用实施例1提出的由测站到河段的流量数据处理方法。如图7所示,为本实施例的由测站到河段的流量数据处理系统的架构图。
[0125] 本实施例提出的由测站到河段的流量数据处理系统中,包括:
[0126] 数据采集模块,用于获取目标流域水系数据;
[0127] 数据预处理模块,用于对目标流域水系上每个测站采集的流量数据进行预处理;
[0128] 河段划分模块,用于根据测站与各河段的距离确定测站与各河段的上下游关系以及各测站的汇流区间范围;
[0129] 测站流量计算模块,用于根据经过预处理的流量数据,以及各测站的汇流区间范围,计算测站的汇流区间出入库流量和径流模数;
[0130] 河段流量插值模块,用于根据测站的汇流区间出入库流量和径流模数,对各河段流量进行插值计算,生成目标流域水系流量数据模型。
[0131] 可以理解,本实施例的系统对应于上述实施例1的方法,上述实施例1中的可选项同样适用于本实施例,故在此不再重复描述。
[0132] 实施例4
[0133] 本实施例提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如实施例1提出的由测站到河段的流量数据处理方法的全部或部分步骤。
[0134] 实施例5
[0135] 本实施例提出一种存储介质,其上存储有计算机可读指令,其中,所述计算机可读指令被处理器执行时实现实施例1提出的由测站到河段的流量数据处理方法的全部或部分步骤。
[0136] 示范性地,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0137] 示范性地,所述指令、程序、代码集或指令集可采用常规编程语言实现。
[0138] 示范性地,所述处理器包括但不限于智能手机、个人计算机、服务器、网络设备等,用于执行实施例1所述的由测站到河段的流量数据处理方法的全部或部分步骤。
[0139] 本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示例性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本发明方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0140] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
数据处理相关技术
方法系统相关技术
赵铜铁钢发明人的其他相关专利技术