Surfer 11教程(第二课)
程贤辅翻译2012/10/30
第二课创建网格文件
网格文件是产生一个基于网格图形的必须文件。基于网格的图形包括:等值线图(Contour Map),影像图(Image Map),阴影地貌图(Shaded Relief Map),1型网格矢量图(1-Grid Vector Map),2型网格矢量图(2-Grid Vector Map),三维框架图(3D Wireframe),以及三维曲面图(3D Surface)。
网格文件是如何产生的呢?
网格文件是用“网格|数据”命令来创建的。“网格|数据”命令所需要的数据在以下3个数据列之中:一列包含X轴数据,一列包含Y轴数据,以及一列包含Z轴的数据。我们有一个包含这XYZ 三列数据的文件(TutorWS.dat),由此你可以看到Surfer是如何产生网格文件的。完成本教程后,如果您需要为了您的工作需要创建一个XYZ数据文件,请参阅第一课——创建一个XYZ数据文件。
创建一个网格文件
1、如果你已经有一个打开的场景窗口(原文是工作表窗口,可能是错误——译者注),那么可以在窗口菜
单中选择“场景1”,或者直接点击“场景1”这一页。此外,你也可以使用“文件|新建|工作场景”命令来创建一个新的场景窗口。
2、在场景窗口中,点击“网格|数据”命令,或者在网格工具条上点击“网格数据”按钮,
打开数据对话框显示出来。
3、在打开数据的对话框中,单击该文件TutorWS.dat(在Surfer的Samples文件夹中)。你可以在文件列表部分中选择,或者在打开工作表对话框中单击一个文件名。这样该名称就出现在文件名编辑框中。
4、单击“打开”。或者双击数据文件的名称。
5、“网格数据”对话框被显示出来。“网格数据”对话框允许您控制网格的一些参数。花一点时间来查看在该对话框中的各个选项。在采用默认的参数创建一个可接受的网格文件的时候,不要更改有关参数。
●“数据列信息”部分是用来指定数据文件中含有X和Y坐标数据的列,以及Z值的列。
●“过滤数据”按钮是用来筛选数据集的。
●“查看数据”按钮显示工作表用来预览你的数据。
●“统计”按钮用于为你的数据打开一个统计报告。
●“网格报告”选项用于指定是否为数据网格化时创建一个统计报告并显示出来。
●“网格化方法”选项用于指定一个网格的插值算法。
●“高级选项”按钮用来指定所选择的插值算法的高级设置。
●“交叉验证”按钮是用来对插值算法进行质量评估。
●“输出网格文件”编辑框用来确定生成网格文件的路径和文件名。
●“网格线几何特征”用于指定X、Y轴向的最大最小值限制,网线的间隔和网格节点数(也称为行和列)。
●“数据包外网格自动空白”选项使数据区域以外的任何位置的网格点自动空白。
6、单击“确定”按钮。窗口底部的状态栏将显示网格化的进程。如果你接受默认值,那么生成的网格文件将使用数据文件相同的路径和文件名,但文件的扩展名将是.GRD。
(上面是网格化进程的显示状态条,借用帮助里面的图形,显示剩余时间7秒。大概是数据点太
少,只有47个,我这里实际运行这个例子用时 0.05秒,无法截图。——译者)
7、默认情况下,对话框里已经填好网格化以后的网格文件的完整路径和文件名。在对话框中点击“确认”按钮,d网格文件就被建立。
8、如果在网格数据对话框中“网格报告”选项被打勾选中,那么一份网格化报告将显示出来。你可以最小化或者关闭该报告。该报告包含了网格化的详细信息。
补充:
1、数据网格化生成网格.grd文件,这是Surfer软件的基础。从第一课中的流程图中我们可以看到这是非常重要的一步。有了网格grd文件,你就可以生成以下各种图形:等值线图(Contour Map),影像图(Image Map),阴影地貌图(Shaded Relief Map),1型网格矢量图(1-Grid Vector Map),2型网格矢量图(2-Grid Vector Map),三维框架图(3D Wireframe),以及三维曲面图(3D Surface)。
2、网格数据对话框中有众多选项,其中最重要的是插值算法选项。因此将不惜篇幅作比较详细的介绍。选择了不同的算法,就会产生不同的grd文件,以后生成的各种图形也不尽相同。有关插值算法,论坛有介绍,可以参考“SURFER 中九种插值法介绍”。实际上在V11.0.642版中已经扩增到12种算法。
下面对剩余的三种算法进行简单介绍,算是对论坛网友的九种算法介绍的补充。
移动平均法
移动平均法认为任一点上场的趋势分量可以从该点一定邻域内其它各点的值及其分布特点平均求得,参加平均的邻域称做窗口。窗口的形状可以是方形或圆形。圆形比较合理,但方形更方便计算机取数。求平均时可以用算术平均值、众数或其它加权平均数。选用大小不同的窗口,可以实现数据的分解,大窗口使区域趋势成分比重增大,小窗口则可突出一些局部异常。逐格移动窗口逐点逐行地计算直到覆盖全区,就得到了网格化的数据点图。
当原始取样点分布较稀且不规则时,可以采用定点数而不定范围的取数方法,即
搜索邻近的点直到预定的数目为止。搜索方法可以是四方搜索或八方搜索等。此时由于距离可能相差较大,因此常同时采用距离倒数或距离平方倒数加权的办法,以便压低远处的点的影响。
数据度量法
数据度量用来提供有关的数据信息。这种方法是根据度量所得的数据资料,可以再次利用的一个网格数据资料的方法。它其实不是一种插值算法,它是一种数据的度量方法,通过这种方法可以到比较合适的插值方法。
局部多项式法
多项式插值也是常用的一种插值算法。但是在进行多项式插值时,要一个合理的函数并不是那么容
易的,而且当多项式的阶数太大时,其波动也很大。鉴于此,采用局部多项式法,即对插值对象给定搜索领域内所有点插值出适当特定阶数的多项式,局部多项式插值产生的曲面更多依赖于局部的变异。在Surfer中,这些多项式的形式有以下三种:
F(X,Y)=a+bX+cY
F(X,Y)=a+bX+cY+dXY+eX2+fY2
F(X,Y)=a+bX+cY+dXY+eX2+fY2+gX2Y+hXY2+iX3+jY3
以上12种算法,各有优劣,看你的原始数据更适合哪种算法。可以多试验几种,以便获得最佳图形效果。但是,我们一般将遵循以下的原则。
选择网格化方法时应当考虑原始数据点数量的多寡。
10个或10个以下的数据点,除了反映数据的一般趋势外,没有多大意义。这样少的点,带线性插值的三角网法无效,数据点<250个时,具线性变异图的克里金法,多重二次曲面法的径向基函数法都可以产生较好代表原始数据特点的网格。
中等数据量(250到1000数据点),带线性插值的三角网法网格化很快,并生成很好代表原始数据特点的网格。克里金法和径向基函数法较慢,也可以产生高质量的网格。
大的数据量(>1000数据点),最小曲率法最快,网格足以代表原始数据特点。带线性插值的三角网法网格化较慢,网格有足够的代表性。
反距离加权法最快,但是围绕数据点,有产生“牛眼”效应的趋势。
大部分情况下,具有线性变异图的克里金法是十分有效的,应首先予以推荐。其次是径向基函数法。
这两种方法都能产生较好地代表原始数据的网格。但对于大量数据的网格化,克里金法比较慢。
最小曲率法构成平滑的曲面,且多情况下,网格化速度也快。
多项式回归是一种趋势面分析,反映整体趋势。对于任何数量的数据点,网格化的速度都非常快,但构成的网格缺少数据的局部细节。
径向基函数法十分灵活,与克里金法产生的网格十分类似。
改进的谢别德(Shepard)法与反距离加权插值法相似,但没有产生等值线“牛眼”效应的缺点。
带线性插值的三角网法对于中等数量的数据点,网格化很快。一个优点是当有足够的数据点时,三角网法可以反映出数据文件所内含的不连续性。例如断层线。
苹果11怎么截图
有时候必须保证采样点的值不被插值算法改变,那么应该选择反距离加权插值法或克里金插值法,因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。
我觉得你只要将网格grd文件生成等值线图,就可以大致知道你的数据更适合哪种算法,不必各种图形都去试验和显示。
选择网格化算法,要根据客观环境特征及自身数据特点,特别是考量样品数及采样网格规则程度这两个指标,来选择最合适的网格化算法。
3、相对于每种算法,都可由“高级选项”按钮调出该算法的设置对话框。其中很多选项专业性很强,也涉及了不少数学知识,我们不可能一一搞懂选项的全部含义,不过笨办法懒办法还是有的——采用默认值。
4、各种算法都可以检验插值质量,这就是“交叉验证”。很多朋友不知道什么是交叉验证,通俗地说,即移去一个已知资料点的数据, 用其他各点的数据来估计该点的数据,将插值数据和真实数据进行比较,以检验插值精度的方法。一般这样的验证都是全交叉验证,即所有的资料点都要进行验证。对于验证的结果,运用绝对平均误差(MAE) 、相对平均误差及均方根误差(RMSE) 作为检验的质量标准。而检验结果的报告可以作为文件保存。参见下图。
注意图中“47=全验证”,是说这一例是这样,因为数据文件中只有(共有)47个数据点。
5、在“网格线几何特征”的设置中,应该注意一下X和Y方向的最大最小值是否和源数据相同,防止错误。一般可以着重注意节点数和间隔,调整到合适的数量。X和Y的间距或节点这二者是相关的,当你手动改动一个,另一个会自动修改。