鳍片工矿灯 监控白:气象要素的等值线绘制技术

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 12:39:05
章毅之 , 辜晓青
(江西省气象科研所,江西 南昌 330046)
摘 要:介绍了Surfer和Grads 2个等值线绘制软件系统,并结合业务需要,对这2个绘图软件分别进行了探索和比较。
关键词:气象要素 等值线 技术
等值线图是气象工作者常用的气象要素图形显示方法,它能较直观地给出气象要素的分布情况,让气象工作者一目了然,因此目前在许多业务系统中都涉及到如何生成气象要素等值线的问题。在业务系统开发过程中,等值线的生成要么由程序员编程设计完成,要么利用己有的成熟商用软件。由于计算机生成等值线的算法较为复杂,自己开发等值线绘制程序势必耗费大量的时间,而借助成熟的商用软件能较快地制作出美观的等值线图。本文结合业务需要,介绍2种商用软件在等值线图制作方面的使用方法。
1 SURFER绘图软件
Surfer软件是Golden Software公司研制的基于Windows系列操作系统的插值绘图软件,是一个十分流行的小型软件。该软件可处理离散点资料、格点资料,可以绘制等值线图、三维立体图等,也可添加研究区域的部分地理信息、在资料点上显示标注等;提供了传统的Windows界面,操作简单,同时它还可通过VB等编程语言将其强大的功能嵌入到用户开发的系统中。
1.1  资料数据格式
资料数据的格式一般为文本格式,它包含的数据项有资料点的位置坐标(如经纬度)及属性项(如年均降水量)。其中属性项可以有多项,但资料点的位置坐标是唯一的。具体的数据格式如下:
114.58,29.03,1615
114.38,28.53,1501.8
……
114.60,27.40,1657.1
其中第一列为经度,第二列为纬度,第三、四…列为要素值。
将该文件准备好,我们就可以对资料数据进行空间插值处理。
1.2 离散数据的空间插值
要绘制要素的等值线图,关键的工作之一便是将离散点资料插值成规则的网格点资料。Surfer软件提供Grid功能完成插值过程。Grid提供了许多数学插值模型,如距离倒数加权法、最小曲率法、三角网线性插值法、克里格法、多元回归法等。利用这些数学模型,可以很方便地进行插值计算。其中较为精确的插值方法是克立格法。
克立格法是以法国D.G.Krige的名字命名的一种最优内插法。克立格法分为2步:(1) 对空间场进行结构分析。也就是说,在充分了解场的性质的前提下,提出变差函数模型;(2) 在该模型的基础上进行克立格计算。按照空间场是否存在漂移(drift)可将克立格插值分为普通克立格和泛克立格。其中普通克立格(Ordinary Kriging 简称OK法)常称作局部最优线性无偏估计。克立格法以空间结构分析为基础进行估值,因此该方法充分利用了数据空间场的性质,在插值过程中可以反映空间场的各向异性,并且充分利用数据点之间的空间相关性;可以自动识别样品点的空间分布,如果若干个样品距离较近而且在同一方向,那么离待估点较近的点的权值较大,而其他点的权值较小,这就消除了由于采样不均带来的误差,这种现象在克立格插值中称为“屏蔽效应”;可以产生超出估计点的最大和最小值范围,甚至出现负值,因此在某些情况下更加符合实际。
用离散点资料进行网格插值,还要注意的一个重要问题是网格分辨率的大小。网格过密,附近网格分析值连续性好,虽能增加线条的平滑度,但会导致绘图失真,如降水量分析中出现不合理的负降水量;网格过稀则会导致漏掉一些高低值中心,线条相对粗糙。经反复试验,在处理我省的站点资料时采用0.025°×0.025°的网格较为合适。
将站点资料转换为网格点资料后,根据站点资料的信息,在其附近的网格点都可得到分析值。这样,如果站点离省界很近,那么在省界以外的格点上相应也有分析值,从而造成绘制等值线时线条超出省界,影响美观。Surfer软件提供的Blank功能,可切掉省界以外的网格点分析值。利用地理信息系统软件从我省1:250 000的地理数据中提取出省界的经纬度数据,并转换成Surfer软件的边界文件格式。经过Surfer软件的处理,可切掉边界外的网格点资料值。
1.3 等值线图形的绘制
将站点资料处理成格点资料以后,利用Surfer软件的Contour功能便可进行等值线图的绘制。系统可自动设置等值线的间隔并绘制等值线,用户也可以根据自己的需要设计等值线间隔,决定是否填充等值线等。
Surfer软件兼容部分地理信息软件的数据格式,如ArcView等,并可与地理信息系统相结合,从而把部分地理信息叠加到等值线图上,使等值线图更加美观。我们利用我省1:250 000地理数据,用地理信息软件ArcView软件制作了全省各市、县行政区域图和全省主要河流、水库分布图等。用Surfer软件的overlay功能可以将同一坐标的多个图形进行合并,从而达到等值线图与底图合并的目的。
1.4 用VB开发等值线绘制系统
Surfer软件提供了一系列的开发控件,可方便用户将其许多强大的图形功能嵌入到自己开发的业务系统中,以完善业务系统的图形功能。作为例子,下面给出一段自动生成GIF图形的VB程序:
Set surferapp = CreateObject(″Surfer.Application″) ′生成Surfer模块< /FONT >
surferapp.GridDataDataFile:=infile,Algorithm:=2,_
DupMethod:=2,ShowReport:=False,outgrid:=gridFile,_
xmin:=113.5,xMax:=118.5,yMin:=24.4,yMax:=30.1,_
numcols:=402,numrows:=458  ′用克立格法将资料内插到格点上
surferapp.gridblankIngrid:=gridFile,blankfile:=blkfile,outgrid:=endFile ′去掉边界外的资料
SetPlot=surferapp.Documents.Add(1) ′生成一个空白的绘图页
SetContourMapFrame=Plot.shapes.AddContourMap(endFile) ′生成一个等值线图
SetContourMap=ContourMapFrame.overlays(1)
ContourMap.smoothcontours=4 ′平滑等值线
ContourMap.FillContours=True ′设置等值线填充
ContourMap.showcolorscale=True ′显示图例
Setbasemap=Plot.shapes.addbasemap(ImportFileName:=path+″.shp″) ′添加底图
Setpostmapframe=Plot.shapes.addpostmap(datafilename:=path+″.dat″,_
xcol:=1,ycol:=2,labcol:=3) ′添加标注图
′合并图形
Plot.Selection.OverlayMaps
′输出图形文件,退出Surf
Plot.exportfilename:=″d:\u8243″+element+″\u8243″+filename+″.gif″,_
Options:=″Width=354,Height=366″
surferapp.quit ′释放Surfer模块
2 GRADS气象图形系统
Grads软件是目前国内外气象界应用较为普遍的DOS环境下的绘图软件,它提供一个全32位的交互操作的气象格点数据和站点数据的分析和显示环境。该系统具有气象数据分析功能强、地图投影坐标丰富、高级编程语言使用简单、图形显示快速,并具有较强的彩色动画功能等特点。该软件是共享软件,用户可以到因特网上下载,其网址为:http://grads.iges.org。
Grads软件提供了强大的功能,但由于该软件所提供的地图资源和功能有限,不能直接满足具体用户的要求,因此我们在充分发挥该软件原有功能的基础上,在以下几个方面进行了探索。
2.1 数据的准备
Grads软件有自己定义的一套资料数据格式,因此在使用Grads软件进行图形制作时,首先要对站点资料进行预处理。具体的数据格式和处理过程可参见文献[1]。
Grads软件提供的地图资源中,只有中国的国界。而我们所需要的信息通常包含省界、主要河流等地理信息,这需要按该软件的地图数据格式进行地图的制作。利用江西省1∶250 000的地理数据和地理信息系统软件,根据Grads提供的地图数据格式,做出的地图底图包括江西省行政区划和江西省主要河流。
为了绘制出美观的等值线,我们要求将所绘的线条不超出省界,这需要准备好等值线图的背景网格。Grads软件中可用maskout函数来解决这一问题。原理是:函数需要一边界背景网格,即把连续闭合的省界网格数字化,在边界上和内部网格与边界外网格给出2个不同的数据以示区别。函数根据分析网格对应的边界背景网格的值,把边界内外的值勤区分开来,并把边界外的分析值赋为缺省值。Grads绘等值线和填色图时,缺省值点将不予考虑,从而达到修整边界的目的。我们制作的背景网格分辨率要与插值网格的分辨率一致。给定背景网格的经纬度范围,利用地理信息系统软件很容易生成背景网格数据。
2.2 离散数据的空间插值
在Surfer软件中离散点的插值技术采用的是纯数学方法,而在Grads中则采用Cressman的客观分析方法。该分析方法具有较大的灵活性,可用于不同要素的分析。其误差订正原理独具特色,主要根据实测站点资料,对分析场进行连续订正,适当的平滑处理过程也包含其中。该方法在数值预报的客观分析工作中曾被广泛应用,正如文献[2]所示,其基本思路为:
令E(I,J)表示在格点(I,J)处被分析的任一要素值,令角标g表示估计场,则有:
Eg(1)(I,J)=Efg(I,J)+C(1)(I,J)
Eg(2)(I,J)=Eg(1)(I,J)+C(2)(I,J)
M
Eg(Nc)(I,J)=Eg(Nc-1)(I,J)+CNc(I,J)
式(1)中第1式的含义为:E(I,J)在第1次订正后的值Eg(1)(I,J)等于E(I,J)的初始值Efg(I,J)加上对初始值的订正值C(1)(I,J);第2式的含义为:E(I,J)在第2次订正后的值Eg(2)(I,J)等于E(I,J)在第一次订正后的值Eg(1)(I,J)加上它的订正值C(2)(I,J);…;第Nc式的含义为:E(I,J)在第Nc次订正后的值Eg(Nc)(I,J)等于它在第Nc-1次订正后的值Eg(Nc-1)(I,J)加上它的订正值CNc(I,J)。第Nc次迭代后,我们发现CNc(I,J)不大于我们事先给定的容许误差值ε>0,即|CNc(I,J)|≤ε,这时我们认为订正过程结束,Eg(Nc)(I,J)即为(I,J)处的分析值。
在Grads的客观分析中,选用站点资料场的平均值作为格点场的初始场,订正值C(i)(I,J)由式(2)进行计算:
                                      (2)
