一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于B/S结构的水文地质剖面图生成方法及装置与流程

2021-11-06 06:00:00 来源:中国专利 TAG:

基于b/s结构的水文地质剖面图生成方法及装置
技术领域
1.本发明涉及地理信息技术领域,尤其涉及一种基于b/s结构的水文地质剖面图生成方法及装置。


背景技术:

2.水文地质剖面图是指在地质图上按某一方向选择大于等于两个水文地质钻孔,所选择钻孔形成一条剖面线,根据所选钻孔对应的地层信息,按一定比例尺,用投影方法编绘而成的地质剖面图。水文地质剖面图在区域地质调查评价、地下水水源地的规划设计、地质环境的保护以及其它与之相关的工程建设起着至关重要的作用。它生动形象地展示了地下水含水层的结构构造和地层的沉积规律。因此,它能为系统地分析区域或局部的水文地质条件、正确指导地下水资源开发利用和优化管理提供了依据。
3.在计算机技术及gis技术尚未成熟的条件下,绘制水文地质剖面图是通过传统的手工方法,是一项极其烦琐的工作,它不仅工作效率低,而且不能实现空间数据和属性数据的快速互查。或者利用excel和autocad等工具并结合某种编程语言进行绘制,虽然自动化程度得到了提高,但是缺少属性查询等功能,与地质环境和工程建设项目管理的办公自动化不相适应。上世纪后期gis理论发展成熟,人们开始采用交互式的图形矢量手段进行地质图件的编绘,但随着计算机技术的不断发展,追求计算机自动生成地质剖面图和柱状图已水到渠成。
4.水文地质剖面图和富水性分区平面图相配合,并结合地质专家的工作经验和空间想象,一定程度上,可以使人类认知地下水结构在三维空间上的展布规律。然而,这种地质信息的表达方式过于抽象,不利于水文地质空间信息的获取与规律认知,不利于富水性分区信息与地层信息的结合。因此,迫切需要结合富水性分区信息的水文地质剖面图。


技术实现要素:

