胡小彭,余学祥,刘星
(安徽理工大学地球与环境学院,安徽淮南 232001)
基于MultiPatch的三维地层建模方法
胡小彭∗,余学祥,刘星
(安徽理工大学地球与环境学院,安徽淮南 232001)
地层的三维可视化能够形象明确的表达出地质构造情况。常用的三维建模软件不具备属性信息,本文采用了ArcGIS提供的三维要素类型MultiPatch来存储和管理三维地层属性信息,并介绍了生成MultiPatch数据的一种方法。
ArcGIS;MultiPatch;三维地层
地质构造是城市建设、煤矿开采、地下工程等的重要决策依据。目前,随着信息技术的进步,三维的地质可视化技术也越来越多的在相关领域得到了应用。国内外的三维建模软件也很多,但也有着不同的优缺点。利用OpenGL、DirectX等进行底层开发,涉及大量的三维图形学及其算法方面的知识,而且工作量大,要求开发人员具有很强的专业能力。专业的三维建模软件虽然能建立较好的三维模型,但绘制出的图形不具备属性信息;GIS软件虽然具备属性信息,但不便于建立复杂的三维模型。本文采用ArcGIS提供的3D扩展模块以及辅助三维建模软件Google SketchUp来显示及制作矿区的三维地质图。
ArcGIS 3D扩展模块的核心是ArcScene的应用以及ArcGIS Engine提供的SceneControl组件,基于它可以对多层三维数据图进行显示、观察以及属性的查询,还可以开发出用户需求的系统。
MultiPatch是ArcGIS软件提供的一种三维要素类型,用于描述3D面状的几何类型。
MultiPatch Features是一种描述三维面状要素的几何类型,与shape文件中的Point Features、Polygon Features和Line Features相似。可以在ArcScene中显示MultiPatch类型的三维模型,在ArcCatalog中能创建一个空白的MultiPatch GeoDataBase,但不能在Desktop软件中对其进行编辑,可以通过ArcObjects编程来编辑或修改含MultiPatch的GeodataBase。另外一种创建MultiPatch数据的方法是:通过将其他三维建模软件创建的三维模型转化为MultiPatch数据。
一个MultiPatch由多个面片(Surface Patch)组成,每个面片描述一个表面。面片就是MultiPatch的分块单元,包含了3种常用的单元类型:三角带、三角扇和环。
3.1 三维地层建模方法
在三维领域,专家、学者提出了很多三维空间建模的方法。总的来说,三维地层的建模方法主要有基于面模型(Facial Model)和基于体模型(Volumetric Model)的建模方法。其中,基于面模型的建模方法是利用表面拟合技术来建立一个地质体的外表,利用该方法绘制的地质体可以满足一般的三维显示、分析等需求。并且还可以将一块地质体存储为一个MultiPatch要素,对其赋以相关的属性信息。
3.2 地质层面生成方法
地质层面的生成方法类似于DEM的生成方法,主要有不规则三角网法(TIN)和规则格网法(Grid)。
TIN是由一系列相互连接的相邻三角形组成的三角网来表示层面的起伏信息,TIN能较好的表达地层体的边界。Grid是由一系列连续的、形状相同的矩形或正方形组成组合面,它的数据结构简单。对于不规则的边界来说,利用Grid插值有些失真,不能较好的表达边界。本文采用TIN的表面建模方法来生成地质的层面。
4.1 地层面的建立
SketchUp提供的SketchUpESRI插件可以实现Arc-GIS文件与SketchUp文件的相互转换功能。在ArcGIS中,将通过钻孔资料获取的数据生成一系列对应的点文件,如图1(a),然后根据生成的点文件通过TIN的建模方法来构建地层的层面,如图1(b)。将生成的TIN导出为Google SketchUp的∗.skp格式的文件。
图1 地层面的建立
4.2 地层体的建立
在Google SketchUp中导入相关地层体的上下两个地层面,如图2(a),然后利用Google SketchUp提供的建模工具将上下地层面连成一个封闭的地层体,如图2(b)。并对其赋予相应的材质或颜色,用以识别地层的类型。
图2 三维地层的建立
选择做好的地层体,导出为ESRI MultiPatch的∗.mdb格式的文件,并在属性表中建立需要的属性字段,用于存储与地层相关的属性信息。可以在ArcGIS Desktop软件中对导出的MultiPatch文件的属性进编辑。
4.3 地层体的显示
利用ArcGIS Engine提供的SceneControl控件,开发了如下的三维地质显示程序,如图3所示。在SceneControl控件中分别加载导出的各层地层的Multi-Patch数据文件,便可以显示出多层地层的三维图。根据需要,可以通过控制图层的开关来控制地层的显示与隐藏,通过观察工具按钮可以从各个角度观察地质体,并可以查询地层的相关信息以及鼠标点击位置的三维空间坐标。
图3 三维地层的显示
(1)加载MultiPatch数据文件的程序:
(2)获取鼠标位置的三维坐标:
通过输出的pPt即可获得相应的点的三维坐标。
(3)地质剖面图的制作:
通过IExtrude.ExtrudeBetween方法计算并生成一个位于两个表面之间的Muntipatch图形,其函数定义如下:
利用ExtrudeBetween方法可以生成任意两个层面之间的剖面图,图4是制作了的最下面三层地层的剖面图。
图4 剖面图
本文提出了一种三维地层建模的方法,充分利用了GIS软件和专业建模软件的优点,将两者巧妙的结合起来。根据矿区的钻孔数据,建立了地层图,并开发了相关的三维显示和操作程序,实验证明该方法是可行的。另外,该方法也适用于对断层的处理,根据断层面分块建立地层,然后再将其合并。
参考资料
[1] 包世泰,夏斌等.地质三维信息模型研究及其应用[J].大地构造与成矿学,2004,28(4):470~476
[2] 董梅,慎乃齐等.基于GOCAD的三维地质模型构建方法[J].桂林工学院学报,2008,28(2):188~192
[3] 罗智勇,杨武年.基于钻孔数据的三维地质建模与可视化研究[J].测绘科学,2008,33(2):130~132
[4] 范力铭,吴建平等.ArcObjects中三维模型的创建方法[J].2007,24(2):54~58
[5] 蔡恒刚,李小根等.基于MultiPatch的地下三维物体在ArcGIS上的实现[J].2004,25(4):64~66
[6] ArcGIS Engine developers help.ESRI.
Establishing 3D Geology Model Method Based on MultiPatch
Hu XiaoPeng,Yu XueXiang,Liu Xing
(Department of Earth and Environment of Anhui University of Science and Technology,Huainan 232001,China)
3D geological model can explicit expression geologic structure.The commonly software of 3D Model establishment don’t have attribute information.This article using the factor type of MultiPatch which ArcGIS provided to save 3D model and manage the three dimensional stratum information.
ArcGIS;MultiPatch;3D geological model
1672-8262(2010)06-174-03
P628.4
B
2010—04—15
胡小彭(1987—),男,硕士研究生,研究方向:GIS软件应用与开发、数字城市与矿山空间信息技术。