式(2)中R(i)表示在第I次迭代中以格点(I,J)为中心之圆域的半径,rj表示自(I,J)点到第j个观测的距离。R(i)是影响半径,rj≤R(i)表示在第I次迭代中,位于以(I,J)为中心、以R(i)为半径的圆域内的所有观测点。dj是第j个观测与估值在该点的插值差,Wj是第j个观测的权重。W是权重函数,取值如下:
                                           (3)
在具体分析过程中,常给出一系列持续递减的扫描半径N1,N2,……。当d=N1,N2……时,W=0。每给定一个扫描半径时,将对所有网格点的值重新修正赋值。最大半径设置了执行差值订正的最大范围,最小半径则给出可分析范围的一个下限。这个客观分析过程在Grads中可用oacres函数完成。
2.3 图形的自动生成
用Grads系统生成等值线图,要执行的步骤为:(1) 打开要处理的站点资料;(2) 进行图形的边界处理;(3) 绘制等值线或生成填色图,并转换成GIF格式。
Grads系统提供了一种高级编程语言,利用该语言编写程序则可按上述步骤自动生成GIF图形,但该程序只能在Grads环境中运行。要在VB等高级语言中使用Grads的图形功能,则利用Shell函数执行Grads提供的命令即可。
3 结语
利用上述2个绘图软件,我们对气象要素的等值线图或填色图的绘制进行了试验。结果发现这2个软件各有利弊:
(1) Surfer软件使用比较简单,在很短的时间内便能掌握其基本功能;而Grads软件操作较为复杂,除了在绘图的过程中需要对站点数据进行预处理外,还需学习其高级编程语言。
(2) Surfer软件可以利用地理信息系统生成的图形作为底图使用;而Grads则要按其提供的底图格式,由用户自己生成底图。
(3) Grads软件提供了丰富的地理投影,而Surfer软件则不提供任何地理投影。
(4) Grads软件在将站点数据转换成格点数据时,采用的是气象要素的客观分析方法,充分考虑了气象要素的特点;而Surfer软件在处理这方面的问题时,使用的是纯粹的数学方法。虽然Grads软件在气象要素的图形显示工作中被广泛使用,但由于用Grads软件开发绘图程序较为复杂,我们正在使用该软件进行开发试验。而Surfer软件己被我们应用到“江西省气候资料共享系统”的图形自动生成工作中,并得到了较好的效果。
参考文献
1 张洪编译.Grads气象图形系统使用方法[Z].南京:南京气象学院教材,1995.
2 王跃山.客观分析和四维同化.气象科技[J],2001,29(1):1~9.
第一作者简介:章毅之(1973-),男,工程师,硕士,主要从事GIS与气候资源开发与研究工作.