5.发明目的:本发明针对现有技术存在的问题,提供一种结合富水性分区信息的基于b/s结构的水文地质剖面图生成方法及装置。
6.技术方案:本发明所述的基于b/s结构的水文地质剖面图生成方法包括:
7.(1)获取用户在浏览器的地图上选择的钻孔基本信息和钻孔地层信息,存入钻孔集合zk和钻孔地层集合dc;
8.(2)获取钻孔集合zk按空间顺序连线形成的剖面线li与各富水性分区图层中的富水性分区多边形的相交信息,存入相交信息集合fsxfq;
9.(3)将钻孔集合zk中每个钻孔投影到浏览器基础地理图层,从而将钻孔的经纬度坐标转换为xy坐标;
10.(4)将钻孔地层集合dc中属于同一钻孔且含水层名称相同的相邻钻孔地层合并,得到钻孔地层集合dc’;
11.(5)根据每个钻孔的xy坐标对钻孔集合zk重新排序,得到钻孔集合zk’,并计算每
个钻孔在剖面图上的坐标;
12.(6)根据每个钻孔在剖面图上的坐标生成剖面图的标尺图层以及钻孔线图层;
13.(7)根据钻孔集合zk’和钻孔地层集合zc’连接地层线,并在光滑处理后存入地层线图层;
14.(8)根据地层线生成地层面,并存入地层面图层;
15.(9)根据相交信息集合fsxfq生成富水性分区面,并存入富水性分区面图层;
16.(10)将剖面图标题、标尺图层、钻孔线图层、地层线图层、地层面图层和富水性分区图层进行显示,得到剖面图。
17.进一步的,步骤(1)具体包括:
18.(1

1)获取用户在浏览器的地图上选择的钻孔,用post请求选择的钻孔的钻孔基本信息和钻孔地层信息对应的json对象;
19.(1

2)将json对象转换为钻孔集合zk={zk
i
|i=1,2,

,zn}和钻孔地层集合dc={dc
il
|i=1,2,

,zn,l=1,2,

,dn
i
},其中,zk
i
代表第i个钻孔,zn表示钻孔数量,dc
il
表示属于第i个钻孔的第l个地层,dn
i
表示属于第i个钻孔的地层数量。
20.进一步的,步骤(2)具体包括:
21.(2

1)用post请求获取钻孔集合zk按空间顺序连线形成的剖面线li与各富水性分区图层中的多边形的交点的json对象;
22.(2

2)将各富水性分区图层中的含水层在空间上相邻或嵌套的富水性分区多边形看成一个整体p
hydro
,若p
hydro
与剖面线li相交则产生一个相交信息,从而将json对象转换为剖面线li与富水性分区多边形的相交信息集合fsxfq={fsx
k
(a,{b
m
(szk,sd,ed,ysl)|m=1,2,

,n})|k=1,2,

,h},fsx
k
表示含水层k的整体p
hydro
与剖面线li的相交信息,h表示有h个含水层的p
hydro
与剖面线li相交;a表示fsx
k
含水层属性,取值为“潜水含水层”、“i承压含水层”、“ii承压含水层”、“iii承压含水层”、“iv承压含水层”中的一个,b
m
表示剖面线li与fsx
k
的p
hydro
相交形成的第m个线段,n表示线段数量,szk为起始钻孔编号,sd为起始距离,即交点与起始钻孔点之间的距离,ed为终止距离,即交点与起始钻孔点之间的距离,ysl表示该富水性分区的单井涌水量。
23.进一步的,步骤(4)具体包括:
24.(4

1)对于钻孔地层集合dc从第一个地层开始遍历,若当前地层与相邻地层属于同一钻孔且含水层名称相同,则删除当前地层,最终得到钻孔地层集合dc’;
25.(4

2)根据地质专业知识,按照覆盖顺序为钻孔地层集合dc’中每个地层编号。
26.进一步的,步骤(5)具体包括:
27.(5

1)根据各钻孔的xy坐标,将钻孔按x坐标值从小到大的顺序排序,得到钻孔集合zk’={zk’j
|j=1,2,

,zn},zk’j
表示排序后第j个钻孔,zn表示钻孔数量;
28.(5

2)根据排序后的钻孔集合zk’,按照下式计算各钻孔在剖面图上的坐标值;
29.zkx1=50
[0030][0031]
zky
j
=kkgc
j
[0032]
式中,(zkx
j
,zky
j
)表示排序后的第j个钻孔在剖面图上的坐标,(rx
j
,ry
j
)、(rx
j
‑1,
ry
j
‑1)分别表示排序后的第j、j

1个钻孔的xy坐标,scalex表示缩放系数,kkgc
j
表示排序后的第j个钻孔的孔口高程值。
[0033]
进一步的,步骤(6)具体包括:
[0034]
(6

1)以(x
min
,y
min
)和(x
min
,y
max
)为两个端点坐标生成左边标尺竖线,以(x
max
,y
min
)和(x
max
,y
max
)为两个端点坐标生成右边标尺竖线,其中,x
min
=0,x
max
为zk’最后一个钻孔的x坐标值加上s,s为标尺每段距离,y
min
=([bg
min
/s]

2)
×
s,bg
max
表示所有钻孔中孔口高程的最大值,bg
min
为所有钻孔中孔口高程减去钻孔深度的最小值,[]表示取整数;
[0035]
(6

2)从y
max
到y
min
,循环生成所有标尺刻度线,左边标尺刻度线坐标为(x
min

offsetx,y
max

r*s)和(x
min
offsetx,y
max

r*s),右边标尺刻度线坐标为(x
max

offsetx,y
max

r*s)和(x
max
offsetx,y
max

r*s),其中r为从0到(y
max

y
min
)/s的整数,offsetx为刻度线左、右端点与中间竖线的x坐标的偏移值;
[0036]
(6

3)根据(6

2)中标尺刻度线的坐标,生成左右标尺刻度文本,并将所有标尺的标尺刻度线和标尺刻度文本加入标尺图层中;
[0037]
(6

4)以(zkx
j
,zky
j
)和(zkx
j
,zky
j

depth
j
)为两个端点坐标生成每个钻孔j对应的竖线,其其中depth
j
为钻孔j的钻孔深度值,j=1,2,

,zn;
[0038]
(6

5)以(zkx
j

offsetx,zky
j
)和(zkx
j
offsetx,zky
j
)为两个端点坐标生成钻孔j上下端点处的短横线,j=1,2,

,zn;
[0039]
(6

6)生成钻孔标注文本,包括钻孔顶端标注和钻孔底端标注;
[0040]
(6

7)将(6

4)和(6

5)生成的线和(6

6)生成的文存入钻孔线图层。
[0041]
进一步的,步骤(7)具体包括:
[0042]
(7

1)生成行数为钻孔数zn、列数为每个钻孔的地层数dj
j
、初始元素值为0的透镜体标识数组marktjt,并按照以下方法更新元素值:除左边第一个钻孔和右边最后一个钻孔外,对每个钻孔的每个地层dc
jl
,从钻孔集合zk’中的前一钻孔zk’j
‑1和后一钻孔zk’j 1
的所有地层中搜索地层dc
jl
,若都没有该地层,则将元素marktjt[j,l]的值更新为1,表示该地层会形成透镜体,若为0表示不会有透镜体;
[0043]
(7

2)对于每个钻孔,将其作为一条线绘制在剖面图上,并将其每个地层的层底与绘制的线的交点标记为对应地层的地层点;
[0044]
(7

3)生成行数为钻孔数zn、列数为每个钻孔的地层数djj、初始元素值为0的地层点连接标识数组dealtstra,地层点连接标识为0表示未处理,为1表示已处理;
[0045]
(7

4)查找所有钻孔中都存在的地层,并从左边标尺刻度线经过所有钻孔的相同地层点到右边标尺刻度线连接一条地层线,将该地层线加入地层线图层中,同时记录该地层线对应的地层序号,并将所有被连接的地层对应的地层点连接标识值更新为1;
[0046]
(7

5)对于地层点连接标识值为0的地层,按照地层序号从小到大的顺序排列,并获取地层序号关联的所有钻孔和地层,存入集合udc={(uno
f
,ud
f
)|f=0,1,2,

fn}中,ud
f
={(zk
fj
,dc
fjl
)|j=1,2,

,zn,l=1,2,

,dj
j
},其中,uno
f
为排序中第f个地层,fn为地层
序号数量,ud
f
为uno
f
相关的钻孔和地层形成的二元组,zk
fj
代表uno
f
所属的第j个钻孔,dc
fjl
表示uno
f
所属的第j个钻孔的第l个地层;
[0047]
(7

6)根据集合udc连接剩余地层线,并进行光滑处理后保存在地层线图层中。
[0048]
进一步的,步骤(7

6)具体包括:
[0049]
对于集合udc中每个元素{(uno
f
,ud
f
),执行如下步骤:
[0050]
(7
‑6‑
1)判断集合ud
f
中元素是否小于2,如果小于2,则执行步骤(7
‑6‑
2),否则执行步骤(7
‑6‑
3);
[0051]
(7
‑6‑
2)执行如下操作:
[0052]
对于ud
f
中透镜体标识值为1的地层,生成上边界地层线和下边界地层线,生成方法为:依次连接透镜体的左尖灭点、该地层对应的地层点t和透镜体的右尖灭点,得到透镜体的下边界地层线,依次连接透镜体的左尖灭点、与t相邻的上一地层点和右尖灭点,得到透镜体的上边界地层线;
[0053]
对于ud
f
中钻孔索引号值为1的地层,生成下边界地层线,生成方法为:生成该地层的右尖灭点,在左标尺上取与该地层标高相同的点w,依次连接点w、该地层对应的地层点t和右尖灭点,得到该地层的下边界地层线;
[0054]
对于ud
f
中钻孔索引号值为zn的地层,生成下边界地层线,生成方法为:生成该地层的左尖灭点,在右标尺上取与该地层标高相同的点r,依次连接左尖灭点、该地层对应的地层点t和点r,得到该地层的下边界地层线;
[0055]
(7
‑6‑
3)执行如下操作:
[0056]
对于ud
f
中第一个元素,如果其钻孔的索引号的值大于1,则生成左尖灭点,依次连接左尖灭点和该元素的地层对应的地层点,形成地层线;
[0057]
对于ud
f
中间的元素,如果任意两个元素的钻孔索引号之间的差值大于1,则生成右尖灭点,并依次连接这两个元素的地层对应的地层点和右尖灭点,形成地层线;
[0058]
对于ud
f
中最后一个元素,如果其钻孔为最右边钻孔,则生成右尖灭点,并依次连接该元素的地层点和右尖灭点,形成地层线;
[0059]
(7
‑6‑
4)将所有生成的地层线保存在地层线图层中。
[0060]
进一步的,步骤(9)具体包括:
[0061]
(9

1)透镜体或存在尖灭的地层与其他从左到右连续的地层面之间存在包含关系,根据各地层在钻孔上地层点的y坐标值判断出地层面之间的包含关系,按包含关系从外到内依次存储各地层的上下边界地层线;
[0062]
(9

2)找出相交信息集合fsxfq中记录的起始钻孔点,以及各含水层富水性分区线段相对于起始钻孔点的距离,将该距离除以x坐标的缩放系数scalex,得到各含水层富水性分区相对于起始钻孔的位置,即含水层富水性分区x坐标值s;
[0063]
(9

3)对于每个含水层,执行如下操作:
[0064]
对含水层的地层面上边界地层线坐标进行遍历,找出线上x坐标值为s的点c,以及线上单井涌水量值与点c相同的点f,并根据点c左侧的点和右侧的点的坐标值计算得到点c的y坐标值,以及根据点f左侧的点和右侧的点的坐标值计算得到点f的y坐标值;对含水层的地层面下边界地层线坐标进行遍历,找出线上x坐标值为s的点d,以及线上单井涌水量值与点d相同的点e,并根据点d左侧的点和右侧的点的坐标值计算得到点d的y坐标值,以及根
据点e左侧的点和右侧的点的坐标值计算得到点e的y坐标值;读出含水层上边界地层线位于点c和点f之间,以及含水层下边界地层线位于点d和点e之间的所有点,所有点按顺时针顺序排列生成富水性分区面cdef的坐标序列,并存入富水性分区面图层。
[0065]
本发明所属的基于b/s结构的水文地质剖面图生成装置,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
[0066]
有益效果:本发明与现有技术相比,其显著优点是:本发明解决了地层限制、地层尖灭等计算机处理难点,增加了富水性分区多边形,提高了自动化绘图的程度,而且还可以使用户图文并茂的获取所需要的信息,帮助地质工作者进行决策分析。
附图说明
[0067]
图1为本发明方法的流程图;
[0068]
图2为水文地质富水性分区图;
[0069]
图3为钻孔与地层数据结构图;
[0070]
图4为地层按顺序覆盖示意图;
[0071]
图5为透镜体和地层线示意图;
[0072]
图6为地层线生成的主要流程图;
[0073]
图7为富水性分区示意图;
[0074]
图8为剖面线li与富水性分区多边形的相交信息示意图。
具体实施方式
[0075]
下面对本发明技术方案作进一步详细说明,本实施例的实验数据采用的是南通市水文地质数据(图2),该实验数据采用的投影坐标系为cgcs2000/3

degree gauss

kruger cm 135e。下面结合附图,并通过描述一个具体的实施例,来进一步说明。
[0076]
如图1所示,本实施例提供的基于b/s结构的水文地质剖面图生成方法包括:
[0077]
(1)获取用户在浏览器的地图上选择的钻孔基本信息和钻孔地层信息,存入钻孔集合zk和钻孔地层集合dc。
[0078]
该步骤具体包括:
[0079]
(1

1)获取用户在浏览器的地图上选择的钻孔,用post请求选择的钻孔的钻孔基本信息和钻孔地层信息对应的json对象;其中,钻孔基本信息和钻孔地层信息具体如图3所示;
[0080]
(1

2)将json对象转换为钻孔集合zk={zk
i
|i=1,2,

,zn}和钻孔地层集合dc={dc
il
|i=1,2,

,zn,l=1,2,

,dn
i
},其中,zk
i
代表第i个钻孔,zn表示钻孔数量,dc
il
表示属于第i个钻孔的第l个地层,dn
i
表示属于第i个钻孔的地层数量。在本实施例中,zn=3,zk1,zk2,zk3的原始编号分别为tz3,tz7(主),tz15。dj1=17,dj2=24,dj3=18。
[0081]
(2)获取钻孔集合zk按空间顺序连线形成的剖面线li与各富水性分区图层中的富水性分区多边形的相交信息,存入相交信息集合fsxfq。
[0082]
该步骤具体包括:
[0083]
(2

1)用post请求获取钻孔集合zk按空间顺序连线形成的剖面线li与各富水性分区图层中的多边形的交点的json对象;
[0084]
(2

2)将各富水性分区图层中的含水层在空间上相邻或嵌套的富水性分区多边形看成一个整体p
hydro
,若p
hydro
与剖面线li相交则产生一个相交信息,从而将json对象转换为剖面线li与富水性分区多边形的相交信息集合fsxfq={fsx
k
(a,{b
m
(szk,sd,ed,ysl)|m=1,2,

,n})|k=1,2,

,h},如图8,fsx
k
表示含水层k的整体p
hydro
与剖面线li的相交信息,h表示有h个含水层的p
hydro
与剖面线li相交;a表示fsx
k
含水层属性,取值为“潜水含水层”、“i承压含水层”、“ii承压含水层”、“iii承压含水层”、“iv承压含水层”中的一个,b
m
表示剖面线li与fsx
k
的p
hydro
相交形成的第m个线段,n表示线段数量,szk为起始钻孔编号,sd为起始距离,即交点与起始钻孔点之间的距离,ed为终止距离,即交点与起始钻孔点之间的距离,ysl表示该富水性分区的单井涌水量,如图8中,b
m
即为kl,li,im,mn四条线段,n=4,以kl线段为例,szk为h,sd为hk的长度,ed为hl的长度。
[0085]
(3)将钻孔集合zk中每个钻孔投影到浏览器基础地理图层,从而将钻孔的经纬度坐标转换为xy坐标。
[0086]
其中,投影时根据前端基础地理图层的投影,用arcgis api for javascript中webmercatorutils类的geographictowebmercator方法将钻孔zk的经纬度坐标都转换为投影坐标。
[0087]
(4)将钻孔地层集合dc中属于同一钻孔且含水层名称相同的相邻钻孔地层合并,得到钻孔地层集合dc’。
[0088]
该步骤具体包括:
[0089]
(4

1)对于钻孔地层集合dc从第一个地层开始遍历,若当前地层与相邻地层属于同一钻孔且含水层名称相同,则删除当前地层,最终得到钻孔地层集合dc’;
[0090]
(4

2)根据地质专业知识,按照覆盖顺序为钻孔地层集合dc’中每个地层编号。
[0091]
其中,根据地质专业知识,如图4所示,水文地质地层的覆盖顺序通常为:潜水含水层,隔水层,i承压含水层,隔水层,ii承压含水层,隔水层,iii承压含水层,隔水层,iv承压含水层,隔水层,v承压含水层,隔水层
……
,因此,将含水层名称为“潜水含水层”的地层给定编号“1

1”,紧邻“潜水含水层”的“隔水层”地层给定编号为“1

2”,i承压含水层为“2

1”,紧邻的“隔水层”地层给定编号为“2

2”,依此类推。
[0092]
(5)根据每个钻孔的xy坐标对钻孔集合zk重新排序,得到钻孔集合zk’,并计算每个钻孔在剖面图上的坐标。
[0093]
该步骤具体包括:
[0094]
(5

1)根据各钻孔的xy坐标,将钻孔按x坐标值从小到大的顺序排序,得到钻孔集合zk’={zk’j
|j=1,2,

,zn},zk’j
表示排序后第j个钻孔,zn表示钻孔数量;
[0095]
(5

2)根据排序后的钻孔集合zk’,按照下式计算各钻孔在剖面图上的坐标值;
[0096]
zkx1=50
[0097][0098]
zky
j
=kkgc
j
[0099]
式中,(zkx
j
,zky
j
)表示排序后的第j个钻孔在剖面图上的坐标,(rx
j
,ry
j
)、(rx
j
‑1,ry
j
‑1)分别表示排序后的第j、j

1个钻孔的xy坐标,scalex表示缩放系数,kkgc
j
表示排序后的第j个钻孔的孔口高程值。
[0100]
(6)根据每个钻孔在剖面图上的坐标生成剖面图的标尺图层以及钻孔线图层。
[0101]
该步骤具体包括:
[0102]
(6

1)以(x
min
,y
min
)和(x
min
,y
max
)为两个端点坐标生成左边标尺竖线,以(x
max
,y
min
)和(x
max
,y
max
)为两个端点坐标生成右边标尺竖线,其中,x
min
=0,x
max
为zk’最后一个钻孔的x坐标值加上s,s为标尺每段距离,y
min
=([bg
min
/s]

2)
×
s,bg
max
表示所有钻孔中孔口高程的最大值,bg
min
为所有钻孔中孔口高程减去钻孔深度的最小值,[]表示取整数;
[0103]
(6

2)从y
max
到y
min
,循环生成所有标尺刻度线,左边标尺刻度线坐标为(x
min

offsetx,y
max

r*s)和(x
min
offsetx,y
max

r*s),右边标尺刻度线坐标为(x
max

offsetx,y
max

r*s)和(x
max
offsetx,y
max

r*s),其中r为从0到(y
max

y
min
)/s的整数,offsetx为刻度线左、右端点与中间竖线的x坐标的偏移值,在本例中取为2;
[0104]
(6

3)根据(6

2)中标尺刻度线的坐标,生成左右标尺刻度文本,并将所有标尺的标尺刻度线和标尺刻度文本加入标尺图层中;具体的,根据标尺刻度线的坐标,生成左右标尺刻度文本对应的graphic对象,graphic对象包括geometry和symbol两个属性,其中左边标尺graphic对象的点坐标为刻度线左边端点的坐标,即(x
min

offsetx,y
max

r*s),右边标尺graphic对象的点坐标为刻度线右边端点的坐标,即(x
max

offsetx,y
max

r*s),将该点对象赋值给geometry属性;graphic对象的symbol属性为textsymbol对象,textsymbol对象的text属性以及x和y方向上的偏移值都必须赋值,text属性为每个刻度线的y坐标值,即y
max

r*s,左边标尺的x方向偏移值为负,右边标尺的x方向偏移值为正,偏移距离相同,y方向的偏移值都为

3。x和y方向的偏移值代表该文本graphic对象的中心点相对于geometry中的坐标值的偏移;将所有标尺的线对象加入标尺图层中,并设置渲染方式为简单线要素,黑色,宽度为1;将所有标尺刻度对应的文本graphic对象加入到文本graphic对象的集合中;
[0105]
(6

4)以(zkx
j
,zky
j
)和(zkx
j
,zky
j

depth
j
)为两个端点坐标生成每个钻孔j对应的竖线,其其中depth
j
为钻孔j的钻孔深度值,j=1,2,

,zn,以简单线渲染;
[0106]
(6

5)以(zkx
j

offsetx,zky
j
)和(zkx
j
offsetx,zky
j
)为两个端点坐标生成钻孔j上下端点处的短横线,j=1,2,

,zn;以简单线渲染;
[0107]
(6

6)生成钻孔标注文本,包括钻孔顶端标注和钻孔底端标注;钻孔顶端标注为钻孔原始编号和孔口高程,钻孔底端标注为钻孔深度。因此,需要生成三个graphic对象,即

钻孔原始编号graphic对象,

孔口高程graphic对象,

钻孔底端graphic对象。在生成graphic对象时,需要设置标注点坐标,文本外包矩形中心点相对于标注点的x,y方向上偏移,以及文本内容三个关键内容。根据标注点坐标设置graphic对象的geometry属性,根据偏移和文本内容等其他属性生成symbol对象,设置graphic对象的symbol属性。
[0108]

孔原始编号graphic对象
[0109]
标注点坐标:(zkx
j
,zky
j
),
[0110]
x方向上偏移:0,
[0111]
y方向上偏移:18,
[0112]
文本内容:钻孔原始编号;
[0113]

口高程graphic对象
[0114]
标注点坐标:(zkx
j
,zky
j
),
[0115]
x方向上偏移:0,
[0116]
y方向上偏移:6,
[0117]
文本内容:钻孔的孔口高程值;
[0118]

孔底端graphic对象
[0119]
标注点坐标:(zkx
j
,zky
j

depth
j
),
[0120]
x方向上偏移:0,
[0121]
y方向上偏移:

12,
[0122]
文本内容:钻孔的深度值;
[0123]
将所有生成的文本graphic对象加入文本graphic对象的集合中。
[0124]
(6

7)将(6

4)和(6

5)生成的线和(6

6)生成的文本存入钻孔线图层。
[0125]
(7)根据钻孔集合zk’和钻孔地层集合zc’连接地层线,并在光滑处理后存入地层线图层。
[0126]
该步骤具体包括:
[0127]
(7

1)生成行数为钻孔数zn、列数为每个钻孔的地层数dj
j
、初始元素值为0的透镜体标识数组marktjt,并按照以下方法更新元素值:除左边第一个钻孔和右边最后一个钻孔外,对每个钻孔的每个地层dc
jl
,从钻孔集合zk’中的前一钻孔zk’j
‑1和后一钻孔zk’j 1
的所有地层中搜索地层dc
jl
,若都没有该地层,则将元素marktjt[j,l]的值更新为1,表示该地层会形成透镜体,若为0表示不会有透镜体;因为地质剖面图中的左边第一个钻孔和右边最后一个钻孔不会有透镜体(如图5),因此只对中间的每个钻孔进行处理;
[0128]
(7

2)对于每个钻孔,将其作为一条线绘制在剖面图上,并将其每个地层的层底与绘制的线的交点标记为对应地层的地层点;
[0129]
(7

3)生成行数为钻孔数zn、列数为每个钻孔的地层数djj、初始元素值为0的地层点连接标识数组dealtstra,地层点连接标识为0表示未处理,为1表示已处理;
[0130]
(7

4)查找所有钻孔中都存在的地层,并从左边标尺刻度线经过所有钻孔的相同地层点到右边标尺刻度线连接一条地层线,将该地层线加入地层线图层中,同时记录该地层线对应的地层序号,并将所有被连接的地层对应的地层点连接标识值更新为1;
[0131]
(7

5)对于地层点连接标识值为0的地层,按照地层序号从小到大的顺序排列,并获取地层序号关联的所有钻孔和地层,存入集合udc={(uno
f
,ud
f
)|f=0,1,2,

fn}中,ud
f
={(zk
fj
,dc
fjl
)|j=1,2,

,zn,l=1,2,

,dj
j
},其中,uno
f
为排序中第f个地层,fn为地层序号数量,ud
f
为uno
f
相关的钻孔和地层形成的二元组,zk
fj
代表uno
f
所属的第j个钻孔,dc
fjl
表示uno
f
所属的第j个钻孔的第l个地层;
[0132]
(7

6)根据集合udc连接剩余地层线,并进行光滑处理后保存在地层线图层中。
[0133]
具体的,如图6所示,步骤(7

6)具体包括:
[0134]
对于集合udc中每个元素{(uno
f
,ud
f
),执行如下步骤:
[0135]
(7
‑6‑
1)判断集合ud
f
中元素是否小于2,如果小于2,则执行步骤(7
‑6‑
2),否则执行步骤(7
‑6‑
3);
[0136]
(7
‑6‑
2)执行如下操作:
[0137]
对于ud
f
中透镜体标识值为1的地层,生成上边界地层线和下边界地层线,生成方法为:依次连接透镜体的左尖灭点、该地层对应的地层点t和透镜体的右尖灭点,得到透镜体的下边界地层线,依次连接透镜体的左尖灭点、与t相邻的上一地层点和右尖灭点,得到透镜体的上边界地层线;
[0138]
对于ud
f
中钻孔索引号值为1的地层,生成下边界地层线,生成方法为:生成该地层的右尖灭点,在左标尺上取与该地层标高相同的点w,依次连接点w、该地层对应的地层点t和右尖灭点,得到该地层的下边界地层线,如图5中标为
“⑥”
的地层线;
[0139]
对于ud
f
中钻孔索引号值为zn的地层,生成下边界地层线,生成方法为:生成该地层的左尖灭点,在右标尺上取与该地层标高相同的点r,依次连接左尖灭点、该地层对应的地层点t和点r,得到该地层的下边界地层线;
[0140]
(7
‑6‑
3)执行如下操作:
[0141]
对于ud
f
中第一个元素,如果其钻孔的索引号的值大于1,则生成左尖灭点,依次连接左尖灭点和该元素的地层对应的地层点,形成地层线;
[0142]
对于ud
f
中间的元素,如果任意两个元素的钻孔索引号之间的差值大于1,则生成右尖灭点,并依次连接这两个元素的地层对应的地层点和右尖灭点,形成地层线;
[0143]
对于ud
f
中最后一个元素,如果其钻孔为最右边钻孔,则生成右尖灭点,并依次连接该元素的地层点和右尖灭点,形成地层线;
[0144]
(7
‑6‑
4)将所有生成的地层线保存在地层线图层中。
[0145]
(8)根据地层线生成地层面,并存入地层面图层。
[0146]
根据从上到下的顺序先生成从左到右的连续地层。对剩下未处理的地层线,按地层多边形上边界和下边界的含水层名称相等,生成带尖灭的地层面,或透镜体。
[0147]
(9)根据相交信息集合fsxfq生成富水性分区面,并存入富水性分区面图层。
[0148]
步骤(9)具体包括:
[0149]
(9

1)透镜体或存在尖灭的地层与其他从左到右连续的地层面之间存在包含关系,根据各地层在钻孔上地层点的y坐标值判断出地层面之间的包含关系,按包含关系从外到内依次存储各地层的上下边界地层线;
[0150]
(9

2)找出相交信息集合fsxfq中记录的起始钻孔点,以及各含水层富水性分区线段相对于起始钻孔点的距离,将该距离除以x坐标的缩放系数scalex,得到各含水层富水性分区相对于起始钻孔的位置,即含水层富水性分区x坐标值s;
[0151]
(9

3)对于每个含水层,执行如下操作:
[0152]
对含水层的地层面上边界地层线坐标进行遍历,如图7所示,找出线上x坐标值为s的点c,以及线上单井涌水量值与点c相同的点f,并根据点c左侧的点a和右侧的点b的坐标值计算得到点c的y坐标值,以及根据点f左侧的点和右侧的点的坐标值计算得到点f的y坐标值;对含水层的地层面下边界地层线坐标进行遍历,找出线上x坐标值为s的点d,以及线上单井涌水量值与点d相同的点e,并根据点d左侧的点和右侧的点的坐标值计算得到点d的y坐标值,以及根据点e左侧的点和右侧的点的坐标值计算得到点e的y坐标值;读出含水层上边界地层线位于点c和点f之间,以及含水层下边界地层线位于点d和点e之间的所有点,所有点按顺时针顺序排列生成富水性分区面cdef的坐标序列,并存入富水性分区面图层。
[0153]
(10)将剖面图标题、标尺图层、钻孔线图层、地层线图层、地层面图层和富水性分区图层进行显示,得到剖面图。
[0154]
其中,剖面图标题的graphic对象生成方法为:计算标题graphic对象的x,y坐标;根据投影编号生成point对象生成标题文本,即排序后“最左边的钻孔原始编号_最右边的钻孔原始编号” “水文地质剖面图”;指定颜色、字体、文本内容和偏移值生成symbol对象;根据point对象和symbol对象生成graphic对象。地层线图层中地层线为线类型的graphic对象,地层面图层中地层面为面类型的graphic对象,记录对应的属性字段值,存入地层面图层,并根据地层面对应的地层属性,选择相应图元符号填充。富水性分区面为面类型的graphic对象,根据每个富水性分区多边形的单井涌水量值djysl,若djysl>3000,则用嫩绿色半透明填充;若djysl在1000

3000之间,则用浅绿色半透明填充;若djysl在300

1000之间,则用更浅的绿色半透明填充;若djysl<300,则用粉色半透明填充;否则用白色填充。
[0155]
本实施例还提供了一种基于b/s结构的水文地质剖面图生成装置,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
[0156]
以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献