CN106202265A - 流域大尺度复杂河网海量精细规则网格的绘编方法 - Google Patents
流域大尺度复杂河网海量精细规则网格的绘编方法 Download PDFInfo
- Publication number
- CN106202265A CN106202265A CN201610502440.6A CN201610502440A CN106202265A CN 106202265 A CN106202265 A CN 106202265A CN 201610502440 A CN201610502440 A CN 201610502440A CN 106202265 A CN106202265 A CN 106202265A
- Authority
- CN
- China
- Prior art keywords
- grid
- section
- dimensional
- river
- tributary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Revetment (AREA)
Abstract
本发明公开了一种流域大尺度复杂河网海量精细规则网格的绘编方法,包括步骤:S1识别流域水系体的结构层和边界范围层;S2对流域水系河道进行分段获得河段;S3分别绘制各河段的二维规则网格,并对各河段中网格分别编码;S4对二维规则网格进行二维化整编,获得整体网格;S5整体网格的一维化整编;S6构建一维网格关系。本发明基于已有的海量规则网格的网格方法和工具,实现了简单高效的大尺度海量网格的增减和粗化,实现网格的一次性绘制终身可用,为基于规则网格的数值计算提供数据支撑。
Description
技术领域
本发明属于流体力学和环境模拟领域,涉及一种流域大尺度复杂河网海量精细规则网格的绘编方法。
背景技术
网格是将整体单元离散化,进行有限元数值模拟计算的前提。随着以有限元数值计算为基础的流体力学计算与二三维水动力水质数学模型的不断发展,以及环境管理对流域性大尺度高精度模拟计算的需要,构建高精度的海量网格,满足计算范围随时变动、计算精度不断变化等的需求,如何绘制一套高精度的海量的网格体系,并基于这套网格满足不断变化的计算需求,是当前环境管理与模拟分析所面临的重要问题,也是提高网格体系的可重复利用性、减少数值模拟前期工作,提高模拟效率的重要技术问题。
数值离散计算中,通过将计算区域划分为较小的、不重叠的计算单元,单元的大小和数量决定了计算的精度和速度,网格越小计算精度越高,但会使得网格数量越大,降低计算效率。流域性水环境计算的需求,从单一河道不断向全流域的河网扩展。流域河网各个河道流向不同,汇流情况复杂。目前已有的网格绘制工具在生成适应于离散数值计算的规则网格时,采用二维平面直角坐标系,以正东方向为X轴(i方向)、以正北方向为Y轴(j方向),对所绘制的网格按照i、j方向进行连续编号。这种方法通过i、j的大小,能方便的获知各网格的上下左右的空间相邻关系,从而进行离散化空间求解。
但在复杂河网中,由于不同的河段沿着不同的方向延伸,而要保证i、j的连续性,i、j的最大值im、jm由具有同一延伸方向的整体河道长度决定,网格的总数为im*jm,一旦i和j方向的河道较长,精度要求较高,im*jm值将非常大。
虽然目前生成有限元结构化网格的方法和技术已经非常成熟,出现了一系列的商业级的软件如delft3d、EFDC、Seagrid、CAD等。这些软件不仅能进行正交网格的绘制,还具有网格平滑、正交、删减等方法可以用来对网格的质量进行检验或编辑。但已有的规则网格绘制技术和软件,受限于计算机内存和硬件条件的限制,一次性能绘制的网格个数有限。在进行大流域河网的规则网格绘制中,完全无法满足高精度的交叉河网的网格需求。同时,利用规则网格的二维编码方式,在河网地区,将出现大量的无效网格,这些网格不在河道范围内,属于陆地范围,但由于规则网格i、j方向的编码方式,同样会被网格覆盖,造成网格单元的浪费和离散迭代计算量的增加。而随着计算需求的不断变化,对能动态满足计算需求要求,可增可减、可粗可细的网格绘制与编辑方法,更是成为当前数值模拟领域的一大挑战。
发明内容
针对现有技术存在的问题,本发明提供了一种流域大尺度复杂河网海量精细规则网格的绘编方法,该方法实现了复杂河网区域的高精度海量网格绘制,可满足计算范围随时变动、计算精度不断变化的网格构建需求。
为解决上述问题,本发明采用如下技术方案:
一、一种流域大尺度复杂河网海量精细规则网格的绘编方法,包括:
S1识别流域水系体的结构层和边界范围层,本步骤具体为:
基于DEM数据,识别流域水系,提取流域水系结构层,识别流域水系边界范围层;
S2对流域水系河道进行分段获得河段,本步骤具体为:
将流域水系边界范围层中待计算河道分为干流河道、支流河道和汇流河道,其中:以汇流河道为节点对干流河道进行分段,得干流河段;支流河道上游边界到该支流河道与干流河道的入汇处的支流河道即支流河段;一个汇流河道即一个汇流河段;
S3分别绘制各河段的二维规则网格,并对各河段中网格分别编码,本步骤具体为:
绘制河段的二维规则网格,对河段中网格进行编码得网格的原始二维编码;所绘制的网格信息包括网格编码、网格坐标(x,y)及网格z值,z为网格的河底高程;其中:
干流河段和汇流河段的网格编码具体为:以干流河道水流方向为i方向,j方向垂直i方向且指向干流河道左侧;将当前河段上游边界右岸的网格作为起始网格,并编码为(1,1);分别沿i、j方向,采用(i,j)对其他网格依次连续编码;
左侧支流河段的网格编码具体为:以左侧支流河段与干流河道入汇处到该左侧支流河段的上游方向为j'方向;将左侧支流河段与干流河道入汇边界右岸的网格作为起始网格,并编码为(1,1);分别沿i、j'方向,采用(i,j')对其他网格依次连续编码;
右侧支流河段的网格编码具体为:以右侧支流河段与干流河道入汇处到该右侧支流河段的上游方向为j″方向;将右侧支流河段与干流河道入汇边界左岸的网格作为起始网格,并编码为(1,1);分别沿i、j″方向,采用(i,j″)对其他网格依次连续编码;
左侧支流河段和右侧支流河段分别指从左侧和右侧入汇到干流河道的支流河道;
S4二维规则网格的二维化整编,获得网格的整体二维编码(I,J),本步骤进一步包括:
4.1找出所有右侧支流河段网格的原始二维编码中的最大j″值,记为j″max,以j=j″max为起始边,该起始边的j方向整体编码J记为1;沿着j方向搜索,每跨过一个j,j方向整体编码J加1,直至左侧支流河段最上游边界;
4.2沿着干流河道水流方向,以最上游干流河段的i=1边为起始边,该起始边的i方向整体编码I记为1;沿着i方向搜索,每跨过一个i,i方向整体编码I加1,直至干流河道最下游边界;
4.3(1,1)至(Imax,Jmax)区域内网格构成整体网格,Imax、Jmax分别为i方向和j方向整体编码中最大值;计算整体网格中各网格的干湿网格判断变量MFS,若x*y*z>0,网格的MFS=1;否则,MFS=0;
S5二维规则网格的一维化整编,获得网格的一维编号,具体为:
以网格(I,1)为扫描起点,I依次取1、2、…Imax,沿着j方向对网格逐一扫描直至J=Jmax,若扫描到的当前网格的MFS=1,当前一维编号加1作为当前网格的一维编号,同时采用当前网格的一维编号更新当前一维编号,然后扫描下一网格;当前一维编号初始值设为0,即令网格(1,1)的一维编号为0;若扫描到的当前网格的MFS=0,直接扫描下一网格;
S6构建一维网格关系,所述的一维网格关系包括各网格的一维编号、原始二维编码、以及各网格上游、下游、左侧、右侧四个相邻网格的一维编号。
步骤S2中,还包括对河段进行编码,其中:
干流河道的编码规则为:从上游到下游,按数值连续递增方式对干流河段顺次编号,基于编号获得干流河段编码;
支流河道的编码规则为:根据支流河段和干流河道的位置关系以及与支流河段相交的干流河段编号对支流河段进行编码;位置关系即支流河段在干流河道的左侧或右侧;
汇流河道的编码规则为:根据与汇流河段相邻的干流河段编号对汇流河段进行编码。
上述干流河段编码包括前缀M和编号。
上述支流河段编码包括前缀JL或JR、以及与支流河段相交的干流河段的编号,其中,JR表示支流河段位于干流河道的右侧,JL表示支流河段位于干流河道的左侧。
上述汇流河段编码包括前缀JH以及与汇流河段相邻的干流河段编号。
作为一种具体实施方式,完成河段进行编码后,还构建河段位置关系表,所述的河段位置关系表包括各河段的编码、类型、上游河段编码、下游河段编码、左侧入汇河段编码和右侧入汇河段编码。
作为优选,步骤3中,二维规则网格边长不小于河道宽度的1/10。
二、根据上述海量精细规则网格的增加方法,用于增加干流河段,包括:
延长干流河道的上游第一个或下游最后一个河段,涵盖至需要增加位置,当前河段位置关系表保持不变;
按照上述步骤S3重新绘制延长后干流河段的二维规则网格,并对二维规则网格进行编码;
按照上述步骤S4~S6构建增加干流河段后的新一维网格体系。
三、根据上述海量精细规则网格的增加方法,用于增加支流河段,包括:
按照上述步骤S2所示方法对增加支流河段后的流域水系河道重新进行分段和编码,并更新当前河段位置关系表;
按照上述步骤S3绘制增加的支流河段的二维规则网格,并对二维规则网格进行编码;
按照上述步骤S4~6构建增加支流河段后的新一维网格体系。
四、根据上述海量精细规则网格的粗化方法,包括:
S1按照实际网格计算需求,确定粗化比例n,n为正整数;
S2从一维编号为1的网格开始,按照一维编号从小到大的顺序遍历所有网格,标记所有网格的顶点及其坐标;对原始二维编码为(i,j)的网格,沿逆时针方向将网格的顶点依次标记为点(i,j)、(i+1,j)、(i+1,j+1)、(i,j+1),顶点(i,j)表示网格左下顶点;
S3根据粗化比例粗化网格,本步骤进一步包括:
3.1以i=1的顶点中j值最小的顶点为起点;
3.2将起点标记为(i0,j0),沿j方向扫描顶点,直至j值最大的顶点,获得粗化网格的顶点;将沿j方向的第k+1个粗化网格的顶点按逆时针顺次标记为(i0,j0+k·n)、(i0+n,j0+k·n)、(i0+n,j0+(k+1)·n)、(i0,j0+(k+1)·n),顶点(i0,j0+k·n)为粗化网格左下顶点,k为自然数;
3.3令i=i+n,以当前i所对应顶点中j值最小的顶点为起点,然后执行子步骤3.2;
S4对粗化网格进行二维编码,即粗化网格的原始二维编码由粗化前的(i+n·k,j+n·k)变为(i+k,j+k),按照权利要求1步骤S4~6方法完成粗化网格的一维化整编并构建一维网格关系。
本发明基于已有的二维规则网格绘制和编码方法,对河网进行分段,分别绘制二维网格;通过整编和一维化技术形成河网区域内的高精度一维化网格;基于该网格体系,在网格增加、粗化技术的基础上,实现可动态变化的计算网格。本发明在公告号为CN104200045B的中国专利的技术基础上做进一步完善,使得适应于构建海量网格体系,以支撑流域大尺度的高精度数值模拟计算。
与现有技术相比,本发明具有以下优点和效果:
(1)基于已有的网格绘制软件,在其能完成的网格量绘制的基础上,通过对流域复杂河网分段和编码,按照分段分别进行二维规则网格绘制,避免了现有技术和软件无法一次性完成大流域复杂河网精细海量网格绘制的问题。
(2)基于分段绘制的二维规则网格,通过二维网格整编与一维化处理和一维化空间关系设置,既剔除了网格体系中非河道内的计算网格、极大地减少了网格总数、降低了非计算区域网格带来的迭代浪费;又保留了网格的空间位置关系,不影响离散方程的求解和计算。
(3)基于构建的一维化的精细网格体系和分段绘编方法,能对网格体系的网格进行任意的增加和任意比例的粗化,不需要根据研究范围的变动重新进行网格的生成,极大地提高了网格的可重复利用性,提高了离散数值模拟的前处理速度。
附图说明
图1为本发明的具体流程图;
图2为实施例中复杂河网分段编码规则示意图;
图3为实施例中分段绘制的二维规则网格;
图4为实施例中河段整体编码的整编;
图5为实施例中河段整体一维化编码过程;
图6为实施例中河段二维网格关系与一维化网格关系;
图7为实施例中绘制的一维化网格;
图8为实施例中增加河段后的河段编码;
图9为实施例中增加河段后的一维化网格体系;
图10为网格2倍粗化过程示意图,左图表示粗化前网格,右图表示粗化后网格;
图11为实施例中长江河网网格2倍粗化,其中,图(a)表示粗化前网格体系,图(b)表示粗化后网格体系。
图7、9、11中,X轴表示正东方向,即i方向;Y轴表示正北方向,即j方向。
具体实施方式
本发明流域大尺度复杂河网海量精细规则网格的绘编方法,是流域大尺度计算区域的规则网格的分段绘制和统一整编的二维化网格绘制与一维化整编技术。该技术的在专利号ZL 2014 1 0476611.3中步骤1到步骤4的技术基础上,进行修改完善的技术。通过对研究范围内的河道关系进行识别,划分出主干支流河道、并依据河道的长度对河道进行分段处理和编号,得到分段的具有相互关系的河段信息表Table_Rnet;利用已有的网格绘制工具,按河段分别绘制流域范围内不同区段的二维网格,得到每个河段的二维网格数据;根据不同河段之间的相邻关系,对所有绘制的河段网格按照区域位置进行统一的一维编号,实现所有分开绘制网格的统一化整编。由此获得计算范围内的一维化分段整编的网格体系。
本发明海量精细规则网格的增加方法,是在已有的一维化分段整编的网格体系的基础上,根据实际计算需要,对网格体系进行增减的编辑技术。根据实际计算需要,确定需要进行网格修改的区域位置,对网格体系进行增加,并依次修改Table_Rnet中网格块的相互关系,重新规整编号,形成新的网格体系。
本发明海量精细规则网格的粗化方法,是在已有的最终编辑并确定的网格体系的基础上,对网格的精度进行按比例放大的技术。根据计算效率的需要,如现有网格精度无法满足计算效率的要求,需要进行粗化处理,则在现有网格精度及其计算效率的基础上,确定参与计算的网格的粗化比例,依据粗化比例,将所有参与计算的网格粗化,并重新对粗化后的网格进行规整编号,形成粗化后的网格体系。
下面将结合附图对本发明作进一步详细描述。
(一)河网分段编码
(1)干流河道编码
基于实际河网关系,概化识别河网边界及其相互关系。见图2,图2所示为三峡库区长江干流以及嘉陵江、乌江和香溪河等三条支流河道。三条支流河道截断干流河道,将干流河道分为4段河段,从上游到下游将干流河道各河段依次编码为M1、M2、M3、M4。
(2)支流河道编码
从干流河道上游到下游,按照先上游后下游的顺序,依次对支流河段编码。嘉陵江位于长江左侧,处于河段M1和M2之间,因此嘉陵江河段编码为JL01_02;乌江位于长江右侧,处于河段M2和M3之间,乌江河段编码为JR02_03;香溪河位于长江左侧,处于河段M3和M4之间,香溪河河段编码为JL03_04。
(3)汇流河道编码
汇流河道即汇流区,汇流区即干流河道和支流河道的交汇处,其范围由支流河道左右两岸边界向干流河道延伸,直到干流河道对岸的相交区域组成。每条支流河道与干流河道都有一个汇流区,一个汇流区即一个汇流河段。从上游到下游对汇流河段依次编码。图2中,嘉陵江与干流河道的汇流区处于M1和M2之间,因此编码为JH01_02;乌江与干流河道的汇流区编码为JH02_03;香溪河与干流河道的汇流区编码为JH03_04。
(4)河段关系构建
基于上述三步的编码,构建图2的河段位置关系表Table_Rnet,见表1。
表1河段位置关系表Table_Rnet
表1中,“①”表示干流河段,即水流沿着i方向增大的河段类型;“②”表示水流沿着i方向减小的河段类型;“③”表示右侧支流河段,即水流沿着j方向增大的河段;“④”表示左侧支流河段,即水流沿着j方向减少的河段;“⑤”表示汇流区河段;“0”表示不存在。这里j方向指垂直i方向且指向干流河段左侧的方向。本文中所述左侧和右侧以面向河道下流为准。
(二)河段网格的绘制和整编
(1)二维规则网格的绘制
在delft3d等二维规则网格绘制工具中,分别绘制各河段的二维规则矩形网格。见图3,对干流河段和汇流河段的网格,分别按如下方法编码:
以干流河道水流方向为i方向,j方向垂直i方向且指向干流河道左侧,将当前河段上游边界右岸的网格作为起始网格,并编码为(1,1),沿着i、j方向,采用(i,j)对其他网格连续编码。
(i,j)中i、j分别表示网格在i、j方向的位置序号。某网格在i和j方向分别位于第3和第4,则该网格编码为(3,4)。
对左侧支流河段的网格,分别按如下方法编码:
以干流河道水流方向为i方向,以左侧支流河段与干流河道入汇处到该左侧支流河段的上游方向为j'方向,将左侧支流河段与干流河道入汇边界右岸的网格作为起始网格,并编码为(1,1),沿着i、j'方向,采用(i,j')对其他网格连续编码。(i,j')中i、j'分别表示网格在i、j'方向的位置序号。
对右侧支流河段的网格,分别按如下方法编码:
以干流河道水流方向为i方向,以右侧支流河段和干流河道入汇处到该右侧支流河段的上游方向为j″方向,将右侧支流河段和干流河道入汇边界左岸的网格作为起始网格,并编码为(1,1),沿着i、j″方向,采用(i,j″)对其他网格连续编码。(i,j″)中i、j″分别表示网格在i、j″方向的位置序号。
本步骤所得网格编码即网格的原始二维编码。
二维规则网格的绘制精度即网格边长L,L至少为河宽W的1/10。相邻河段网格不重叠,但相邻边重合。令IMk、JMk分别表示干流河段M1在i、j方向的网格数。对河段JH01_02,其i=1的边(即JH01_02河段的第一条边)与河段M1中i=IMk的边(即河段M1的最后一条边)完全重合,该重合边上网格数和节点位置完全一致。
本步骤绘制的二维规则网格信息包括网格编码、网格坐标(x,y)以及其z值,其中,(x,y)为网格的地理投影坐标,z为网格的河底高程。
(2)二维规则网格的二维化整编
1)j方向整编
对各河段,其网格将会依次编码为(1,1)至(IMk,JMk),IMk、JMk表示河段在i、j方向的网格数。将所有河段网格的原始二维编码进行整编,使网格具有连续的整体二维编码。图4中,乌江河段JR02_03类型记为③,其中网格原始二维编码的最大j″值记为JMTR02_03,以j=JMTR02_03为起始边,将该起始边在j方向的整体编码记为J1,J1=1。沿着乌江向干流河道搜索,每跨过一个j,j方向整体编码J加1,直到乌江河段JR02_03与汇流河段JH02_03的交界边,乌江河段检索完成。乌江河段JR02_03中网格j方向整体编码J=JMTR02_03-j″ini+1,j″ini表示当前网格的原始二维编码中j″值。若存在其余类型为③的河段,其整体编码J同样采用式J=JMTR02_03-j″ini+1计算。
乌江河段检索完成,将乌江河段JR02_03与汇流河段JH02_03交界边的j方向整体编码记为J2,J2=JMTR02_03。沿着j方向对汇流河段JH02_03中网格继续搜索,每跨过一个j,j方向整体编码J加1,直到汇流河段JH02_03对岸J3,J3即汇流河段JH02_03左侧边界的j方向整体编码,J3=JMTR02_03+JMJH02_03,JMJH02_03为汇流河段JH02_03中网格的原始二维编码的最大j值。
同样的,类型为①、②与⑤的河段网格的j方向整体编码J=jini+J2-1,jini表示当前网格的原始二维编码中j值,J表示当前网格的j方向整体编码。类型为④的河段,其网格的j方向整体编码J=j'ini+J3-1,j'ini表示当前网格的原始二维编码中j'值。
2)i方向整编
沿着干流河道水流方向,以位于最上游的干流河段的最上游边界i=1为起始边,将该起始边在i方向的整体编码记为I1,I1=1,沿着i方向进行i方向整编。图4中,将河段M1最上游边界作为起始边,将河段M1与相邻河段JH01_02交界边的i方向整体编码记为I2,I2=IMM1,IMM1表示河段M1的i方向网格数。与河段M1相交的汇流河段JH01_02,其中网格的i方向整体编码I=iini+I2-1,其中,iini为当前网格的原始二维编码中i值。河段JL01_02中网格的i方向整体编码具有同样的性质。依此类推,获得各河段中网格的i方向整体编码。
从图4可以看出,整编后的整体二维编码I和J的最大值分别为I8和J4。在(1,1)至(I8,J4)区域内的网格构成整体网格,该区域中大部分区域为白色区域,这些白色占用了大量的网格单元,但却不是有效地河道网格单元。迭代计算中,白色区域的存在,极大地降低了计算效率。为识别白色区域(即干网格)和河道区域网格(湿网格),在二维化整编过程中,添加干湿网格判断变量MFS,若网格的x*y*z>0,则该网格为河道区域网格,MFS为1;否则MFS为0。
(3)二维规则网格的一维化整编
基于整体网格进行一维化整编,以剔除不参与计算的网格单元。见图5,以整体网格(1,1)为扫描起点,固定I=1,从J=1开始沿着j方向对网格逐一扫描,若扫描到的当前网格的MFS=1,当前一维编号加1作为当前网格的一维编号,同时采用当前网格的一维编号更新当前一维编号,然后扫描下一网格,这里当前一维编号初始值设为0;若扫描到的当前网格的MFS=0,继续扫描下一网格。扫描过程中,一维编号以1为步长逐渐递增。当扫描到J4时,令I加1,以(2,1)为扫描起点,继续沿着j方向扫描,依此类推,直到完成整体网格的扫描。一维化整编后整体网格,只保留了MFS=1的河道网格,网格一维编号之间成1的递增关系。
(4)一维网格关系建立
见图6,一维网格关系由二维网格的相互关系转换而来。将网格的一维编号记为(ij),其对应的原始二维编码记为(i,j)。一维网格关系则包括网格的一维编号(ij)、其对应的原始二维编码(i,j)、以及其上、下、左、右四个相邻网格的一维编号。图6中,(ij1)表示网格(ij)左侧网格的一维编号,该左侧网格的原始二维编码为(i-1,j);(ij2)表示网格(ij)右侧网格的一维编号,该右侧网格的原始二维编码为(i+1,j);(ij3)表示网格(ij)下游网格的一维编号,该下游网格的原始二维编码为(i,j-1);(ij4)为网格(ij)上游网格的一维编号,该上游网格的原始二维编码为(i,j+1)。若网格(ij1)、(ij2)、(ij3)、(ij4)不存在,则对应的一维编号记为0。
基于上述过程,绘制并一维化的三峡库区长江干流、嘉陵江、乌江和香溪河的网格见图7。
(三)增加河段网格
(1)增加河段
在当前河段位置关系表中河段不能满足实际计算需要时,需增加新河段。本实施例中,在图1所示的当前河网中,增加澎溪河为新的计算区域,见图8,澎溪河为位于长江左侧的支流,在嘉陵江以下香溪河以上。重新进行水系河道的分段编码,更新Table_Rnet。其中,澎溪河以上的区域河网关系不变,对以下区域依次进行更新。
(2)二维规则网格的二维化整编与一维化整编
重复步骤(2)~(4)依次完成增加澎溪河后网格的二维化整编和一维化整编,构建新的网格体系,最终生成的新网格体系见图9。
(四)网格粗化
(1)确定粗化比例
计算时,由于计算目的和速度要求以及硬件设备的变化,进行离散化求解中对网格精度要求会发生变化。如全流域模拟中,如果计算目的是为了快速地预测全河道中水位的变化趋势,对速度要求很高。此时,可以采取粗化网格的方法,减少网格总数,进而降低计算量,提高计算速度。设定粗化的比例为2,即在现有网格基础上,将当前精度的矩形网格边长扩大2倍。
(2)搜索网格顶点
从一维编号为1的网格开始,按照一维编号从小到大的顺序遍历所有网格,获得网格的顶点坐标。以当前网格左下顶点为起点,按照遍历的当前网格的原始二维编码(i,j),将当前网格各顶点按逆时针方向顺次标记为顶点(i,j)、(i+1,j)、(i+1,j+1)、(i,j+1),顶点(i,j)、(i+1,j)、(i+1,j+1)、(i,j+1)的坐标分别记为(x(i,j),y(i,j))、(x(i+1,j),y(i+1,j))、(x(i+1,j+1),y(i+1,j+1))、(x(i,j+1),y(i,j+1))。
(3)根据粗化比例粗化网格
按照粗化比例n对网格进行粗化,确定粗化网格的顶点。对各列顶点,以该列中J值最小的顶点为起点,沿着j方向对该列顶点进行扫描,获得粗化网格的顶点。见图10,将粗化后网格记为A(a,b,c,d),粗化网格顶点按逆时针方向顺次记为顶点a、b、c、d,a为粗化网格左下顶点,也即起点。
本实施例中,粗化网格A(a,b,c,d)的顶点坐标分别如下:
式(1)中,a(x,y)、b(x,y)、c(x,y)、d(x,y)分别表示粗化网格的顶点a、b、c、d的坐标;(x(i,j),y(i,j))、(x(i+2,j),y(i+2,j))、(x(i+2,j+2),y(i+2,j+2))、(x(i,j+2),y(i,j+2))分别表示顶点(i,j)、(i+2,j)、(i+2,j+2)、(i,j+2)的坐标。
以顶点d为起点,沿着j方向继续扫描顶点。采用式(1)获得以d为起点的粗化网格的顶点坐标,依此往下,直至j方向网格顶点全部检索完毕。令i=i+2,以当前列中j值最小的顶点为起点(即图10中顶点b),沿着j方向继续扫描顶点,直到完成全部检索。
④粗化网格的整体二维编码:
对粗化网格进行二维编码,按照未粗化前的原始二维编码,由小到大依次编码,形成粗化网格的原始二维编码。将粗化网格的原始二维编码记为(i',j'),则有:
式中,(i+2k,j+2k)表示未粗化前网格的原始二维编码,在原来网格体系中,原始二维编码为(i+2k,j+2k)的原始网格会在粗化网格体系中保留,见图10,其坐标值与高程值保持不变。粗化网格的原始二维编码由粗化前的(i+2k,j+2k)变为(i+k,j+k),k为自然数。
在此基础上,采用上述(二)中方法对粗化网格依次完成二维化整编和一维化整编。图11为在绘制的网格基础上,进行2倍粗化的网格体系,其中,图(a)为粗化前网格体系,图(b)为粗化后网格体系。
本发明通过对流域大尺度复杂河网精细网格的分块绘制、按网格的空间拓扑关系进行统一编号、将分块绘制的网格汇成整体网格的技术,实现在现有网格绘制技术方法受计算机硬件内存限制无法一次性完成海量网格绘制的问题;通过构建基于网格编号与拓扑关系的网格修改技术,实现在绘制的网格体系的任意位置进行网格的添加,解决在实际计算中由于计算范围变动而已有网格无法重复利用的问题,减少网格绘制的工作,增加网格的可利用性;通过构建网格粗化技术,实现将精细网格按任意比例进行粗化,解决实际计算过程中,对不同计算位置、不同计算任务需要不同精细程度的网格的需要,提高计算的效率和减少硬件开销。
Claims (10)
1.一种流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是,包括:
S1识别流域水系体的结构层和边界范围层,本步骤具体为:
基于DEM数据,识别流域水系,提取流域水系结构层,识别流域水系边界范围层;
S2对流域水系河道进行分段获得河段,本步骤具体为:
将流域水系边界范围层中待计算河道分为干流河道、支流河道和汇流河道,其中:以汇流河道为节点对干流河道进行分段,得干流河段;支流河道上游边界到该支流河道与干流河道的入汇处的支流河道即支流河段;一个汇流河道即一个汇流河段;
S3分别绘制各河段的二维规则网格,并对各河段中网格分别编码,本步骤具体为:
绘制河段的二维规则网格,对河段中网格进行编码得网格的原始二维编码;所绘制的网格信息包括网格编码、网格坐标(x,y)及网格z值,z为网格的河底高程;其中:
干流河段和汇流河段的网格编码具体为:以干流河道水流方向为i方向,j方向垂直i方向且指向干流河道左侧;将当前河段上游边界右岸的网格作为起始网格,并编码为(1,1);分别沿i、j方向,采用(i,j)对其他网格依次连续编码;
左侧支流河段的网格编码具体为:以左侧支流河段与干流河道入汇处到该左侧支流河段的上游方向为j'方向;将左侧支流河段与干流河道入汇边界右岸的网格作为起始网格,并编码为(1,1);分别沿i、j'方向,采用(i,j')对其他网格依次连续编码;
右侧支流河段的网格编码具体为:以右侧支流河段与干流河道入汇处到该右侧支流河段的上游方向为j”方向;将右侧支流河段与干流河道入汇边界左岸的网格作为起始网格,并编码为(1,1);分别沿i、j”方向,采用(i,j”)对其他网格依次连续编码;
左侧支流河段和右侧支流河段分别指从左侧和右侧入汇到干流河道的支流河道;
S4二维规则网格的二维化整编,获得网格的整体二维编码(I,J),本步骤进一步包括:
4.1找出所有右侧支流河段网格的原始二维编码中的最大j”值,记为以为起始边,该起始边的j方向整体编码J记为1;沿着j方向搜索,每跨过一个j,j方向整体编码J加1,直至左侧支流河段最上游边界;
4.2沿着干流河道水流方向,以最上游干流河段的i=1边为起始边,该起始边的i方向整体编码I记为1;沿着i方向搜索,每跨过一个i,i方向整体编码I加1,直至干流河道最下游边界;
4.3(1,1)至(Imax,Jmax)区域内网格构成整体网格,Imax、Jmax分别为i方向和j方向整体编码中最大值;计算整体网格中各网格的干湿网格判断变量MFS,若x*y*z>0,网格的MFS=1;否则,MFS=0;
S5二维规则网格的一维化整编,获得网格的一维编号,具体为:
以网格(I,1)为扫描起点,I依次取1、2、…Imax,沿着j方向对网格逐一扫描直至J=Jmax,若扫描到的当前网格的MFS=1,当前一维编号加1作为当前网格的一维编号,同时采用当前网格的一维编号更新当前一维编号,然后扫描下一网格;当前一维编号初始值设为0,即令网格(1,1)的一维编号为0;若扫描到的当前网格的MFS=0,直接扫描下一网格;
S6构建一维网格关系,所述的一维网格关系包括各网格的一维编号、原始二维编码、以及各网格上游、下游、左侧、右侧四个相邻网格的一维编号。
2.如权利要求1所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
步骤S2中,还包括对河段进行编码,其中:
干流河道的编码规则为:从上游到下游,按数值连续递增方式对干流河段顺次编号,基于编号获得干流河段编码;
支流河道的编码规则为:根据支流河段和干流河道的位置关系以及与支流河段相交的干流河段编号对支流河段进行编码;位置关系即支流河段在干流河道的左侧或右侧;
汇流河道的编码规则为:根据与汇流河段相邻的干流河段编号对汇流河段进行编码。
3.如权利要求2所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
所述的干流河段编码包括前缀M和编号。
4.如权利要求2所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
支流河段编码包括前缀JL或JR、以及与支流河段相交的干流河段的编号,其中,JR表示支流河段位于干流河道的右侧,JL表示支流河段位于干流河道的左侧。
5.如权利要求2所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
汇流河段编码包括前缀JH以及与汇流河段相邻的干流河段编号。
6.如权利要求2所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
完成河段进行编码后,还构建河段位置关系表,所述的河段位置关系表包括各河段的编码、类型、上游河段编码、下游河段编码、左侧入汇河段编码和右侧入汇河段编码。
7.如权利要求1所述的流域大尺度复杂河网海量精细规则网格的绘编方法,其特征是:
步骤3中,二维规则网格边长不小于河道宽度的1/10。
8.根据权利要求1所述的海量精细规则网格的增加方法,用于增加干流河段,其特征是,包括:
延长干流河道的上游第一个或下游最后一个河段,涵盖至需要增加位置,当前河段位置关系表保持不变;
按照权利要求1中步骤S3重新绘制延长后干流河段的二维规则网格,并对二维规则网格进行编码;
按照权利要求1中步骤S4~S6构建增加干流河段后的新一维网格体系。
9.根据权利要求1所述的海量精细规则网格的增加方法,用于增加支流河段,其特征是,包括:
按照权利要求1步骤S2所示方法对增加支流河段后的流域水系河道重新进行分段和编码,并更新当前河段位置关系表;
按照权利要求1中步骤S3绘制增加的支流河段的二维规则网格,并对二维规则网格进行编码;
按照权利要求1中步骤S4~6构建增加支流河段后的新一维网格体系。
10.根据权利要求1所述的海量精细规则网格的粗化方法,其特征是,包括:
S1按照实际网格计算需求,确定粗化比例n,n为正整数;
S2从一维编号为1的网格开始,按照一维编号从小到大的顺序遍历所有网格,标记所有网格的顶点及其坐标;对原始二维编码为(i,j)的网格,沿逆时针方向将网格的顶点依次标记为点(i,j)、(i+1,j)、(i+1,j+1)、(i,j+1),顶点(i,j)表示网格左下顶点;
S3根据粗化比例粗化网格,本步骤进一步包括:
3.1以i=1的顶点中j值最小的顶点为起点;
3.2将起点标记为(i0,j0),沿j方向扫描顶点,直至j值最大的顶点,获得粗化网格的顶点;将沿j方向的第k+1个粗化网格的顶点按逆时针顺次标记为(i0,j0+k·n)、(i0+n,j0+k·n)、(i0+n,j0+(k+1)·n)、(i0,j0+(k+1)·n),顶点(i0,j0+k·n)为粗化网格左下顶点,k为自然数;
3.3令i=i+n,以当前i所对应顶点中j值最小的顶点为起点,然后执行子步骤3.2;
S4对粗化网格进行二维编码,即粗化网格的原始二维编码由粗化前的(i+n·k,j+n·k)变为(i+k,j+k),按照权利要求1步骤S4~6方法完成粗化网格的一维化整编并构建一维网格关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610502440.6A CN106202265B (zh) | 2016-06-29 | 2016-06-29 | 流域大尺度复杂河网海量精细规则网格的绘编方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610502440.6A CN106202265B (zh) | 2016-06-29 | 2016-06-29 | 流域大尺度复杂河网海量精细规则网格的绘编方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106202265A true CN106202265A (zh) | 2016-12-07 |
CN106202265B CN106202265B (zh) | 2019-03-19 |
Family
ID=57463726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610502440.6A Active CN106202265B (zh) | 2016-06-29 | 2016-06-29 | 流域大尺度复杂河网海量精细规则网格的绘编方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106202265B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107091911A (zh) * | 2017-04-17 | 2017-08-25 | 郑州大学环境技术咨询工程有限公司 | 一种河流水质预测方法 |
CN107871041A (zh) * | 2017-11-06 | 2018-04-03 | 武汉大学 | 流域复杂地形的网格处理方法 |
CN107871048A (zh) * | 2017-11-22 | 2018-04-03 | 武汉大学 | 大尺度流域网格分块方法 |
CN107944102A (zh) * | 2017-11-13 | 2018-04-20 | 武汉大学 | 流域大尺度复杂河网的网格拼接方法 |
CN108073776A (zh) * | 2017-12-29 | 2018-05-25 | 武汉大学 | 复杂河网干支流交汇口网格绘制及江心洲网格处理方法 |
CN108090164A (zh) * | 2017-12-13 | 2018-05-29 | 武汉大学 | 一种流域大尺度计算海量网格的编码方法 |
CN109101732A (zh) * | 2018-08-15 | 2018-12-28 | 四川大学 | 基于地形特征界线的无汊河道二维结构网格剖分方法 |
CN109285219A (zh) * | 2018-07-25 | 2019-01-29 | 中国水利水电科学研究院 | 一种基于dem的网格型水文模型网格演算次序编码方法 |
CN110362876A (zh) * | 2019-06-21 | 2019-10-22 | 长江水利委员会长江科学院 | 一种基于有限测点的复杂河网水位场插值计算方法 |
CN112163322A (zh) * | 2020-09-07 | 2021-01-01 | 中国地质大学(武汉) | 一种河网区一维模型计算单元自动划分与编码的方法 |
CN112802181A (zh) * | 2021-01-18 | 2021-05-14 | 郑州轻工业大学 | 一种基于低细节高程数据的大规模三维河道场景重建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034001A (zh) * | 2010-12-16 | 2011-04-27 | 南京大学 | 一种以栅格为模拟单元的分布式水文模型设计方法 |
CN102663223A (zh) * | 2011-12-27 | 2012-09-12 | 中国科学院生态环境研究中心 | 复杂河网突发污染事件动态污染场计算方法 |
CN102722909A (zh) * | 2012-05-28 | 2012-10-10 | 武汉大学 | 一种基于自适应尺度dem的流水线拓扑网络动态模拟方法 |
CN104200045A (zh) * | 2014-09-17 | 2014-12-10 | 武汉大学 | 一种流域大尺度水系分布式水动力模型的并行计算方法 |
-
2016
- 2016-06-29 CN CN201610502440.6A patent/CN106202265B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034001A (zh) * | 2010-12-16 | 2011-04-27 | 南京大学 | 一种以栅格为模拟单元的分布式水文模型设计方法 |
CN102663223A (zh) * | 2011-12-27 | 2012-09-12 | 中国科学院生态环境研究中心 | 复杂河网突发污染事件动态污染场计算方法 |
CN102722909A (zh) * | 2012-05-28 | 2012-10-10 | 武汉大学 | 一种基于自适应尺度dem的流水线拓扑网络动态模拟方法 |
CN104200045A (zh) * | 2014-09-17 | 2014-12-10 | 武汉大学 | 一种流域大尺度水系分布式水动力模型的并行计算方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107091911A (zh) * | 2017-04-17 | 2017-08-25 | 郑州大学环境技术咨询工程有限公司 | 一种河流水质预测方法 |
CN107871041B (zh) * | 2017-11-06 | 2019-07-09 | 武汉大学 | 流域复杂地形的网格处理方法 |
CN107871041A (zh) * | 2017-11-06 | 2018-04-03 | 武汉大学 | 流域复杂地形的网格处理方法 |
CN107944102A (zh) * | 2017-11-13 | 2018-04-20 | 武汉大学 | 流域大尺度复杂河网的网格拼接方法 |
CN107944102B (zh) * | 2017-11-13 | 2019-07-09 | 武汉大学 | 流域大尺度复杂河网的网格拼接方法 |
CN107871048A (zh) * | 2017-11-22 | 2018-04-03 | 武汉大学 | 大尺度流域网格分块方法 |
CN107871048B (zh) * | 2017-11-22 | 2019-08-20 | 武汉大学 | 大尺度流域网格分块方法 |
CN108090164A (zh) * | 2017-12-13 | 2018-05-29 | 武汉大学 | 一种流域大尺度计算海量网格的编码方法 |
CN108090164B (zh) * | 2017-12-13 | 2019-08-20 | 武汉大学 | 一种流域大尺度计算海量网格的编码方法 |
CN108073776A (zh) * | 2017-12-29 | 2018-05-25 | 武汉大学 | 复杂河网干支流交汇口网格绘制及江心洲网格处理方法 |
CN109285219A (zh) * | 2018-07-25 | 2019-01-29 | 中国水利水电科学研究院 | 一种基于dem的网格型水文模型网格演算次序编码方法 |
CN110751723A (zh) * | 2018-07-25 | 2020-02-04 | 中国水利水电科学研究院 | 一种相同子流域河道网格演算次序编码方法 |
CN110766792A (zh) * | 2018-07-25 | 2020-02-07 | 中国水利水电科学研究院 | 基于ArcGIS水文分析工具网格演算次序编码方法 |
CN110751723B (zh) * | 2018-07-25 | 2021-03-12 | 中国水利水电科学研究院 | 一种同一子流域河道网格演算次序编码方法 |
CN110766792B (zh) * | 2018-07-25 | 2021-03-12 | 中国水利水电科学研究院 | 基于ArcGIS水文分析工具网格演算次序编码方法 |
CN109101732A (zh) * | 2018-08-15 | 2018-12-28 | 四川大学 | 基于地形特征界线的无汊河道二维结构网格剖分方法 |
CN109101732B (zh) * | 2018-08-15 | 2021-05-04 | 四川大学 | 基于地形特征界线的无汊河道二维结构网格剖分方法 |
CN110362876A (zh) * | 2019-06-21 | 2019-10-22 | 长江水利委员会长江科学院 | 一种基于有限测点的复杂河网水位场插值计算方法 |
CN112163322A (zh) * | 2020-09-07 | 2021-01-01 | 中国地质大学(武汉) | 一种河网区一维模型计算单元自动划分与编码的方法 |
CN112802181A (zh) * | 2021-01-18 | 2021-05-14 | 郑州轻工业大学 | 一种基于低细节高程数据的大规模三维河道场景重建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106202265B (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202265A (zh) | 流域大尺度复杂河网海量精细规则网格的绘编方法 | |
Jones et al. | Watershed delineation with triangle-based terrain models | |
Coupez et al. | Parallel meshing and remeshing | |
Gyulassy et al. | Efficient computation of Morse-Smale complexes for three-dimensional scalar functions | |
CN108986222B (zh) | 无汊河道数字地形生成方法 | |
CN109101732B (zh) | 基于地形特征界线的无汊河道二维结构网格剖分方法 | |
CN107944102B (zh) | 流域大尺度复杂河网的网格拼接方法 | |
CN107180450A (zh) | 一种基于dem的河谷横断面形态的算法 | |
CN104635262A (zh) | 一种基于增强型矩形网格的正逆断层等值线自动生成方法 | |
CN113434928A (zh) | 一种复杂三维线性结构的参数化建造方法 | |
CN101158985A (zh) | 一种超维度河流动力学自适应并行监测的方法 | |
CN107766978B (zh) | 不规则井网的智能优化方法 | |
CN103778191B (zh) | 一种顾及空间邻近关系的矢量等高线数据划分方法 | |
CN108090164B (zh) | 一种流域大尺度计算海量网格的编码方法 | |
CN108009349A (zh) | 一种河流二维水质数值模拟模型计算网格优化绘制方法 | |
CN111507026A (zh) | 一种模拟节点达西渗透流速的双重网格多尺度有限单元法 | |
CN105701315A (zh) | 模拟多孔介质中二维水流运动的高效多尺度有限元方法 | |
CN104548597A (zh) | 导航网格的自动生成方法和装置 | |
CN108230452A (zh) | 一种基于纹理合成的模型补洞方法 | |
CN110162903B (zh) | 一种基于格网并行的城市建筑迎风面密度计算方法及系统 | |
CN114756974B (zh) | 一种考虑物面法向信息的壁面距离计算方法 | |
CN114969944B (zh) | 一种高精度道路dem构建方法 | |
CN107871048B (zh) | 大尺度流域网格分块方法 | |
CN113128009A (zh) | 一种考虑山区平原地貌差异的子流域单元划分方法 | |
CN106067192A (zh) | 基于逆插值Loop的网格简化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |