1.一种三维图切地质剖面的自动构建方法,其特征在于该方法包括:(1)读取图切地质剖面线数据、地质图和DEM,形成剖面线集合PL、地质界线集合GeoLine、地层面集合GeoPolygon、栅格数据集合GeoDEM;
(2)从剖面线集合PL获取任一条剖面线,并基于地质界线集合GeoLine,获取该剖面线与所有地质界线的交点,形成三维地表交点集合PP;
(3)基于地层面集合GeoPolygon,获取当前剖面线的地层产状集合AT与地层属性集合MK;
(4)基于栅格数据集合GeoDEM和三维地表交点集合PP,获取当前剖面线对应的剖面底部边线与所有地层线的底部交点,形成三维底部交点集合EP;具体包括:(4‑1)在当前剖面线pli上,按照预设距离d间隔采样,得到采样点集IP={ipm|m=1,
2,…,PM},其中ipm为采样的第m个点,PM为采样点数量;
(4‑2)根据剖面线pli的走向排序,将剖面线pli的起点、终点、三维地表交点集合PP和采样点集IP归并,形成地表点集合 其中,表示第k个点的gpk的坐标,PJ为三维地表交点集合PP中交点数量;
(4‑3)根据栅格数据集合GeoDEM,对地表点集合GP中所有点赋予高程值;
(4‑4)在二维坐标系下,计算剖面线pli对应的剖面底部边线与所有地层线的交点的纵坐标,形成集合ZV;
(4‑5)基于三维地表交点集合PP、剖面线的方位角集合AG与集合ZV,获取所有地层线与剖面底部边线的三维底部交点,形成三维底部交点集合表示EP中第j个点的坐标;
(5)基于三维地表交点集合PP和三维底部交点集合EP构建三维图切地质剖面;具体包括:(5‑1)根据下式将地表点集合GP下移预设距离h,得到三维底部点集合(5‑2)基于三维地表交点集合PP和三维底部交点集合EP构建MultiPatch多面体要素,生成三维图切地质剖面集SectionMap;
(5‑3)在SectionMap属性表内创建ID字段,将与三维地层面要素对应的地层属性值存储到ID字段内;
(5‑4)根据SectionMap中ID字段与地层面集合GeoPolygon中GID字段的对等关系,传递GeoPolygon的其他属性信息到SectionMap的属性表内;
(6)循环步骤(2)‑(5),直至所有剖面线处理完,得到所有三维图切地质剖面。
2.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(1)具体包括:(1‑1)读取图切地质剖面线数据,存入剖面线集合PL={pli|i=1,2,…,LI}中,其中,pli表示第i个剖面线,LI表示剖面线数量;
(1‑2)从地质图中提取地质界线数据和地层面数据,分别存入地质界线集合GeoLine与地层面集合GeoPolygon;
(1‑3)从DEM中提取栅格数据,存入栅格数据集合GeoDEM。
3.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(2)具体包括:(2‑1)获取任一条剖面线pli,读取该剖面线上的所有点生成剖面分段线端点集合TP={tpf(xf,yf)|f=1,2,…,PF},其中,tpf为剖面线上的第f个点,PF代表端点数量;
(2‑2)对于集合TP中所有端点,按照以下公式计算任意两个相邻端点所形成的分段线的方位角,并存入方位角集合AG={βs|s=1,2,…,PF‑1}:式中,(xa,ya)、(xb,yb)分别表示两个相邻端点的坐标,βs表示分段线s的方位角;
(2‑3)提取剖面线pli与地质界线集合GeoLine中所有地质界线的交点,并将每个交点对应位置的地层产状作为其属性,存入交点集合InPoint;
(2‑4)将交点集合InPoint作为三维地表交点集合PP={ppj|j=1,2,…,PJ},其中ppj表示第j个交点序号,PJ表示三维地表交点集合PP中交点数量。
4.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(3)具体包括:(3‑1)获取三维地表交点集合PP中所有点的地层产状,得到产状集合AT={αn(ρ,θ,δ)|n=1,2,…,AN},αn(ρ,θ,δ)表示第n个地层产状,ρ为地层倾向,θ为地层倾角,δ为地层走向,AN代表产状个数;
(3‑2)获取当前剖面线pli的所有分段线,形成线集合SeLine;
(3‑3)将地层面集合GeoPolygon的地层唯一编号GID,作为线集合SeLine中对应线的属性存储,建立GeoPolygon与SeLine的关联;
(3‑4)从SeLine中获取所有线的GID,存入地层属性集合MK中。
5.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(4‑4)具体包括:(4‑4‑1)采用下列公式,将地表点集合GP从三维坐标转换为二维平面坐标:式中, 表示地表点集合GP中第k个点的gpk的三维坐标, 表示gpk的二维坐标;
(4‑4‑2)采用下式将地表点集合GP中所有点下移预设距离h,形成底部边线的点集合(4‑4‑3)根据产状集合AT采用下式计算视倾角式中,ρ为地层倾向,θ为地层倾角,β's为对应的分段线的方位角;
(4‑4‑5)基于地表交点的二维平面坐标和对应的视倾角 采用下式计算得到地层线底部点坐标,形成地层线底部点集合式中, 表示地层线第j个底部点dpj坐标, 表示地表交点集合中第j个点ppj的二维平面坐标,PJ表示地表交点集合中点的个数,le表示点dpj与点ppj的预设距离;
(4‑4‑6)基于点dpj与点ppj构建地层线slj,形成地层线集合SL={slj|j=1,2,…,PJ};
(4‑4‑7)基于地表点集合GP的第一个点的二维坐标、底部边线的点集合BP和地表点集合GP中最后一个点的二维坐标创建剖面底部边线cl;
(4‑4‑8)遍历地层线集合SL,求取每一地层线与剖面底部边线cl的交点的纵坐标值,并保存到集合ZV={zvj|j=1,2,…,PJ}中。
6.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(4‑5)具体包括:(4‑5‑1)根据下式,计算地表交点集合中各点与三维底部交点集合中对应的点的相对高程:式中,hej表示地表交点集合中第j个点ppj与对应点epj的相对高程, 表示ppj的z轴坐标,zvj表示集合ZV中第j个值;
(4‑5‑2)根据下式计算三维底部交点的三维坐标
7.根据权利要求1所述的三维图切地质剖面的自动构建方法,其特征在于:步骤(5‑2)具体包括:(5‑2‑1)将地表点集合GP中第一个点与最后一个点分别插入到三维地表交点集合PP中的首位与末位;
(5‑2‑2)将三维底部点集合WP中第一个点和最后一个点分别插入到三维底部交点集合EP中的首位与末位;
(5‑2‑3)获取地表点集合GP中位于三维地表交点集合PP中任意相邻两个点ppj与ppj+1之间的所有上部点,构成上部点集合UP={upl|l=1,2,…,PL};
(5‑2‑4)获取三维底部点集合WP中位于三维底部交点集合EP中任意相邻两个点epj与epj+1之间的所有下部点,构成下部点集合XP={xpl|l=1,2,…,PU};
(5‑2‑5)将UP与XP按照顺时针顺序排列,构成地层面顶点集合V={vr|r=1,2,…,PL+PU};
(5‑2‑6)基于地层面顶点集合V,按顺时针顺序依次构建MultiPatch多面体要素,形成三维地层面few;
(5‑2‑7)循环执行(5‑2‑3)‑(5‑2‑6),得到三维地层面集合FE={few|w=1,2,…,PJ+1};
(5‑2‑8)镶嵌三维地层面集合FE中每一三维地层面few,构建单一三维图切地质剖面,得到三维图切地质剖面集SectionMap。