【转】Golden Surfer8.0初学者教程 2009年12月13日 星期日 15:22
Golden Surfer8.0初学者教程
一、 简介
Golden Software Surfer 8.0 (以下简称Surfer)是一款画三维图(等高
线,image map, 3d surface)的软件,该软件简单易学,可以在几分钟内学会主要内容,且其自带的英文帮助(help菜单)对如何使用surfer解释的很详细,其中的tutorial教程更是清晰的介绍了surfer的简单应用,应该说surfer软件自带的帮助文件是相当完美且容易阅读的,只要学过英语的人都可以很快上手。
Surfer是具有插值功能的绘图软件,因此,即使你的数据是不等间距的,依然可以用它作图。但依据作者的经验,最好不使用Surfer自带的插值功能,尤其是要精确确定等高线时。由于surfer是美国的一个软件,它不提供对中文的支持,这可以算的上一个小的遗憾。
Surfer的主要功能是绘制等高线图(contour map),此外它还可以绘制post map, classed post map, vector map, image map, wireframe map, 3d surface map,等形式的图形。其功能是比较强的,但没有各种投影变化是它的一大缺点。尤其是在等高线领域,这不能不说是它的应用受到限制的地方。 由于surfer软件没有中文说明书,对一些初学者来说可能会存在上手较难的问题,鉴于此种需求,编写了这一初学者参考手册,希望对大家有所帮助。 二、等高线的绘制
Surfer的最主要的功能是绘制等高线图,但并不是我们具有了数据文件就可以直接绘制等高线,surfer要求绘制等高线的数据有特殊的格式要求,即首先要将数据文件转换成Surfer认识的grd文件格式,才能绘制等高线(当然,可以直接生成surfer接受的ascii 码的grd文件格式,这样就可以直接作图,此方法将在后面介绍,首先我们介绍常用的作图方法)。假设你有三列数据分别为X,Y,Z,其中Z为点(x,y)处的值,存在文件test.dat中(数据见附件),其中第一列是X坐标,第二列是Y坐标,第三列是(x,y)上的值Z,则绘制等高线的步骤如下:
步骤一:把数据文件转换成grd文件
1. 打开菜单Grid | Data... ,在open对话框中选择数据文件test.dat
2. 这会打开“Grid Data”对话框。在“Data Columns”中选择要进行GRID的网格数据(X和Y坐标)以及格点上的值(Z列),这里我们不用选择,因只有3列数据且它们的排列顺利已经是XYZ了,如果是多列数据,则可以在下拉菜单中选择所需要的列数据。选择好坐标XY和Z值后,在“Griding Method\中选择一种插值方法(如果你需要比原始数据的网格X和Y更密的Z数据,或是你的网格是非均匀的),则在Grid的过程中,Surfer会自动进行插值计算,生成更密网格的数据。如果你只是想绘制原始数据的图,不想插值,则最好选择距离平方反比法(inverse distance to a power)或Kriging方法。因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。在\test.grd,然后在“Grid Line Geometry”中设置网格点数。这里需要注意
的是,当X和Y的数值相差很大时,这里显示的最大最小值可能有错误(即与原始数据不同),这是Surfer软件本身的问题,遇到这种情况,必须手动改正这种错误,即输入正确的最大最小值。由于我们的数据没有此类问题,因此不必手动改正最大最小值。但必须手动改正X和Y的间距“spacing” 或数据个数“#f”,这二者是相关的,改动一个,另一个自动改正。如果你的原始数据是等间距的,这里的X和Y的间距“spacing\这样可以减少插值带来的误差。我们的数据是不均匀的,所以必须插值,这里可以不进行任何改动。好了,点“ok”,画图所需要的grd文件test.grd就生成了。
步骤二:画等高线
打开菜单“Map|Countour Map|New Countour Map\选择刚才输出的grd文件,如test.grd,点“ok”,则一副等高线图就画完了。
步骤三:等高线图的设置
在所画的等高线图中双击鼠标,或点击右键,选中“属性”,就会出现设置等高线的各种属性,在图的边缘双击鼠标则可以改动坐标轴的属性。 等高线图的着色(fill)和设置
双击等高线图,就会出现“map:countour properities”对话框,现在介绍此对话框中的设置。
“General”选项卡中: 1、“input grid file”
为打开的等高线图的grid文件名,你可以修改此处,打开不同的文件(几乎没人这样做),点一下打开文件图标旁的“i”图标,则可以看到当前grid文件的基本统计信息,如最大最小值等。 2、“filled countours”
选中fill countour(在前面的方框中点一下鼠标),就可以画着色的等高线图了,如果再选中下面的“color scale”的话,则可以在等高线图旁边给出色彩棒。
3、“smothing”
选中的话可以对等高线进行平滑,在amount中有“低、中、高”三种选择。这一项一般可以不选,除非你画出的等高线图中的等高线非常的不平滑,这项只起到美化图形的结果,没有更大的意义。 4、“blanked regions”
这项可以对空白区域进行着色,只有在你的等高线中有空白区域时才有意义,一般不用。
5、“fault line”
可以设置等高线的粗细颜色等。 “Levels” 选项卡中: 1、“level”
点击“level”可以设置等高线的最大最小值和等高线间的等高距,这可以对所有的等高线发生作用,通过调节此项可以使等高线分布均匀,易于看清楚,作图更美观。如不想人为改动,可用缺省值。双击level下面的数字,可以单独更改等高线的值,但要注意等高线从小到大的规律,不能瞎改。 2、“line”
点击“line”可以设置等高线的线型。 3、“properities”
选中“uniform”,则线型是统一的,选中“gradation”,则线的颜色是渐变的。选择好“properities”后,就可以更改下面的线型(style)和颜色(color)已经线的粗细(line)。当选“gradation”时,线的颜色是渐变的,点一下color旁边的颜色区,就会出现“color spectrum”选项,点一下“盾形”图标(在颜色条的左右两端上方),就可以分别点选下面的颜色了,当然,也可以自己加入“盾形”图标,加自己的颜色。或是用“load”调用调色板文件(*.clr),在surfer8目录下就有。“affected levels”可以有选择的对等高线的线型颜色进行设置,这里不再详细介绍,只要自己动手改改那里边的三个数字,你很快就会弄明白。此外,还可以通过双击line下面的线来改变某一根等高线的具体属性。 4、“fill”
此选项只有在着色等高线图中才有效,对单独的等高线图无作用。点击
“fill”设置着色。着色与“line”选项中的内容类似,不再详细介绍。同样,可以通过双击“fill”下面的具体颜色条来对特定的等高线区域进行着色。
5、“labels”
设置等高线标注数字,比较简单。双击下面的“yes”或“no”可以改变是否显示标注。 6、“hach”
用来画等高线的上下方向(即上山或下山方向),一般不用。 7、“add”和“delete”
在右边的按钮。当选中某一level后,点“add”按钮可以在两个level之间插入一新的level。Delete按钮则删除选中的level “view”选项卡中
用来调整等高线图的整体方向,除了在3d surface情况下,一般不用。 “scale”选项卡中
用来设置xyz轴的比例,可以调整其长度选项。一般情况不需调整,除非X和Y相差很大,为了方便看图可以调整其到合适的长度。 “limits”选项卡中:
可以用来裁剪等高线图(通过设置xy的最小最大值),从而得到感兴趣地方大小的图形。
“background”选项卡中:
可用来设置背景填色,一般不用。 横纵(xy)坐标轴的设置:
双击横轴和纵轴所在的位置,就可以打开坐标轴属性对话框 “map bottom(or left or top or right)axis properties”下面以bottom轴为例,其它类似:
“gernal” 选项卡:
“Title”, 在空白处可以输入轴的说明或图的说明文字,用“offset along” 和“offset
from”可以设置说明文字的位置,“font”可以选择字体,“angle”可以选择文字的旋转角度。
“labels”,设置轴的刻度值。
“axis plane”设置轴平面,一般不改动。 “axis”设置轴线属性。 “ticks”选项卡:
设置轴线上刻度的长度,方向,主刻度和辅助刻度。 “scaling”选项卡:
设置刻度值(label)的起始值(first major),间隔(major)和最后值(last major)。其它值一般不修改。 “grid lines”选项卡:
用来设置等高线图的坐标网格,用鼠标点击“show”即可。
此外,以上等高线的所有属性都可以通过双击左边的“object manager”(或在“view”菜单中)属性窗口来设置,与直接在图中设置无异。 三、在等高线图上加上背景地图(base map)(世界地图或局部地图)
我们经常需要把世界地图放在等高线图下面作为参考,世界地图在surfer中的格式是*.bln, *.gsb,*.jpg,*.gif等多种形式,比较常用的是*.bln文件,这些地图在surfer的官方网站http://www.goldensoftware.com/都有,可以自由下载。在附件中提供给大家一个世界地图的bln文件,文件名world0360.bln。
在surfer中打开 map|base map... 然后打开world0360.bln文件,就可以画出世界地图了。用view|fit to window可以很好的显示. 然后我们可以把相应的等高线图用第二部分的方法画出(注意base map的网格坐标必须与等高线图的网格坐标一致,至少base map的网格坐标要包含等高线图的网格坐标)。再按F2键(选中所有对象,或ctrl+A),点击map|overlap maps就可以将两幅图合成一副图。打开view|object manager,选中\,点右键,选order overlay|move to front就可以将背景图移到前面一层。这样一份好的等高线图就画好了。(见右图) 四、bln文件及blank作图
大家看了第三部分的图有可能会奇怪,为什么你的等高线只在海洋上有,陆地上怎么没有呢?这就是此节要讲的内容。首先讲一下bln文件的格式,bln文件具有以下格式: length,flag x1,y1 x2,y2 ... xn,yn
length,flag x1,y1 x2,y2 ... xn,yn
其中,length是背景地图曲线中点坐标的个数,如果xn=x1,yn=y1,那么所有的点将围成一个圈。如果不是这样,则是一条不闭合的曲线。 flag的值为1或0,当flag=1时,闭合曲线里面的等高线可以用此bln文件blank掉(即将闭合曲线中的等高线消除),如果flag=0,则是曲线外面的等高线被blank。我
所提供的bln文件为flag=1的格式,当然可以将其改成0。简单介绍了bln文件的格式,再来介绍怎样blank等高线。假设我们已经有了一个全球的等高线图,其原始数据文件为1.grd. 打开grid|blank... 选择文件1.grd,\,然后在新的对话框中选择world0360.bln, \,再在新的对话框中输入要输出的grd文件的名字,点ok就可以得到一个blank过的grd文件(假设为
out.grd),则用out.grd再做等高线图,即可出现我所给第三部分中图的效果. 五、应用surfer给出数据文件的统计性质
在应用数据作图前,有时候需要知道每列数据的统计性质,如最大值,最小值,标准差等。应用surfer的worksheet可以很方便的解决此问题。打开file|new 选中worksheet,则出现一个类似excel的表格,在此环境下,可以用file|open来打开需要查看的数据文件,譬如test.dat。如果我们想知道B列的统计性质,则点击B,再打开菜单data|statics...,选\,就会出现统计结果。同时,我们还可以对各列进行数学运算,譬如我想生成新的一列D,它是B列的平方加上C列的和,则先点击D列(空白列),再打开菜单
data|transform...在transform equation下输入“ D=B*B+C”点击\,则会生成D列数据,只要将文件另存为新文档就可以了。当然,你还可以用
surfer的worksheet做很多类似的计算。应该说,surfer的这一功能是很实用的,当然,还可以用data|sort...对数据进行排序。 六、post map和classed post map
有时候,我们需要在base map中添加台站的坐标,并用三角,五星等符合将其标出,且在旁边写上台站的名字,这可以用post map和classed post map完成。首先介绍post map,它的数据文件一般格式是: x1, y1, label1 x2, y2, label2 ...
xn, yn, labeln
其中,xn,yn为坐标值,label为数字或文字。我们还是以test.dat为例子,打开map|post map|new post map..., 选择文件test.dat, 选\,则会出现一副post map的图,双击图的中央,就会打开其属性。在gernal选项中可以设置坐标列,以及symbol(可更改为其它的形状,缺省为十字)。在labels选项中,可以通过\设置label,此处我们选择c列,则c列的值会出现在每个坐标点的上方。(如图所示) 至于其它的设置跟等高线类似,不再详述。
至于classed post map与post map类似,只是对不同的点,根据某些规则分类而已。譬如还是test.dat文件,我们把c列看成是每个点的高程,则可以根据高程对各点分类。如高程在25-54的用十字表示,88-105的用三角表示等。打开map|post map|new classed post map...,选择文件test.dat, 选\,则出现一副classed post map,双击图可以编辑属性,这里会多一个
\选项卡,这里的选项最大最小值,symbol等都可以改,不再详述。需要注意的是
classed post map至少要有三列数据,其中第三列就是分类的标准。 七、vector map 向量图(或风向图)
很多人是学习大气和海洋的,因此经常要画风向量图或海流的向量图,surfer可以轻松的完成,且图形可以调整,因此可以生成很漂亮的图形。vector map