本发明涉及水利工程,具体地,涉及一种利用水利对象gis特征分析构建调度物理水网的方法。
背景技术:
1、在水利行业中,水网是以自然河湖为基础、引调排水工程为通道、调蓄工程为结点、智慧调控为手段,集水资源优化配置、流域防洪减灾、水生态系统保护等功能于一体的综合体系。gis数据,即地理信息系统数据,是gis系统的基础组成部分,gis矢量数据通常用于表示点、线、面等地理特征,并且具备位置数据(经纬度),高程数据等重要的地理位置信息。
2、原先水网的呈现都是基于图示平台,通过gis数据进行呈现,在地图上等比例还原水利对象的水网形态,但是gis数据在绘制过程中,由于有大量的人工参与,不可避免地出现gis数据绘制错误和数据遗漏。同时,gis数据只能供水利研究者和水利工作者在地图上肉眼查看和分析水利对象的特征和关系,在软件存储层面并未实际存储各个水利对象的上下游关系;各个分水点、汇水点之间的河段、渠段连接关系;分水点、汇水点、水库进水口、退水口、不同河段对河段、河段对渠段、渠段对渠段之间的水闸管控关系;水闸、阀门、水位监测点、流量监测点、水文观测站等所属河段、渠段的位置关系。由于gis矢量数据无法直接描述上述关系,造成了水利数字孪生平台无法进一步通过上述关系进行水情预演、预案的相关计算。部分水利行业的工程师只能通过关系型数据库逐条人工建设水网关系,造成了重复工作量,并且在人工建设水网关系的过程中,依然不可避免存在数据错误和遗漏等问题,同时,由于是工程师来逐条人工建设水网关系,还会导致和原有gis矢量数据不统一和不匹配,如果要纠正这些问题,则需要付出更大的人工成本。
3、现有实现水网构建的方法,不仅成本高和无法保障数据一致性,至少还存在以下问题:1)从事水网构建人员需要人工逐条信息构建和重复性劳动,人力成本高;2)水网构建后,如需要升级或调整,仍然需要大量人工投入;3)在发现gis矢量数据与水网数据不一致后,需要人工识别调整,对工程师的专业性提出了挑战,并且工作量巨大,易陷入反复修改的怪圈;4)在大灌区水网的前提下,若出现数据有误或者疏漏的问题,不易被察觉,容易对后续水利工作造成隐患;5)页面操作复杂,难以学懂上手。因此,亟需一种利用gis数据来分析构建物理水网的方法。
技术实现思路
1、为解决上述现有技术存在的不足,本发明提供了一种利用水利对象gis特征分析构建调度物理水网的方法,所述方法包括以下步骤:
2、s1.获取水网的所有gis数据进行数据校验,并分为三类:gis点数据、gis线数据和gis面数据;
3、s2.基于所有gis线数据,获取每个gis线数据之间头节点和尾节点的关系,拼接得到初步的水网数据模型,所述水网数据模型以图数据为存储介质;
4、s3.提取所述水网数据模型中的分汇水节点;
5、s4.基于所有分汇水节点,将所有gis点数据添加至所述水网数据模型中得到添加结果,并基于所述添加结果和gis线数据,对gis点数据进行重构;
6、s5.将每个gis面数据作为一个节点添加至所述水网数据模型中,并对与所述gis面数据重合的分汇水节点进行处理;
7、s6.对所述水网数据模型进行自我检查和修正,并生成问题报告。
8、本发明是通过以下技术方案实现的:本方案通过获取水网的所有gis数据进行数据校验,并分为三类:gis点数据(如水闸、水位计或者水文监测站等)、gis线数据(如渠道或者河流等)和gis面数据(如水库或者湖泊等),将水网中的所有水利对象通过三类gis数据进行体现。首先获取所有gis线数据,获取每个gis线数据之间头节点和尾节点的关系,进行拼接得到初步的水网数据模型,然后提取水网数据模型中的所有分汇水节点(包含水利关系的节点,如开始点、分水点或者汇水点),利用提取的分汇水节点,将gis点数据添加至水网数据模型中,并对gis点数据进行重构,因为原始的gis点数据会存在数据错误、坐标不精确和数据遗落等现象,因此在将gis点数据添加至水网数据模型后,需要对其进行重构。然后对gis面数据进行处理,将gis面数据作为单个节点直接添加至水网数据模型中,同时对与gis面数据重合的分汇水节点进行处理。最后对水网数据模型进行自我检查和修正,对无法修正的问题,生成问题报告。本方案以用水调度为目的,基于gis引擎,对水利对象中的河流、渠道、管道、渡槽等传输设施结合闸、泵、阀等控制设施,采用三类gis数据进行体现,自动生成为用水调度服务的物理水网,为后续的水网调度计算模型服务。
9、作为一种可选的技术方案,gis点数据、gis线数据和gis面数据具体的计算机语言描述如下:
10、gis点数据计算机语言描述:一条具备x坐标值、y坐标值以及其他属性的数据,其他属性为该点代表的水利对象类型;
11、gis线数据计算机语言描述:一连串有序的、头尾不相连且未形成环形的gis点数据的集合,单个gis线数据至少包含两个坐标点, gis线数据中的每个gis点数据均包含以下属性:x坐标值、y坐标值、索引号及桩号,所述索引号为gis线数据中包含gis点数据的顺序,所述桩号表示对应gis点数据距离该gis线数据中头节点的长度值;
12、gis面数据计算机语言描述:一连串有序的、头尾相连且形成环形的gis点数据的集合,单个gis面数据中至少包含三个坐标点。
13、作为一种可选的技术方案,步骤s2具体为:
14、s21.获取所有gis线数据,提取每条gis线数据中的头节点和尾节点;
15、s22.将每个gis线数据的头节点和尾节点依次遍历,获取任一gis线数据中的第一头节点,计算所述第一头节点与其他每条gis线数据的距离得到距离集合,提取所述距离集合中距离最近对应的第一距离,若所述第一距离小于缓冲区距离,则判定对应的两条gis线数据存在交汇并获取交汇点;
16、s23.插入单条gis线数据的头节点、尾节点及所有交汇点,并按照单条gis线数据对应索引号的排序,依次建立单条gis线数据对应的数据模型;
17、s24.对所有gis线数据重复s21到s23的步骤,在所述图数据中形成初步的水网数据模型。
18、作为一种可选的技术方案,步骤s3具体为:
19、依次遍历所述水网数据模型中的每一个节点,将入度为0、出度大于等于1的节点,标记为开始点;将入度为1,出度大于等于2的节点,标记为分水点;将入度大于等于2,出度等于1的节点,标记为汇水点;将出度大于等于2,入度大于等于2的节点,标记为分汇水点;将入度大于等于1,出度等于0的节点,标记为结束点;
20、将所述开始点、所述分水点、所述汇水点、所述分汇水点及所述结束点统称为分汇水节点。
21、作为一种可选的技术方案,步骤s4具体为:
22、s41.提取所述水网数据模型中所有分汇水节点,一一计算所有分汇水节点与所有gis点数据之间的距离,若判断存在单个分汇水节点与单个gis点数据的距离小于缓冲区距离,则将对应的gis点数据插入所述水网数据模型中并绑定对应的分汇水节点,实现在所述水网数据模型中完成gis点数据与分汇水节点的绑定;
23、s42.获取所有gis点数据中未与任意分汇水节点绑定成功对应的gis点数据,并进行删除。
24、作为一种可选的技术方案,步骤s5具体为:
25、获取gis面数据作为单个面数据节点插入所述水网数据模型中;
26、获取所述水网数据模型中所有分汇水节点及其坐标,并依次与每个面数据节点进行匹配得到匹配结果;
27、基于所述匹配结果,判定若存在第一分汇水节点与第一面数据节点之间的距离小于缓冲区距离,则将所述第一面数据节点对应gis面数据与所述第一分汇水节点绑定并建立预设关系。
28、作为一种可选的技术方案,将所述第一面数据节点对应gis面数据与所述第一分汇水节点绑定建立预设关系包括:
29、若所述第一分汇水节点的入度为0,则命名所述预设关系为出水口,由所述第一面数据节点指向所述第一分汇水节点;
30、若所述第一分汇水节点的出度为0,则命名所述预设关系为入水口,由所述第一分汇水节点指向所述第一面数据节点;
31、若所述第一分汇水节点满足入度不为0及出度不为0的条件,所述预设关系则是由所述第一面数据节点指向所述第一分汇水节点。
32、作为一种可选的技术方案,步骤s6具体为:
33、s61.对所述水网数据模型中的重复数据进行分析处理,生成第一问题子报告;
34、s62.对所述水网数据模型中的gis线数据进行逆流错误分析处理,生成第二问题子报告;
35、s63.将所有gis点数据与所述水网数据模型进行比对,生成第三问题子报告;
36、s64.将所述第一问题子报告、所述第二问题子报告及所述第三问题子报告整合成所述问题报告。
37、作为一种可选的技术方案,步骤s61具体为:
38、s611.全量加载所述水网数据模型中具有连接关系的节点,并计算任意一组具有连接关系节点之间包含gis线数据的数量;
39、s612.将gis线数据的数量大于1对应的一组节点取出,形成初步的疑似数据重复集合;
40、s613.遍历所述疑似数据重复集合,取出任意一组节点中的单个节点为第一节点,并以所述第一节点分别为开始节点和结束节点进行递归遍历,查询在其他任意一组节点中是否包含所述第一节点的延伸gis线数据,若是,找出包含所述第一节点在内的多个重复关联节点,形成一组问题数据;
41、s614.将包含所述第一节点在内的多个重复关联节点删除,并重复执行步骤s613,形成多组问题数据;
42、s615.统计每一组问题数据中节点的数量,并以每组包含节点的数量进行倒序排序得到排序结果;
43、s616.基于所述排序结果,将每组问题数据中的节点id转换为水利对象名称及水利对象编码,形成第一问题子报告;
44、步骤s62具体为:
45、s621.筛选所有分汇水节点中的开始节点,以单个开始节点为起点,按照开始节点的指向关系逐层递归进行查找后续分汇水节点,直至所述水网数据模型中的最后一层,并对每条查找线路进行记录;
46、s622.判断每条查找线路中是否存在重复的分汇水节点,若是,将重复的分汇水节点及对应的查找线路分别标记为问题节点和问题线路,若否,则不动作;
47、s623.筛选所述水网数据模型中的所有问题节点及对应的问题线路,形成第二问题子报告;
48、步骤s63具体为:
49、s631.取出所述图数据中所有分汇水节点及其关系,依次遍历每个分汇水节点,在遍历任意一个分汇水节点记作第二分汇水节点时,将所述第二分汇水节点及所有与所述第二分汇水节点有关联的分汇水节点合并为一组,并判断下一个遍历的分汇水节点是否在分组中,若是,则跳过继续遍历,若否,则将对应的分汇水节点记作第三分汇水节点,将所述第三分汇水节点及所有与所述第三分汇水节点有关联的分汇水节点合并为一组;
50、s632.判断分汇水节点的分组组数是否为1组,若是,则判定对应的水网图为连通图;若否,则判定对应的水网图为非连通图,并进行统计输出;
51、s633.当判断分汇水节点的分组组数为多组时,统计每组包含分汇水节点的节点数量并进行排序得到排序结果,基于所述排序结果,形成第三问题子报告。
52、作为一种可选的技术方案,所述缓冲区距离均为设定值。
53、本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
54、本发明公开了一种利用水利对象gis特征分析构建调度物理水网的方法,本方法以用水调度为目的,基于gis引擎,对水利对象中的河流、渠道、管道、渡槽等传输设施结合闸、泵、阀等控制设施,采用三类gis数据进行体现,自动生成为用水调度服务的物理水网,为后续的水网调度计算模型服务。
55、本发明通过gis数据自动生成水网数据模型,且对该水网数据模型设置自检程序,对原有的gis数据进行基于水利业务的检查,提升gis数据的质量。
56、本发明建立了基于图数据为存储介质的水网数据模型,物理水网中水利对象的所有关系、位置及属性信息等可以直接在可视化平台上以图数据本身的网状结构呈现,更加高效和直观。
57、本发明的水网数据模型通过gis数据将物理水网数字化和图形化,扩展了通过图算法结合其他算法做水利水网数字孪生预演的可能性,打通了水利水网数字孪生预演的底层数据基础。
1.一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,gis点数据、gis线数据和gis面数据具体的计算机语言描述如下:
3.根据权利要求2所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s2具体为:
4.根据权利要求1所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s3具体为:
5.根据权利要求1所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s4具体为:
6.根据权利要求1所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s5具体为:
7.根据权利要求6所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,将所述第一面数据节点对应gis面数据与所述第一分汇水节点绑定建立预设关系包括:
8.根据权利要求1所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s6具体为:
9.根据权利要求8所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,步骤s61具体为:
10.根据权利要求3、5和6中任意一项所述的一种利用水利对象gis特征分析构建调度物理水网的方法,其特征在于,所述缓冲区距离均为设定值。
