携手共进
创造美好未来

绝对值的绝对值怎么表示(绝对值用什么表示?)

地下钻探数据是通过钻孔和提取岩石或土壤岩芯收集的,由分散在3D 空房间中的样本组成,这些样本测量不同的连续或分类变量。每个样本记录:(1)用东、北、高程表示的3D 空坐标,(2)连续变量,如元素浓度、污染物、矿石品位或温度等。(3)分类变量,如岩性、蚀变或矿化单元。

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

左上图显示了钻孔样品在三维散点图中的位置,左下图以放大的方式显示了单个钻孔中的样品,右侧的图像是盒装岩心测井,显示了物理岩石样品的外观。

1、钻孔数据简介

钻孔数据或类似的3D地理空数据集用于地球科学和自然资源行业,以了解各种地下应用,例如采矿中的矿体建模、石油和天然气中的储层测绘、水文地质学中的污染物跟踪以及建筑或地质灾害中的岩石或土壤稳定性的描绘。除了传播和分析目的之外,可视化3D地理空信息通常是任何后续地质建模、工作流或探索性数据分析的第一步。

虽然可视化钻井数据很重要,但一些地球科学家经常依赖昂贵的软件来绘制他们的3D数据,因为大多数与岩石和土壤打交道的人通常缺乏丰富的编程经验。绘制3D钻孔数据实际上非常简单,可以使用任何编程语言来完成,如Python(使用numpy和matplotlib)、R、Octave或Matlab。下面是一个用Matlab编写的简单教程,用来可视化应用于各大铜矿真实采矿数据集的钻井数据。

挖掘数据集采用以下格式。

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

用于挖掘数据集的标题行和前五行数据。

虽然本教程是在采矿环境中进行的,但可视化技能可以用于相同类型的3D geographic 空数据集,这些数据集也用于石油和岩土行业,以及建筑、地质灾害、水文地质等。

2、钻孔数据导入

首先,我们导入要使用的挖掘数据集和所有相关变量进行演示。这个数据集包含16,258个样本,分布在东约3公里,北约2公里,海拔1公里的矩形体积内。每个样品测量连续的地球化学元素浓度,并划分地质变化单元。

data = importdata(#039;Dataset.txt#039;);%Spatial coordinatesx = data(:,1); %Easting coordinates in kmy = data(:,2); %Northing coordinates in kmz = data(:,3); %Elevation coordinates in km%Continuous variablesCu = data(:,4); %Copper grade in ppmMg = data(:,5); %Magnesium grade in wt%Al = data(:,6); %Aluminum grade in wt%%Categorical variableAlte = data(:,7); %Geological alteration unit3、钻孔数据的简单可视化

在绘制任何变量之前,将使用地理坐标,并使用scatter3函数显示所有样本的位置。轴的比例应始终相等,除非夸大高程可能会显示由于其他两个主要方向上空之间的数据范围而可能丢失的要素。利用Matlab中的轴相等命令可以方便地缩放坐标轴。以下示例比较了带有未缩放轴和缩放轴的三维散点图。

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

由地理坐标可视化的样本位置没有在左侧按比例绘制,而是在右侧按比例绘制。

现在我们已经正确地缩放了轴,我们可以使用颜色绘制变量来表示它们在空中的值。我们还可以使用对数颜色条或不同的颜色来更好地可视化某些变量或变量比率。下面显示了使用不同色条和色标的几个示例。

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

左侧为带线性色标的铜品位3D散点图,右侧为带对数色标的铝/镁比率3D散点图。

还可以通过改变绘图点的大小或形状来引入其他维度,可以作为空之间数据的多维探索性分析的附加工具。在下面的示例中,点的大小设置为等于Al/Mg比率,颜色用于显示铜的等级。

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

多维散点图用于在3D 空中定位样品,大小显示Al/Mg比,颜色代表铜品位。

多维图强调了如何在Al/Mg的中间值找到更高品位的铜,因为更大和更小的点通常具有更小的铜浓度。

4、钻孔数据的分类可视化

我们希望可视化采矿数据集中的四个不同类别的变量,这些变量由以下地质蚀变单元组成:绿泥石-绢云母、应时-绢云母、钾和泥质。绘制此分类数据的一种方法是创建一个3D散点图,并根据其分类值为每个点着色,就像我们对连续变量所做的那样,如下例所示。

散点图显示了样品位置和四个地质蚀变单元:绿泥石-绢云母(Chl-Ser)、应时-绢云母(Qtz-Ser)、钾和泥质。

在处理分类数据时,将分类单元或域可视化为块模型中的体积,而不是3D 空中的散乱点,可以获得更具可操作性的信息。通过(1)在整个体积中创建规则间隔的点的网格,以及(2)根据数据中最近的相邻样本的类别为每个点分配类别,来生成模型。对于更具代表性的块模型,应过滤点以仅包括来自实际数据样本的设置搜索半径内的点。

这很容易编程和可视化,因为在大多数编程语言中有几个最近邻库可用。下面是一个在Matlab中编码的例子。

%Step size and radius inputsSS = 0.01; % Step size in kmr = 0.01; % Search radius in kmxp=0:SS:max(x); yp=0:SS:max(y); zp=0:SS:max(z);[X,Y,Z] = meshgrid(xp,yp,zp); % Create grid of pointsXp = X(:); Yp = Y(:); Zp = Z(:);Data_xyz = [x y z]; % Spatial coordinates in matrixBlock_xyz = [Xp Yp Zp]; % Block model coordinates in matrix[Idx D] = knnsearch(Data_xyz,Block_xyz); % Nearest neighbor searchBlock_xyz(:,4) = alte(Idx); % Assign block values an alteration unit to nearest sampleBlock_xyz = Block_xyz.*(Dlt;=r); %Filter to search radius %visualize Block_xyz with scatter3

应该使用足够小的步长来填充体积,同时保持合理的点总数,以便于处理和可视化。合适的步长将取决于所考虑的总体积,较大的体积对应于较大的步长,较小的体积对应于较短的步长。

对于正在使用的挖掘数据集,步长设置为10米,因此在所有三个方向上每隔10米就有一个点。应测试不同的搜索半径,以确定哪一个可以完全显示体积。根据下面的例子,对于这个数据集,66 m和100 m之间的搜索半径是足够的。

不同搜索半径的地质块体模型显示了四个蚀变单元的空分布。

最后,可以在总体积中单独绘制每个域的块模型,以便更好地可视化每个域的空之间的分布,如下例所示:

matlamatlab里面绝对值怎么表示绝对值怎么表示(matlab里面绝对值怎么表示)

75 m搜索半径的蚀变单元最终地质块段模型。组合块模型显示在每个单独绘制的变化单元的上方。

块体模型使总结每个地质蚀变单元的位置变得更加容易:

绿泥石-绢云母单元由西向东由高向低倾斜石英-绢云母单元在体积的东侧更密集地聚集钾单元集中在体积西北角的顶部Argillic单元分布在高海拔的东西方向和南北方向5、结束语

钻孔数据的可视化在地球科学和自然资源行业中非常重要,并且许多地球科学家目前依赖昂贵的商业软件包来完成这项工作。使用任何标准编程语言绘制3D geographic 空数据实际上非常简单。本文展示了几种在3D 空上下文中可视化连续、分类和多维变量的技术。

虽然这里介绍的教程使用了采矿数据集,但是3D可视化技术也可以应用于各种其他应用,例如绘制地下水污染物、土壤强度参数、岩石强度和稳定性、油气体积和地下地热温度。

原文链接:http://www.bimant.com/blog/borehole-data-3d-visualization/

版权声明:本站资源及文章图片来自互联网及其他公众平台,版权归原作者,如有侵权请联系我们删除!
文章链接:http://www.rujiaoqi1.com/154653.html