《2022年surfer软件的使用方法 .pdf》由会员分享,可在线阅读,更多相关《2022年surfer软件的使用方法 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【转】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 是具有插
2、值功能的绘图软件,因此,即使你的数据是不等间距的,依然可以用它作图。但依据作者的经验,最好不使用Surfer 自带的插值功能,尤其是要精确确定等高线时。由于surfer是美国的一个软件,它不提供对中文的支持,这可以算的上一个小的遗憾。Surfer 的主要功能是绘制等高线图(contour map),此外它还可以绘制post map,classed post map,vector map,image map,wireframe map,3d surface map,等形式的图形。其功能是比较强的,但没有各种投影变化是它的一大缺点。尤其是在等高线领域,这不能不说是它的应用受到限制的地方。由于 su
3、rfer软件没有中文说明书,对一些初学者来说可能会存在上手较难的问题,鉴于此种需求,编写了这一初学者参考手册,希望对大家有所帮助。二、等高线的绘制Surfer 的最主要的功能是绘制等高线图,但并不是我们具有了数据文件就可以直接绘制等高线,surfer要求绘制等高线的数据有特殊的格式要求,即首先要将数据文件转换成Surfer 认识的 grd 文件格式,才能绘制等高线(当然,可以直接生成 surfer接受的 ascii 码的 grd 文件格式,这样就可以直接作图,此方法将在后面介绍,首先我们介绍常用的作图方法)。假设你有三列数据分别为 X,Y,Z,其中 Z为点(x,y)处的值,存在文件test.d
4、at中(数据见附件),其中第一列是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 值后,在“Grid ing Method 中选择一种插值方法(如果你需要比原始
5、数据的网格X和 Y更密的 Z 数据,或是你的网格是非均匀的),则在Grid 的过程中,Surfer 会自动进行插值计算,生成更密网格的数据。如果你只是想绘制原始数据的图,不想插值,则最好选择距离平方反比法(inverse distance to a power)或 Kriging方法。因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。在 Output GridFile“中输入输出文件名test.grd,然后在“Grid Line Geometry”中设置网格点数。这里需要注意名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -的是,当
6、X和 Y 的数值相差很大时,这里显示的最大最小值可能有错误(即与原始数据不同),这是Surfer 软件本身的问题,遇到这种情况,必须手动改正这种错误,即输入正确的最大最小值。由于我们的数据没有此类问题,因此不必手动改正最大最小值。但必须手动改正X和 Y的间距“spacing”或数据个数“f”,这二者是相关的,改动一个,另一个自动改正。如果你的原始数据是等间距的,这里的X和 Y的间距“spacing 或”f“最好与原数据一致,这样可以减少插值带来的误差。我们的数据是不均匀的,所以必须插值,这里可以不进行任何改动。好了,点“ok”,画图所需要的grd 文件 test.grd就生成了。步骤二:画等高
7、线打开菜单“Map|Countour Map|New Countour Map,在“Open Grid”对话框中选择刚才输出的 grd 文件,如 test.grd,点“ok”,则一副等高线图就画完了。步骤三:等高线图的设置在所画的等高线图中双击鼠标,或点击右键,选中“属性”,就会出现设置等高线的各种属性,在图的边缘双击鼠标则可以改动坐标轴的属性。等高线图的着色(fill)和设置双击等高线图,就会出现“map:countour properities”对话框,现在介绍此对话框中的设置。“General”选项卡中:1、“input grid file”为打开的等高线图的grid 文件名,你可以修改
8、此处,打开不同的文件(几乎没人这样做),点一下打开文件图标旁的“i”图标,则可以看到当前grid 文件的基本统计信息,如最大最小值等。2、“filled countours”选中 fill countour(在前面的方框中点一下鼠标),就可以画着色的等高线图了,如果再选中下面的“color scale”的话,则可以在等高线图旁边给出色彩棒。3、“smothing”选中的话可以对等高线进行平滑,在amount中有“低、中、高”三种选择。这一项一般可以不选,除非你画出的等高线图中的等高线非常的不平滑,这项只起到美化图形的结果,没有更大的意义。4、“blanked regions”这项可以对空白区域
9、进行着色,只有在你的等高线中有空白区域时才有意义,一般不用。5、“fault line”可以设置等高线的粗细颜色等。“Levels”选项卡中:1、“level”点击“level”可以设置等高线的最大最小值和等高线间的等高距,这可以对所有的等高线发生作用,通过调节此项可以使等高线分布均匀,易于看清楚,作图更美观。如不想人为改动,可用缺省值。双击level下面的数字,可以单独更改等高线的值,但要注意等高线从小到大的规律,不能瞎改。2、“line”名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -点击“line”可以设置等高线的线型。3、“properities”选中“unif
10、orm”,则线型是统一的,选中“gradation”,则线的颜色是渐变的。选择好“properities”后,就可以更改下面的线型(style)和颜色(color)已经线的粗细(line)。当选“gradation”时,线的颜色是渐变的,点一下 color旁边的颜色区,就会出现“color spectrum”选项,点一下“盾形”图标(在颜色条的左右两端上方),就可以分别点选下面的颜色了,当然,也可以自己加入“盾形”图标,加自己的颜色。或是用“load”调用调色板文件(*.clr),在 surfer8目录下就有。“affected levels”可以有选择的对等高线的线型颜色进行设置,这里不再详
11、细介绍,只要自己动手改改那里边的三个数字,你很快就会弄明白。此外,还可以通过双击line下面的线来改变某一根等高线的具体属性。4、“fill”此选项只有在着色等高线图中才有效,对单独的等高线图无作用。点击“fill”设置着色。着色与“line”选项中的内容类似,不再详细介绍。同样,可以通过双击“fill”下面的具体颜色条来对特定的等高线区域进行着色。5、“labels”设置等高线标注数字,比较简单。双击下面的“yes”或“no”可以改变是否显示标注。6、“hach”用来画等高线的上下方向(即上山或下山方向),一般不用。7、“add”和“delete”在右边的按钮。当选中某一level后,点“a
12、dd”按钮可以在两个level之间插入一新的 level。Delete 按钮则删除选中的level“view”选项卡中用来调整等高线图的整体方向,除了在3d surface情况下,一般不用。“scale”选项卡中用来设置 xyz 轴的比例,可以调整其长度选项。一般情况不需调整,除非X和Y相差很大,为了方便看图可以调整其到合适的长度。“limits”选项卡中:可以用来裁剪等高线图(通过设置xy 的最小最大值),从而得到感兴趣地方大小的图形。“background”选项卡中:可用来设置背景填色,一般不用。横纵(xy)坐标轴的设置:双击横轴和纵轴所在的位置,就可以打开坐标轴属性对话框“map bot
13、tom(or left or top or right)axis properties”下面以 bottom 轴为例,其它类似:“gernal”选项卡:“Title”,在空白处可以输入轴的说明或图的说明文字,用“offset along”和“offsetfrom”可以设置说明文字的位置,“font”可以选择字体,“angle”可以选择文字的旋转角度。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -“labels”,设置轴的刻度值。“axis plane”设置轴平面,一般不改动。“axis”设置轴线属性。“ticks”选项卡:设置轴线上刻度的长度,方向,主刻度和辅助刻度。
14、“scaling”选项卡:设置刻度值(label)的起始值(first major),间隔(major)和最后值(last major)。其它值一般不修改。“grid lines”选项卡:用来设置等高线图的坐标网格,用鼠标点击“show”即可。此外,以上等高线的所有属性都可以通过双击左边的“object manager”(或在“view”菜单中)属性窗口来设置,与直接在图中设置无异。三、在等高线图上加上背景地图(base map)(世界地图或局部地图)我们经常需要把世界地图放在等高线图下面作为参考,世界地图在surfer中的格式是*.bln,*.gsb,*.jpg,*.gif等多种形式,比较常
15、用的是*.bln文件,这些地图在 surfer的官方网站 http:/ 文件,文件名world0360.bln。在 surfer中打开 map|base map.然后打开 world0360.bln文件,就可以画出世界地图了。用view|fit to window可以很好的显示.然后我们可以把相应的等高线图用第二部分的方法画出(注意 base map的网格坐标必须与等高线图的网格坐标一致,至少base map的网格坐标要包含等高线图的网格坐标)。再按 F2 键(选中所有对象,或 ctrl+A),点击 map|overlap maps 就可以将两幅图合成一副图。打开view|object man
16、ager,选中base,点右键,选 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,那么所有的点将围成一个圈。如果不是这样,则是一
17、条不闭合的曲线。flag 的值为 1或 0,当 flag=1 时,闭合曲线里面的等高线可以用此bln 文件 blank 掉(即将闭合曲线中的等高线消除),如果 flag=0,则是曲线外面的等高线被blank。我名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -所提供的 bln 文件为 flag=1的格式,当然可以将其改成0。简单介绍了 bln 文件的格式,再来介绍怎样blank 等高线。假设我们已经有了一个全球的等高线图,其原始数据文件为1.grd.打开 grid|blank.选择文件 1.grd,ok,然后在新的对话框中选择world0360.bln,ok,再在新的对话
18、框中输入要输出的 grd 文件的名字,点 ok 就可以得到一个 blank 过的 grd 文件(假设为out.grd),则用 out.grd再做等高线图,即可出现我所给第三部分中图的效果.五、应用 surfer给出数据文件的统计性质在应用数据作图前,有时候需要知道每列数据的统计性质,如最大值,最小值,标准差等。应用surfer的 worksheet 可以很方便的解决此问题。打开file|new 选中 worksheet,则出现一个类似excel 的表格,在此环境下,可以用 file|open来打开需要查看的数据文件,譬如test.dat。如果我们想知道B列的统计性质,则点击B,再打开菜单 da
19、ta|statics.,选ok,就会出现统计结果。同时,我们还可以对各列进行数学运算,譬如我想生成新的一列D,它是 B列的平方加上 C列的和,则先点击D列(空白列),再打开菜单data|transform.在 transform equation下输入“D=B*B+C”点击 ok,则会生成 D列数据,只要将文件另存为新文档就可以了。当然,你还可以用surfer的 worksheet 做很多类似的计算。应该说,surfer的这一功能是很实用的,当然,还可以用data|sort.对数据进行排序。六、post map 和 classed post map有时候,我们需要在base map 中添加台站
20、的坐标,并用三角,五星等符合将其标出,且在旁边写上台站的名字,这可以用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,选ok,则会出现一副 post map 的图,双击图的中央,就会打开其属性。在gernal 选项中可以设置坐标列,以及symbol(可更改为其它的形状,缺省为十字)。
21、在labels选项中,可以通过 worksheet column for label设置 label,此处我们选择c列,则 c 列的值会出现在每个坐标点的上方。(如图所示)至于其它的设置跟等高线类似,不再详述。至于 classed post map与 post map 类似,只是对不同的点,根据某些规则分类而已。譬如还是test.dat文件,我们把 c 列看成是每个点的高程,则可以根据高程对各点分类。如高程在25-54 的用十字表示,88-105 的用三角表示等。打开 map|post map|new classed post map.,选择文件 test.dat,选ok,则出现一副 clas
22、sed post map,双击图可以编辑属性,这里会多一个classes 选项卡,这里的选项最大最小值,symbol 等都可以改,不再详述。需要注意的是classed post map至少要有三列数据,其中第三列就是分类的标准。七、vector map 向量图(或风向图)很多人是学习大气和海洋的,因此经常要画风向量图或海流的向量图,surfer可以轻松的完成,且图形可以调整,因此可以生成很漂亮的图形。vector map名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -分 1-grid vector map 和 2-grid vector map两种。首先介绍 1-gri
23、d vector map:1-grid vector map可以给出坐标点的方向和振幅大小,但它一般表示的是等高线的下山方向和大小,是等高线图的一种特殊表现方式,如应用test.dat就可以做出。打开 map|vector map|new 1-grid vector map,选中 test.dat,则会出现一副箭头图。通过双击图的中央可以编辑它的属性,此图一般很少应用,因此其属性设置不再详述,感兴趣的朋友可以自己试一下。下面主要讲 2-grid vector map,2-grid vector map用到两个不同的 grd 文件,一般讲这两个文件应该有相同的坐标网格。2-grid vector
24、 map的 grd 文件可以有两种表示方法,一种是直角坐标形式,一种是极坐标形式。对直角坐标形式,其中一个grd 文件里是 x 方向的值,另一个是y 方向的值。对极坐标形式,一个grd 文件是 vector 的方向,另一个 grd 文件是 vector的振幅值。下面举个具体的例子来说明如何作图。假设我们已经有了风分量u 和 v 的两个直角坐标的 grd 文件(包括 x y windu三个分量),名字分别为amipii.u.Jan.sp.dat和 amipii.v.Jan.sp.dat两个 grd 文件(需要注意的是,这两个文件已经是ascii 码的 grd 文件,看不到相应的三个分量,但不需要
25、再进行 grid 过程,可以直接应用,至于如何生成这种形式的grd 文件,我将在后面具体解释)。打开 map|vector map|new 2-grid vector map,将打开 open x component(angle)grid对话框,此时选中amipii.u.Jan.sp.dat(注意,需要在文件类型中选择 all files(*.*)才可以选择*.dat文件),随后会打开 open y component(length)grid对话框,此时选中amipii.v.Jan.sp.dat,选择ok,就会出现一副风的箭头图,再加上base map 就成了一副很漂亮的图。通过双击就可以打开
26、此图的属性(map vectors properties)。注意:在data 选项卡中,coordinate system要选 cartesian(x,y)(如果你用极坐标,就选polar(angle,length)。在symbol 选项卡中可以修改箭头的形状,线的属性,其中frequency 是设置x 和 y 方向需要箭头的频率,此处我们改为3,3,即在 x 和 y 方向都是每 3 点画一个箭头,也即省略了两点。其中的color scaling可以会色彩箭头,大家可以看一下效果(此处我没有改动)。在scaling选项卡中,可以设置箭头起始点的位置(symbol 项),以及箭头长度的比例形式(
27、线性,log,平方根等,在scaling项中改)。在右边还有两个选项,一个是反转箭头方向,一个是给出箭头的图标(legend),选中后者。在下面可以设置箭头的各个属性(mangitude,shaft length,head length和 symbol width,分别表示风的振幅大小(可改,这里选用缺省值),箭头杆的长度,箭头头的长度和箭头的宽度,这里其最小最大值分别为(后三项)0.04in,0.2in,0.04in,0.04in,0.01in,0.01in)。在scale 选项卡中,选择 x scale下的 length 为 6in,y scale下的 length为 3in。其它属性不做
28、改动,即可生成我所给的图形。当然,你也可以给出风uv 项的角度和振幅,用极坐标来画图,这其中要注意极坐标的参考点可以是东名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -(角度逆时针)或北(角度顺时针),请注意选择(在属性的 data 选项卡中修改,且其角度可以用度或弧度作单位,请小心区分)。八、ascii 码的 grd 文件及插值问题在第七部分给出的grd 文件是 ascii码的直接 grd 文件格式,无需进行grid 过程,这样做简单,准确,可以在工作和学习过程中提供很多方便。下面做一详细介绍:ascii码的直接 grd 文件格式包括 5 个文件头信息(关于网格的限制
29、),然后是 z的值,值得注意的是,这种文件格式必须用空格来区分两个数据。其一般格式为:DSAA(注意,必须大写且从第一行第一列开始,即 DSAA 前面不能有空格)nx ny(x 方向网格点的个数nx,y方向网格点的个数 ny)xlo xhi(x 方向网格点的最小值和最大值)ylo yhi(y 方向网格点的最小值和最大值)zlo zhi(z 方向网格点的最小值和最大值)grid row 1(z 的值在点(x1,y1),(x2,y1),.(xn,y1)grid row 2(z 的值在点(x1,y2),(x2,y2),.(xn,y2)grid row.grid row n(z 的值在点(x1,yn)
30、,(x2,yn),.(xn,yn)注意,此处 x1xn,y1yn。下面是一个具体的例子:DSAA 10 10 0.0 9.0 11.0 20.0 25.00 97.19 91.03 77.21 60.55 46.67 52.73 64.05 41.19 54.99 44.30 25.00 96.04 81.10 62.38 48.74 57.50 63.27 48.67 60.81 51.78 33.63 92.10 85.05 65.09 53.01 64.44 65.64 52.53 66.54 59.29 41.33 94.04 85.63 65.56 55.32 73.18 70.88
31、 55.35 76.27 67.20 45.78 97.19 82.00 64.21 61.97 82.99 80.34 58.55 86.28 75.02 48.75 91.36 78.73 64.05 65.60 82.58 81.37 61.16 89.09 81.36 54.87 86.31 77.58 67.71 68.50 73.37 74.84 65.35 95.55 85.92 55.76 80.88 75.56 74.35 72.47 66.93 75.49 86.39 92.10 84.41 55.00 74.77 66.02 70.29 75.16 60.56 65.56
32、 85.07 89.81 74.53 51.69 70.00 54.19 62.27 74.51 55.95 55.42 71.21 74.63 63.14 44.99 在这个例子中,共有100 个 z 的值,其中 x 为 10 个,y 为 10个,x 的最小最大值是 0.0 和 9.0,y的最小最大值是 11.0 和 20.0,z 的最小最大值是 25.00 和97.19,最后是 100 个 z 的值,每行 10 个值,共 10 行。当然,我们也没有必要这样排列,只有顺序不变,照样可以每行只有一个值,即类似下面的排法:.(省略了文件头信息)91.03 77.21 60.55.名师资料总结-精
33、品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -74.63 63.14 44.99 这里我给出一个 FORTRAN 语言生成 ascii码 grd 文件的子程序,仅供参考:-!write golden software surfer 8.0 grid format data by ascii(3d)!num_x,num_y=number in x and y direction respectively!x_begin,x_end,y_begin,y_end=the begin and end value in x and y direction respectively!z(num_
34、x,num_y)=z value at grid x and y point!iunit,filename=open file unit and name to write the 3d data subroutine wr_surfer_grid(num_x,num_y,x_begin,x_end,y_begin,y_end,z,iunit,filename)implicit none integer,intent(in):num_x,num_y,iunit real,intent(in):x_begin,x_end,y_begin,y_end,z(num_x,num_y)character
35、(len=*),intent(in):filename integer i,j close(iunit)open(iunit,file=filename/.dat.grd)write(iunit,(4a)dsaa write(iunit,*)num_x,num_y write(iunit,*)x_begin,x_end write(iunit,*)y_begin,y_end write(iunit,*)minval(z),maxval(z)do j=1,num_y;do i=1,num_x write(iunit,*)z(i,j)enddo;enddo close(iunit)print*,p
36、rint*,output data to file:,filename/.dat.grd print*,end subroutine wr_surfer_grid 原文作者后记:近些日子,有人问surfer8中的插值哪种好?我个人的观点,如果你的数据的网格是均匀的,那么,最好用我提供的这种ascii 码的 grd 文件直接作图。这样做的好处是显而易见的,即不会产生作图误差,且不会出现其它小问题,如不能正确处理 x 和 y 坐标(当二者差异较大时等)。我不主张在作图过程中进行插值计算。如果你的网格是非均匀的,则可能需要进行插值,我在前面介绍过在哪里选择,我个人认为比较好的是前两种(inverse
37、 distance to a power 和 Kriging方法),至于插值方法的详细介绍请参考help|contents|index 中名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -查找 interpolation主题词。因为时间关系,不再介绍插值问题。此外,surfer还可以做 image map,shaded relief map,wireframe map,3d surface map 等多种 map形式,这些其实都是等高线图的其它表现形式,所用的文件就是 grd 文件,只是表现形式不同而已,至于具体设置,相信大家已经可以轻松搞定。最后介绍一下 surfer图形的输出,当作好图以后,可以按F2 键,再按ctrl+c,就可以将图形复制,可以直接粘贴到word 文档中。此外,还可以通过file|export 菜单输出各种格式的图形(如 jpeg,wmf等)。至于向量图 eps 的输出,可以通过 eps 打印机进行。Surfer 还有一些辅助功能,如函数直接作图等(在 grid 菜单中),标注文字,画简单的图形等,请大家自己参考help 进行学习,这些在现在的基础上,应该是很简单的问题。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -