第一步:进行的是数据的整理,好的数据整理是成功建立3维地层模型的一半。

在ArcScene中,最初的基面高度为零,因此我们的地层往下延申就为负值,所以在建立表格数据时,我们要将地层深度设置为负值,表格设计一般按钻孔编号、X坐标、Y坐标、MD(测量深度)、KB(补心海拔)、层底深度、岩土名称、层低高程、相对高程(这里的相对高程指的是以某一个钻孔点的高程即补心海拔为0基准面而计算的);然后将数据另存为.csv格式,这个是方便ArcGIS打开。当然,做好的数据也可以保存一份.xslx格式的,方便随时修改。

应注意的是:这里表格建立的数据可能在建模中并不会用到,但是万一要用到,数据也是在的。重要是让数据更为完善一点。

python三维地质建模 三维地质建模方法_经验分享

 第二步:打开ArcScene以及ArcMap,这两个我们都会用到。

(1) 先打开ArcScene,将.csv格式的数据添加进来,然后在添加的表格数据上右键选择【显示XY数据】,在【显示XY数据】窗口中,添加【X字段】、【Y字段】、【Z字段】,以及坐标系的定义(点击下面的【编辑(E)...】即可选择坐标系进行定义),然后点击确定。

python三维地质建模 三维地质建模方法_插值_02

python三维地质建模 三维地质建模方法_插值_03

python三维地质建模 三维地质建模方法_数据_04

 

python三维地质建模 三维地质建模方法_经验分享_05

 (2)把分层数据点筛选出来:在工具箱找到【分析工具】-【筛选】,在筛选中我的表达式是“地层编号”=0,因为我的设置的层顶点编号为0,当然你也可以选择“岩土名称”=层顶,只要能够筛选出层顶的唯一字符都可以。然后,点击【确定】。以同样的做法提取出所有的层面点。

python三维地质建模 三维地质建模方法_数据_06

python三维地质建模 三维地质建模方法_python三维地质建模_07

python三维地质建模 三维地质建模方法_插值_08

python三维地质建模 三维地质建模方法_数据_09

第三步: 在ArcMap中对分层点进行插值分析

  (1)打开ArcMap,在ArcMap中添加所有的以上【筛选】得到的地层点,点击

python三维地质建模 三维地质建模方法_数据_10

添加即可。

  (2)然后在工具箱中选择【3D Analyst工具】-【栅格插值】-【反距离权重法】,【栅格插值】中有很多种插值方法,根据需要选择合适的插值方法,本次建模选择的是反距离权重法,通过插值可以使得建模平面更加平滑,得到较为理想的3维地层结果。

       然后选择添加:

     【点要素】:地层点要素;

     【Z值字段】:这里选择shape.z;

     【输出栅格】:注意这里一般要选择英文路径,否则可能出现处理不成功的问题;

     【输出像元大小】:输出像元越小,图像分辨率越高,图像出现锯齿现象就越不明显,但是处理的时间就会越长,所以要根据建模区域范围选择适合的输出像元大小,因为此次建模区域面积不大,所以这里像元大小设置为1;

      再点击下方的【环境…】选项,选择【处理范围】,选择与要建模的范围一致,我这里的范围即目标区,所以选择【与图层 目标区 相同】;

       点击【确定】。

python三维地质建模 三维地质建模方法_python三维地质建模_11

python三维地质建模 三维地质建模方法_经验分享_12

python三维地质建模 三维地质建模方法_建模_13

    (3)按掩膜提取出目标区的反权重插值结果:由第(2)步得到的结果可以看到反权重插值结果的范围比目标区大,这是正常现象,然后我们再【按掩膜提取】将目标区的结果提取出来就行了。在工具箱中选择【Spatial Analyst工具】-【提取分析】-【按掩膜提取】,具体选项如下。

python三维地质建模 三维地质建模方法_数据_14

python三维地质建模 三维地质建模方法_python三维地质建模_15

     (4)利用栅格转Tin功能,得到地层的Tin。在工具箱中打开【3D Analyst工具】-【转换】-【由栅格转出】-【栅格转TIN】

        功能面板选择:

      【输入栅格】:即按掩膜提取后的层面栅格;

      【输出TIN】:选择合适的路径;

      【Z容差(可选)】:这里我们要自己填入,输入的值越小构建的三角网越密集,但相应的处理时间就会拉长,这里我设置的是0.0005,其余默认即可;

        点击【确定】。我这里的结果由于不能给你们看,所以放置了一个大概的结果在这里,实际操作下来的结果肯定比我这个结果更加平滑好看。所以不用怀疑自己的结果。

python三维地质建模 三维地质建模方法_python三维地质建模_16

python三维地质建模 三维地质建模方法_插值_17

python三维地质建模 三维地质建模方法_经验分享_18

 第四步: 利用ArcScen构建建模所需要的线、面、体

    (1)将第三步得到的所有层面TIN 添加到ArcScene中来,如果立体效果不明显可以点击【Scene 图层】右键选择【场景属性】-点击【常规】-【垂直夸大(v):】根据需要填入一个理想的数值。可以看到层面变得更加立体。

python三维地质建模 三维地质建模方法_数据_19

python三维地质建模 三维地质建模方法_建模_20

   (2)构建体

      ① 首先,我们需要提取面,就是两个层面构建体的时候,所需的最大面,在工具箱中选择【3D Analyst工具】-【转换】-【TIN范围】,在功能选择窗口中注意【输出要素类类型】要选择【POLYGON】。然后点击确定。重复该步骤提取出所有层面的TIN范围

python三维地质建模 三维地质建模方法_python三维地质建模_21

python三维地质建模 三维地质建模方法_python三维地质建模_22

    ② 然后构建体,在工具箱中选择【3D Analyst工具】-【表面三角化】-【在两个TIN间拉伸】

在功能选项中选择

      第一个【输入TIN】:选择构建体的上层面Tin;

      第二个【输入TIN】:选择构建体的下层面Tin;

     【输入要素类】:选择下层面提取的Tin范围,即面要素;点击确定。

重复以上步骤构建出所有的地层体。

python三维地质建模 三维地质建模方法_数据_23

python三维地质建模 三维地质建模方法_经验分享_24

      ③ 构建层点与层点之间的线,同样在工具箱中选择【3D Analyst工具】-【表面三角化】-【在两个TIN间拉伸】

     在功能选项中选择:

     第一个【输入TIN】:选择构建体的上层面Tin;

      第二个【输入TIN】:选择构建体的下层面Tin;

     【输入要素类】:这里不同的是选择筛选得到下层面的点,即点要素。点击确定。

      重复以上步骤构建出所有的地层点间的线。

最后调调体的颜色,透明度等等,就可以得到比较好看的3维地层建模结果了,我这里的结果虽然不好看,但是具体操作流程就是这样。

 

python三维地质建模 三维地质建模方法_python三维地质建模_25