1.一种基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于该方法包括:
(1)分别根据二维图切地质平行剖面矢量数据和基点数据表生成二维图切剖面集合s和基点集合at;
(2)从二维图切剖面集合s中获取任意两个相邻二维图切剖面si、si+1,并根据属于si、si+1的地层构建地层对集合cou;
(3)从cou任取一地层对couj,根据地层对couj构建每个地层对应的边界线集合al、边界线集合bl;
(4)基于基点集合at,将边界线集合al与bl从二维转换为三维;
(5)判断地层对couj中两个地层是否都为连续地层,若是执行步骤(6);否则执行步骤(7);
(6)基于三维边界线集合al与bl,采用morphing三边法构建连续地质体rockr三维模型;
(7)基于三维边界线集合al与bl,采用morphing三边法构建尖灭地质体rockx三维模型;
(8)循环执行步骤(3)-(7),直至完成集合cou中所有地层对的遍历,得到所有地层对的地质体三维模型;
(9)循环执行步骤(2)-(8),直至完成所有相邻二维图切剖面的遍历,得到所有相邻二维图切剖面间的地质体三维模型。
2.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(1)包括:
(1-1)读取二维图切地质平行剖面矢量数据,生成二维图切剖面集合s={si|i=1,2,…,ni},其中si代表第i个二维图切剖面,ni代表二维图切剖面数量;
(1-2)读取基点数据表,生成基点集合at={αi(xi,yi,θ)|i=1,2,…,ni},其中αi表示第i个基点,与si对应,xi为横坐标,yi为纵坐标,θ为方位角。
3.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(2)包括:
(2-1)从二维图切剖面集合s中获取任意两个相邻二维图切剖面si、si+1;
(2-2)分别读取si、si+1中的所有地层,构建si的地层集合as={stia,stib,stic,…}与si+1的地层集合bs={st(i+1)a,st(i+1)b,st(i+1)c,…},其中,a,b,c为区域地层的统一地层编码,该信息来自图切剖面中地层要素的地层编码属性;
(2-3)从集合as中获取任一地层stir,并遍历集合bs,查找其中是否存在地层编码为r的地层,若存在,则表示无尖灭,从集合bs获取该地层st(i+1)r,构建地层对cou=[stir、st(i+1)r],执行步骤(2-5);若不存在,代表地层stir存在右端尖灭,执行步骤(2-4);
(2-4)在集合as中,不断搜索地层stir的邻近地层,直至找到一个在集合as、bs中共同存在的地层st(i+1)x,并构建地层对cou=[stir、st(i+1)x];
(2-5)返回执行步骤(2-3),直至集合as被遍历完;
(2-6)查找集合bs中是否存在未配对地层,若存在未配对地层st(i+1)r,则代表该地层左端尖灭,从集合bs中获取配对地层不断搜索地层st(i+1)r的邻近地层,直至找到一个在集合as、bs中共同存在的地层stix,并构建地层对cou=[stix、st(i+1)r];
(2-7)将所有地层对存入地层对集合cou={couj(cou,flag)|j=1,2,…,nj},其中,couj代表第j个地层对元素,nj代表地层对数量,flag代表尖灭类型,当flag=0表示无尖灭,为连续地层;flag=-1代表存在右端尖灭的地层;flag=1代表存在左端尖灭的地层。
4.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(3)包括:
(3-1)从地层对集合cou中获取任一地层对couj,并分别获取couj中每个地层的中心点
(3-2)分别离散轮廓线linea、lineb,得到linea、lineb的节点集合
(3-3)根据节点集合sa和sb构建集合
(3-3)根据矢量叉积方法将轮廓线linea与轮廓线lineb的绕行方向同步为顺时针;
(3-4)按顺序从集合ap中读取任意连续的三个节点apu-1、apu与apu+1,计算三点顺时针夹角的角度φ,若φ∈[270,360),代表点apu为轮廓线linea上的一个转折点,记为pk,在pk处打断轮廓线linea,得到边界线alk=linea(pk-1,pk),其中,pk-1表示上,次查找到的转折点,若k=1,则pk-1=ap1,linea(pk-1,pk)表示从linea上获取从点pk-1到pk之间的线;若φ∈[0,270),则代表点apu为非转折点,继续获取节点;
(3-5)重复执行步骤(3-4),直至集合ap所有连续的三个节点被遍历,将得到所有边界线存入边界线集合al={alk|k=1,2,…,an},其中,an代表边界线数量;
(3-6)对边界线集合al有序化处理;具体方法为:获取边界线集合al中含有最小纵坐标值点的边界线alk;以边界线alk为参考线,从边界线集合al寻找以边界线alk终点为起点的边界线alt,并将边界线alt调整为边界线集合al的首要素;再以边界线alt为参考线,重复上述步骤,依次进行集合al中要素排序,直到边界线al内全部要素排序完毕;
(3-7)按照步骤(3-4)-(3-6),构建轮廓线lineb边界线集合bl={blk|k=1,2,…,bn},其中,bn代表边界线数量;
(3-8)获取地层对couj中存储的尖灭类型flag,若flag=0,执行步骤(3-9);否则执行步骤(4);
(3-9)计算边界线集合al、bl间的边界线数量差值co=an-bn,若co=0,则代表边界线一一对应,执行步骤(4);若co>0,代表集合al中边界线多于集合bl,执行步骤(3-10);若co<0,代表集合al中边界线少于集合bl,执行步骤(3-11);
(3-10)按长度比例分割集合bl中边界线要素blbn/2,具体方法为:计算集合al中边界线alan/2-1、alan/2与alan/2+1长度分别占三者总长度的比例ηan/2-1、ηan/2与ηan/2+1;按照比例ηan/2-1、ηan/2与ηan/2+1分割集合bl中边界线blbn/2,得到三条线,分别记为blbn/2-1、blbn/2与blbn/2+1;将分割后的新边界线blbn/2-1、blbn/2与blbn/2+1替换掉集合bl中边界线要素blbn/2,并按从前到后的顺序更新边界线序号;
(3-11)按照步骤(3-10)方法,分割边界线集合al中边界线alan/2。
5.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(4)包括:
(4-1)根据基点集合at获取二维图切剖面si的对应基点αi(xi,yi,θ),xi为αi横坐标,yi为αi纵坐标,θ为αi方位角;
(4-2)获取边界线集合al中任一边界线alk,得到边界线alk的二维离散点集合
(4-3)根据下式将二维离散点集合cp转换到三维,构建三维节点集合
(4-4)基于三维节点集合ep,构建三维边界线alk;
(4-5)循环执行步骤(4-2)-(4-3),直至边界线集合al中所有边界线被遍历,完成al中所有边界线的三维转换;
(4-6)基于二维图切剖面si+1与对应基点αi+1,根据步骤(4-2)-(4-5),完成边界线集合bl内所有边界线的三维转换。
6.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(6)包括:
(6-1)从集合al、bl中分别获取任意对应边alk、blk,分别获取alk、blk起点starta(xta,yta,zta)、startb(xtb,ytb,ztb),并以starta、startb作为起点、终点构建线lineab;
(6-2)分别获取alk、blk,的离散点集合
(6-3)计算count=nl-ng,若count>0,则在集合fp中每两点之间插入一中点,直到插入|count|个点,使得ng=nl;若count<0,则在集合ep中每两点之间插入一中点,直到插入|count|个点,使得nl=ng;
(6-4)以集合ep对应的边界线alk为起始地质界线、集合fp对应的边界线blk为目标地质界线、lineab为约束边,基于morphing三边法构建地层面点集合surface;
(6-5)以地层面点集合surface为基础数据构建不规则三角面,形成三维地层面tink;
(6-6)循环执行步骤(6-1)-(6-5),直至完成集合al、bl所有对应边的遍历,得到三维地层面集合tin={tink|k=1,2,…,an};
(6-7)分别以集合al、bl的边界线封闭成多面体polygona、polygonb;
(6-8)将polygona、polygonb与集合tin中所有三维地层面镶嵌在一起,形成单一三维地质体rockr。
7.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(6-4)包括:
(6-4-1)基于约束边lineab的起点starta和终点startb,在lineab上进行插值,并根据下式计算各插值点的z坐标,形成z值集合cz={czo|o=1,2,…,pcn},其中,czo表示第o个插值点的z坐标,pcn是插值点数目;
(6-4-2)分别从插入点后的集合ep和fp中获取一组对应点epl、fpg,l=g,在两点之间插入pcn个点,根据下式计算各插入点的坐标,并存入插值点集合
(6-4-3)将点epl、fpg分别插入到集合xp首位与末位,并将集合xp存储至地层面点集合surface中;
(6-4-4)循环执行步骤(6-4-2)-(6-4-3),直至集合ep和fp中所有对应点被遍历,得到地层面点集合surface。
8.根据权利要求1所述的基于图切地质平行剖面的基岩地质体三维模型构建方法,其特征在于:步骤(7)包括:
(7-1)获取地层对couj存储的尖灭类型flag,若flag=1,执行步骤(7-2);若flag=-1执行步骤(7-8);
(7-2)获取集合al的中间边界线alan/2与集合bl中末位边界线blbn;
(7-3)基于morphing三边法构建alan/2与blbn之间的地层面点集合surfacel={xplt|t=1,2,…,nt};其中,xplt={xple|e=1,2,…,pcln},xplt表示使用morphing三边法形成的surfacel中第t个子集,xple是xplt中第e个点,pcln是点数目,nt是子集数目;
(7-4)从surfacel交替获取点xpl1[xplpcln/2]、xpl2[xplpcln/2+1]、xpl3[xplpcln/2+2]、…、xplt[xplpcln/2+10]、xplt+1[xplpcln/2+9]、…、xplm[xplpcln/2],存入参考点集合rp中,并基于集合rp构建参考线referl,其中,m表示子集序号;
(7-5)从集合bl中获取任一边界线blk,以参考线referl为起始地质界线、边界线blk为目标地质界线,线referl与线blk起点连线为约束边,基于morphing三边法构建地层面点集合surfacell;
(7-6)以地层面点集合surfacell为基础数据构建不规则三角面,形成三维地层面tinlk;
(7-7)循环执行步骤(7-5)-(7-6),直至完成集合bl所有边被遍历,得到三维地层面集合tinl={tinlk|k=1,2,…,bn};bn为三维地层面数目;
(7-8)将集合bl的边界线封闭成的多面体polygonb,与集合tinl中所有三维地层面镶嵌,形成单一三维地质体rockx;
(7-9)对于右端尖灭地层,获取集合bl中间边界线blbn/2与集合al中末位边界线要素alan,按照步骤(7-3)-(7-8)同样操作,得到单一三维地质体rockx。
9.一种基于图切地质平行剖面的基岩地质体三维模型构建装置,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现权利要求1-8中任意一项所述的方法。