Surfer11_中文教程(无水印版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、Surfer11 教程 (1)
第一课预览及创建数据 (3)
第二课创建网格文件 (9)
第三课创建等值线图 (14)
第四课修改数轴 (27)
第五课散点图数据点和图形图层的使用 (32)
第六课创建一个剖面图 (48)
第七课保存图形 (50)
第八课创建一个3D 曲面图 (52)
第九课增加透明度,色阶和标题 (58)
第十课从不同的坐标系中创建图形 (63)
第十一课自定义工具栏和键盘命令 (68)
第十二课叠加图形层 (71)
第十三课白化一个网格文件 (75)
第十四课在工作表中更改投影 (79)
二、汉化历程 (82)
三、答疑解惑 (89)
一、Surfer 11教程
程贤辅翻译2012.10.20
Surfer11版的帮助里面有一套非常好的教程,我希望能将它介绍给大家。
对于某些高手,可以也应该绕开,以免浪费您的宝贵时间。
其他朋友,如果您看了以下的教程,对您有帮助,那我就很高兴,也算我为我国的气象事业间接作了一点贡献。
该套教程共有14课,1到10 是初级教程,11到14是高级教程:
1、预览及创建数据;
2、创建网格文件;
3、创建等值线图;
4、修改坐标;
5、散点图数据点和图形图层的使用;
6、创建剖面图;
7、保存图形;
8、创建3D曲面图形;
9、添加透明度、比色刻度尺和标题;
10、从不同的坐标系统创建各类图形;
11、自定义工具栏和键盘命令;
12、覆盖图形层;
13、白化一个网格文件;
14、更改工作表中的投影。
我不知道我能不能完成所有的教程翻译工作,因为各种不可预计的因素会影响工作的进展。
尽量做吧。
想起40年前我为了制作一张等值图,要花费3天时间,用掉多少草稿纸和橡皮擦,要画出平滑的等值线还真不容易。
而今的气象工作者有如此先进方便的软件,插值算法就有12种,只要将数据准备好,一幅漂亮、准确的等值图瞬间就可以出来,还没有人为的因素干扰,真是太幸福了。
最后,如果你发现有任何错误,请及时指出,以便改正,免得我误人子弟。
特别注明:在每一课之后,如果有“补充”标题和附加的内容,是本人的心得、感受、或者理解,仅供参考。
言归正传,下面教程开始,先看一段关于Surfer的概述,然后进入第一课。
使用Surfer:
Surfer 最常见的应用就是从XYZ数据文件创建一个基于网格的各类图形。
调用菜单中的Grid | Data(网格|数据)命令,用来生成一个网格文件,然后再用Map(图形)菜单命令,从网格文件来生成各类图形。
但是,散点图(Post)和基底图(Base map)不使用网格文件来生成。
使用Scripter(脚本):
Golden Software's脚本编辑程序适用于任何ActiveX自动化兼容的客户端,如Visual Basic,可以在Surfer自动化完成任务。
脚本是一个文本文件,其中包含了执行运行脚本时的一系列的指令。
脚本编辑器可以用于执行在Surfer上的几乎任何任务。
在一个脚本中你可以做几乎一切,甚至可以
模拟手工用鼠标或键盘。
脚本是非常有用的,它将重复的任务自动化和整合成完整的步骤顺序。
脚本编辑器被安装在Surfer的相同目录中。
Surfer的自动化帮助中有更多脚本编辑器的信息。
我们有几个示例脚本,从中你可以很快看到一些脚本编辑器的能力。
Surfer流程图:
此流程图说明XYZ数据文件、网格文件,等值线图,三维曲面图之间的关系。
该流程图可以应用于任何基于网格的图形类型。
这个例子只显示两个基于网格的图形(即等值线图和三维曲面图)。
Surfer 11教程(第一课)
程贤辅翻译2012/10/20
第一课预览及创建数据
A、创建一个XYZ 数据文件
XYZ数据文件是一个至少包含有三列数据值的文件。
前两列是数据点X和Y的坐标。
第三列是分配给XY点的Z值。
虽然不是必需这样做,但输入的X坐标在列A,Y坐标在列B中,并在C列中保存Z值,这是一个好主意。
Surfer中在默认情况下这些列对应着这些坐标。
您可以在工作表中使用Data | Assign(数据|指定)XYZ自定义默认列来具体分配XYZ列。
Surfer需要使用纬度(Y 轴)和经度(X轴)值时,可以直接使用十进制的纬度和经度值。
补充:应用Surfer软件绘制图形,首先要根据不同的作图目的,提供合适的数据文件格式。
其中,最基本的格式
是ASCII码形式的XYZ数据格
式。
希望大家按照约定俗成来
安排XYZ 的列。
Surfer本身
的工作表设计,已经建议你将
A列作为X轴数据列,B列作
为Y轴数据列,C列作为Z轴
高程数据列。
虽然不一定强求
如上的安排,但是做这样的安
排自然有他的道理,程序在很多时候自动按照默认的XYZ(ABC)列来取得数据,你一定要另外指定XYZ列显得很麻烦。
当然,增加其他的列是没有问题的,例如图中有D列为“城市名称”,E列为“城市分类”。
为了给今后的教程例子准备一些资料,我们还是要制作一些文件,现在就从数据文件做起。
我们用江苏省为例,从网上下载一个江苏省图片,例如下图:
jiangsusheng.jpg (这是我从Google裁剪下来的,实际象素大小是2088x1923,虽然费劲些,但应该比较准确,网上其他类似地图很多,但大多是示意图,分辨率低,
准确性也很差)
我们首先做一个数据文件。
按照下列步骤,将各个城市点数字化。
1、将这张江苏省地图调入到Surfer的影像图层中(在Plot场景窗口中,选择Map | New | Image,图形|新建|影像图,选择jiangsusheng.jpg文件并打开)。
2、在图形上向前推动鼠标滚轮,将图像放大到合适大小,右击鼠标调出菜单,选择“数字化”;
3、开始点击城市位置,点哪儿呢?google地图中城市没有画小圆圈,你就自己确定一个规则吧,例如点击苏州市的市字上面的一点,以后其他城市都照此办理。
这时
一个小编辑窗口出现,记录下该城市的坐标XYZ数据(备注:那个Z高程数据不知道
用的,又例如在点击了南京以后添加“, 南京, 1”,数字表示了城市的等级,1表示
省会城市,2表示地级市,3表示县级市,将来作图时就方便了。
最后,点击该坐标数字化窗口中的文件菜单保存这个文件,我们起名“江苏城市坐标.dat”。
B、打开一个现成的数据文件
为了浏览一个已经存在的XYZ数据文件,你可以在工作表窗口打开TutorWS.dat范例文件:
1、选择“File|Open”(文件|打开)命令,或者点击按钮,或者在键盘上键入Ctrl+O,就可以调出打开文件对话框。
2、如果没有处于“Samples”这个目录中,请转到这里,然后点击“TutorWS.dat”
3、点击“打开”按钮,在工作表窗口中将显示该数据文件。
请注意,在列A中的数据是X坐标(横坐标),Y坐标(纵坐标)是在B列,而Z值(高程)是列C。
其中的标题文字(第1行中的文本)虽然不是必需的,但对识别列的数据类型,在对话框中利用该信息正确选择工作表的数据列时,却是有帮助的。
要编辑表格中任何值,可以单击“单元格”,选择它。
类型信息和现有的值将被覆盖。
在此窗口中,数据可以转换、排序、过滤。
工作表进行更改后,点击“文件|保存”命令,保存该文件。
补充:我们参照上述教程打开先前制作并保存的数据文件:江苏城市坐标.dat。
编辑该数据文件,插入第一行,作为文本行,A1填“X坐标”,B1填“Y坐标”。
其他C1~E1可以填适当字符,这里C1空白(或写“Z值”),D1写“城市名称”,E1写“城市分类”。
点击菜单File|Save(文件|保存)保存所做的改动。
C、创建一个新的数据文件
这个比较简单,就是利用菜单的File|New|Worksheet(文件|新建|工作表)命令,或相关的快捷图标工具,或按Ctrl+W键立刻就可以出现新的空白的工作表窗口。
其他在单元格中键入数
值、文本,删除、取消、复制等操作相信难不倒任何人,因此省略了。
D、保存一个数据文件
这个也简单,还是说一下吧。
1、点击“File|Save”(文件|保存)命令,或者点击图标工具,或者按键Ctrl+S,就可以了。
如果该文件从未保存过,那么一个“另存为”的文件保存对话框会出现。
2、在保存数据类型列表中,选择“DAT Data (*.dat)”选项;
3、在文件名栏目内键入文件的名称;
4、点击保存按钮,一个数据导出选项对话框将打开;
5、保持默认选项,点击“确认”就可以了。
补充:
第一课到此就结束了。
作为第一课的作业,再创建一个边界文件。
可做可不做,随你啦。
1、在Plot场景窗口中,选择Map | New | Base Map,(图形|新建|基底图),选择jiangsusheng.jpg文件并打开。
2、在图形上向前推动鼠标滚轮,将图像放大到合适大小,选择“绘图|数字化”开始数字化边界。
参考下图,图的右下方有一串红色的加号(14个+),就是数字化的14项数据;
3、我们参照“言深深”版主的方法,顺着边界线,将整个图的轮廓数字化(请自
行参考相关帖子,整个过程请连续、耐心、细致、认真,这是得到高保真度边界的关键)。
保存得到Jiangsu.bln文件,它是一个边界文件,也是一个数据文件。
注意两点,第一,最后一条数据应该是第一条数据的复制品,它们完全一样,表示了一个闭合的多边形;第二,在全部数字化完成后在最前面插入一行,就是第一行,A1填入线段总数(数据表的标号减1就是了),B1是白化方式(以后经常要用到),0 是外部(轮廓图以外)白化,1是内部(轮廓边界图以内)白化。
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。
少,只有47个,我这里实际运行这个例子用时 0.05秒,无法截图。
——译者)
7、默认情况下,对话框里已经填好网格化以后的网格文件的完整路径和文件名。
在对话框中点击“确认”按钮,TutorWS.grd网格文件就被建立。
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)法与反距离加权插值法相似,但没有产生等值线“牛眼”
带线性插值的三角网法对于中等数量的数据点,网格化很快。
一个优点是当有足够的数据点时,三角网法可以反映出数据文件所内含的不连续性。
例如断层线。
有时候必须保证采样点的值不被插值算法改变,那么应该选择反距离加权插值法或克里金插值法,因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。
我觉得你只要将网格grd文件生成等值线图,就可以大致知道你的数据更适合哪种算法,不必各种图形都去试验和显示。
选择网格化算法,要根据客观环境特征及自身数据特点,特别是考量样品数及采样网格规则程度这两个指标,来选择最合适的网格化算法。
3、相对于每种算法,都可由“高级选项”按钮调出该算法的设置对话框。
其中很多选项专业性很强,也涉及了不少数学知识,我们不可能一一搞懂选项的全部含义,不过笨办法懒办法还是有的——采用默认值。
4、各种算法都可以检验插值质量,这就是“交叉验证”。
很多朋友不知道什么是交叉验证,通俗地说,即移去一个已知资料点的数据, 用其他各点的数据来估计该点的数据,将插值数据和真实数据进行比较,以检验插值精度的方法。
一般这样的验证都是全交叉验证,即所有的资料点都要进行验证。
对于验证的结果,运用绝对平均误差(MAE) 、相对平均误差及均方根误差(RMSE) 作为检验的质量标准。
而检验结果的报告可以作为文件保存。
参见下图。
注意图中“47=全验证”,是说这一例是这样,因为数据文件中只有(共有)47个数据点。
5、在“网格线几何特征”的设置中,应该注意一下X和Y方向的最大最小值是否和源数据相同,防止错误。
一般可以着重注意节点数和间隔,调整到合适的数量。
X和Y的间距或节点这二者是相关的,当你手动改动一个,另一个会自动修改。
Surfer 11教程(第三课)
程贤辅翻译2012/11/10
第三课创建等值线图
等值线图是由以下三列值创建的一幅场景。
前两列数据确定了X和Y的坐标,而第三列的Z值,是在整个图形上具有相同值的点构成的线条来表示(图形上的等值线)。
图形表面的形状则由等值线所显示的那样。
等值线图有哪些应用?
等值线图在很多方面有各种应用。
你可以将任意的数据作为一系列等值线Z值。
如果对应你的X 和Y值有多个Z值,你就可以创建多个等值线图。
例如,你可以创建一个X、Y平面,而Z为高度值的显示研究区域的地形等高线地图。
然后,你可以创建一个X、Y平面,而Z为浓度值的等值线图,并将它显示在你的研究领域。
Z值可以是温度、浓度、频率、气压、降水、向量等任何其它含义的数据列。
用Map|New|Contour Map(图形|新建|等值线图)命令来创建一个基于网格文件的等值线图。
补充:还记得我们在第一课创建的“江苏城市坐标.dat”吗?它的第3列标题是空白的,你可以填上任意名称,例如“10月平均气温”,“9月上旬降水量”,“某台风影响时气压分布”等等,对于其他专业,例如“化探元素值”,“人工地震波幅度”等等,真是各种应用都可以。
所以,一个基本的数据文件,你可以应用在多个方面,只要修改一下Z列数据就行了,各种应用的等值线图立刻呈现在你面前。
因此,做一个你自己专业常用的这样的基本数据文件,是非常有用的,X、Y列数据常常是不变的,要改动的只是Z的数值。
一、创建等值线图
1、用Map|New|Contour Map(图形|新建|等值线图)命令或在绘图工具条上单击这个按钮。
2、“打开网格”对话框将显示。
选择我们在第二课时创建的网格文件(TutorWS.grd),在文件名上单击,这个文件名就进入文件名编辑框中了。
3、单击“打开”。
4、在“指定坐标系”对话框中,指定默认的Unreferenced local system坐标系,并点击“确认”。
采用默认属性的等值线图就创建成功了。
补充:实际应用中该对话框并未打开,做完第3步,等值线图就出来了。
而它采用的坐标系,就是它指定的默认值。
需要更改的话,请在属性窗口中设定。
5、如果你希望将该等值线图充满窗口,可以点击菜单View|Fit to Window(视图|适应窗口)命令,或者点击按钮,或者在键盘上点击Ctrl+D。
另外,如果你有一个具有滚轮的鼠标,你可以滚动滚轮来放大缩小图形,还可以压住滚轮(此时光标变成手掌形状)平移整个图形。
二、更改等值线层次
你创建了等值线图以后,你可以很容易地修改图形的的特性。
例如,您可能想在图形上改变该等值线的层次显示。
更改等值线层次步骤:
1、将光标放在等值线图形上,点击一下,等值线属性框就显示在属性管理器中。
2、在“属性管理器”中,单击“Level(层次)”页标签,显示该图形的等值线层次和线条的属性。
在这个例子中,等值线层次起始于值Z=20,这是等值线的最小值,层次的最大值是Z=105。
3、要改变等值线的范围,点击属性中最大和最小等值线的数值框(这些数值框就在“层次”页面的上部) ,使得框内原有的数值变成高亮显示,然后键入新的数值。
所作的改动立即在图形上反映出来。
为了获得最佳效果,请选择最小等值线和最大等值线,在这个数据范围内或附近的值进行修改。
4、等值线的间隔,或等值线的频率,是五个。
这意味着将每隔5个数值显示一条等值线,我们应该看到的等值线在20 、25 、30 、35,最高105的地方出现。
现在点击等值线间隔,将5拉成高亮,键入值10。
5、按回车键,图形上的等值线立刻变得稀少,显示每10个Z值才有一条等值线。
这时候最小等值线是20,最大等值线是105。
三、更改等值线线条属性
要的等值线和辅助的等值线都可以单独设置线条的款式。
主等值线也常常被称为索引等值线。
让我们来设置两个不同等值线属性。
设置主要等值线值
1、在“主要等值线的间隔”右边,突出显示现有的值5并输入一个新的值3。
2、按回车键使得画面上每隔3条等值线就有一条索引等值线。
3、点击主要等直线左边的+号,如果不是已经打开。
4、点击主要等直线下面的线条属性左边的+号,主要等直线线条的属性出现。
5、单击“色彩”右边的黑色方块。
从清单中选择另一种颜色,如红色。
地图自动更新。
6、点击下面的宽度属性并改变值到0.030英寸(我改成0.10厘米)。
现在出现一条粗粗的红色线的主要等高线。
7、要设置辅助等值线的属性,请点击辅助等直线左边的+号,如果不是已经打开。
8、点击辅助等值线下面的线条属性左边的+号,辅助等直线线条的属性出现。