用Surfer 和Vb 实现区域自动站等值线自动绘制

电脑杂谈  发布时间:2019-05-09 01:19:26  来源:网络整理

surfer怎么画等值线_如何画通道线和拐点线_纳斯卡线画

摘 要对Surfer 功能深入研究后发现,引用Vb 与Sufer 联合编程,并结合区域自动站,可以实现区域自动站雨量等气象数据的填图、等值线绘制及色彩填充,以直观可视的图形方式表现数据。同时与州市(县)界、站点等底图文件叠加显示并输出图形,应用在决策服务产品中,为地方领导和相关部门提供更直观、更准确的气象信息,为领导决策提供科学依据。关键词:Surfer Vb 等值线 自动绘图1 引言在气象数据处理和应用工作中,需要绘制大量的气象要素图片,随着气象事业的发展,预报产品不断丰富,服务方式日趋多样化,如影视制作、气象网站等,这在很多情况下需要以图形替代以往的文字、表格方式,从而直观地表达气象信息,适应受众习惯。目前很多用于气象业务科研应用的图形处理系统,如Micaps 、Grads 、Surfer 、Metlab 等,在这些软件中,通过Micaps 实现图形化显示,是气象业务中通用的方法,但Micaps 图形的格式一般软件无法识别。Grads 是气象专用软件,但是在Dos 环境下开发而成,界面不友好、而且只能读二进制数据,需要自己编程实现,难度较高。Metlab 功能强大,想要深入了解如何使用,计算机水平要求较高。

不同于其他同构型的产品,tecplot 360 具有完善的的 xy 图,2d 图 和3d 图绘制能力,多框架的工作区,和高质量的图形输出,让用户能完全的掌控绘图的功能,得到任何一种想要绘制来做简报、分析或是出版的图形。等高线地形图下载助手可提取点、线、面等高线数据,绘制圆和扇形,测量面积和周长,地图、卫图下载,等高线绘制,地形断面生成,地球截图,可设置任意密度和范围,可提取几百万个高程点数据,可以根据不同的需求设置不同的提取方式。1、在同一个框内绘制多个函数时,可以使用各大高级绘图命令使图形展示得直观、完整。

纳斯卡线画_如何画通道线和拐点线_surfer怎么画等值线

9、可以输出为亿图专用的绘图格式,或者通用的各种图形格式,您可以将绘制好的图形直接嵌入到office程序中来轻松制作图文并茂的文档。小 结: 也许市面上的绘图软件太多了,可是亿图图示专家这种操作既简单功能又丰富的软件可谓是少之又少,尤其是它绘图的多样性,它不仅仅提供了简单的图形绘制,而且涉及地图绘制,流程图绘制等多种图形绘制功能于一体,小编上面给大家讲讲的仅是它的功能之一,由于篇幅有限不能将它的功能一一列出,它可是一款不可多得的多能绘图软件,有对绘图方面方面需要的朋友,赶快来下载吧。超级绘图王是一款的建筑绘图软件,软件基于autocad进行二次开发,不仅可以实现简单cad图形的绘制,还拥有人性化和傻瓜化的特点,可以方便设计人员设计出的图形。

rhinoceros4.0 中文破解版是一款三维建模软件,可以帮助用户构建模型、地理模型、3d信息采集、3d图形绘制、渲染、打印等多种项目的操作,软件提供了多种环境下的建模工具,可以利用曲面、对象曲线、网格等工具实现模型的绘制已经模型的分析,其中的网格功能可以让您在设计模型的时候对三维空间的数据进行详细规划,犀牛rhinoceros4.0在渲染的方面工具也非常齐全,支持材质、贴图、高光、透明等多种效果的渲染操作,需要的朋友可以下载试试。软件主要功能都有:地理搜索、经纬度坐标转换、绘图测量、数据交互(kml文件导入导出)、等值线(等高线)生成绘制、转换数据支持cad格式、绘制地形剖面图、高程数据下载(dem)、谷歌地图影像下载(谷歌普通地图,卫星地图,地形图)、坐标偏移纠错、地图影像拼接大图。软件主要功能都有:地理搜索、经纬度坐标转换、绘图测量、数据交互(kml文件导入导出)、等值线(等高线)生成绘制、转换数据支持cad格式、绘制地形剖面图、高程数据下载(dem)、谷歌地图影像下载(谷歌普通地图,卫星地图,地形图)、坐标偏移纠错、地图影像拼接大图。

surfer怎么画等值线_纳斯卡线画_如何画通道线和拐点线

在VB6.0中调用Surfer8.0进行嵌入式编程类似于调用ActiveX 控件编程,要调用Surfer8.0,就必须先获得Surfer8.0及其下属的对象模型,并把它们赋值给对象变量。在VB6.0中,可以用CreateObject 函数创建Application 对象。在创建Application 对象后,就可以根据前面讲的绘图流程进行下一步的开发了。图1 Surfer自动化对象层次Fig.1 Surfer automation object layer4 应用实例这里介绍西双版纳州区域自动站降水量等值线图自动绘制过程。绘图过程根据前面2.2介绍的绘图流程,总体上可以分为任意时段区域自动站雨量数据获取、Vb 调用Surfer 绘制等值线、加载采用 Mapinfo生成的底图矢量文件和图形输出等几个过程。4.1 获取任意时间间隔区域自动站雨量数据等值线的绘制关键是数据的收集,Surfer 绘图一般使用三列数据:XYZ ,X 为经度,Y 为纬度,Z 为气象要素值。这里采用的数据直接来源于西双版纳州气象局区域自动站。任意时段区域自动站雨量数据由VB 自动从中获取,同时用VB 把站点经纬度和任意时段区域自动站雨量数据写入文件station.dat ,并存到指定文件夹,以便用surfer 调取。

数据的获取也可以把经纬度值先写入文件station.dat, 接下来利用华创数据分析应用终端,选择气象要素数据文件, 选取某一任意时间间隔为查询条件,获取该时段内本地区所有区域自动站的雨量信息并以Excel 方式输出到指定文件夹(data.xls )中,必须注意数据顺序要与站点资料文件对应一致。4.2 Vb调用Surfer 绘制等值线Vb 具有强大的“所见即所得”图形用户界面和编译功能。由于它支持ActiveX 自动化 控制协议,因此很容易在二者间建立ActiveX 自动化连接,实现Vb 应用程序对Surfer 绘图功能的调用。代码如下:Set SurferApp=CreateObject(“Surfer.Application ”)’注: 创建对象,CreateObject 是V b提供的一个方法,它创建并返回一个对 ActiveX 对象的引用。surfer怎么画等值线CreateObject 方法在系统注册表里查找“Sufer.Application ”项,并自动激活Surfer 服务。SurferApp.GridData DataFile:="*\station.dat", xCol:=1, yCol:=2,zCol:=3, Algorithm:=2, DupMethod:=2, ShowReport:=False,OutGrid:="*\station.grd",xMin:=99.942882, xMax:=101.845122, yMin:=21.146981, yMax:=22.592122’注: 接着就是利用 VB 代码控制 Surfer 来绘制等值线, 生成一个空白的绘图页。

纳斯卡线画_surfer怎么画等值线_如何画通道线和拐点线

用Kriging 法将资料内插到网格点上,并定义网格的最大(小) 经纬度,Datefile 为包含路径的文件名,这里为雨量数据文件,Outgrid 为数据插之后的输出文件。SurferApp.GridBlank InGrid:="*\station.grd", BlankFile:="*\bnbj.bln", OutGrid:="*\station.grd"’注:用.bln 文件白化等值线,去掉边界外的插值, 并重新保存,为后面绘制等值线做准备。Set plot = SurferApp.Documents.Add(1)Set ContourMapFrame = plot.Shapes.AddContourMap("*\station.grd ")’注:生成一个空白的绘图页, 并在空白绘图页上生成白化后的等值线图,并指定其文件名为ContourMapFrame 。Set ContourMap = ContourMapFrame.Overlays(1)ContourMap.Levels.LoadFile ("*\降水等级.lvl")’注:降水等级文件可根据实际情况调整,以绘出较为美观的图形。

ContourMap.SmoothContours = 4ContourMap.ShowColorScale = TrueContourMap.FillContours = True’注:载入等值线等级文件,并平滑等值线,设置显示色标,最后,填充等值线。surfer怎么画等值线4.3 加载采用 Mapinfo 生成的底图矢量文件为了更加详细的了解区域内各市县降水分布,为地方领导和各级部门决策提供科学依据,在雨量等值图上加载分县边界十分重要。由于一般图形都是图片格式无法在等值线图上直接加载,笔者根据毛兴华[4]等将Map Info 和Surfer 结合绘制等值线一文中介绍的方法将西双版纳州市县界图片文件采用Mapinfo 软件进行矢量化,并输出为mif 文件,对mif 文件进行适当修改得到可以方便加载在等值线图上的bnbj.bln 边界文件。加载边界地理信息bln 代码如下:Set Basemap = plot.Shapes.addbasemap(ImportFileName:=“*\bnbj.bln”)’注:给等值线图plot 加载分县边界数据。Set postmapframe = plot.Shapes.AddPostMap(datafilename:= "*\station.xls" , xCol:=1, yCol:=2, LabCol:=3)’注:添加张贴图,生成一个州(市)区域自动站数据填图图层。

surfer怎么画等值线_纳斯卡线画_如何画通道线和拐点线

其中station.xls 为自动站数据,第一行为经度,第二行为纬度,第三行为站点名称。Set postmap1 = PostMapFrame.Overlays(1)' 注:下面对张贴图的属性进行设置Set MkFormat = postmap1.SymbolWith MkFormat.Size = 0.05.Index = 12End With' 注:设置站点符号的大小和形状Set lbFont = postmap1.LabelFontWith lbFont.Face = "宋体".Size = 8End With' 注:设置站点名称的字体和大小4.4 图形输出Vb 中显示图形一般用Picture 框或Image 框控件的Loadpicture 方法实现。Surfer 绘制的图形不能直接在Vb 程序下显示,可将Surfer 图形导出为.gif 等Picture 框控件所支持的图形文件格式,再用Loadpicture 方法实现图形在Picture 框中显示。以gif 文件为例,将Surfer 图形导出的代码如下:Set adtext=plot.Shapes.AddText(x:=1.5,y:=4,Text:="08年8月9日24小时降水图")With adtext.Font.Face = "宋体".Size = 14End With' 注:在图形的空白处加入标注plot.Shapes.SelectAllplot.Select.OverlayMaps’注:将上述所有图层进行合并plot.Export FileName:="*\data.gif",Options:="Width=600,Height=450" plot.CloseSurferApp.Quit' 绘图已完成,释放Surfer 模块Picturel.Picture=LoadPicture(“*\data.gif”)’注:输出图形文件,退出Surfer 。

其中,data.gif(图3) 为导出的gif 图形文件名,Width 、Height 分别为导出位图的宽度和高度(单位为像素) 。图2 区域自动站雨量色彩填充图Fig.2 Regional automatic station rainfall plot fall in color(x: longitude y: latitude)5 结语Surfer8.0有着强大的数据分析和绘图功能,已经在气象学领域科到了广泛的应用,常用的等值线图、地形地貌图和三维表面图等都可以借助其轻松完成。如果使用Surfer 手动绘图,光绘图工作就得一天,用VB6.0对Surfer8.0 进行二次开发,结合区域自动气象站,通过实时选择任意时间间隔内雨量等绘制等值线,可以快速、轻松实现自动化的批量绘图功能,并自动标注和填充,既提高了效率,也保证了绘图的准确性,在一定程度上实现了气象信息的可视化、形象化和实时化。改变了以往表现降水信息使用的数字、表格等呆板形式,以直观可视的图形方式表现数据,为地方领导和相关部门提供更直观、更准确的雨情信息,为领导决策提供科学依据,也促进了气象服务能力和水平的提升。参考文献:[1] 梁亮. SURFER软件在气象主分量分析中的应用. 浙江气象,2004, 26 (3) : 29 - 37.[2] 曾志雄, 陈慧娴. 如何使用Surfer 8.0画等值线图. 广东气象,2006(3),64-65.[3] 陆志波, 陆雍森. Surfer 8. 0在环境评价和规划中的应用. 同济大学学报, 2005, 33 (2) : 191 - 195.[4] 毛兴华,胡方西. 将MapInfo 和Surfer 结合绘制等值线. 测绘通报,2001,10:39-46.[5] 董舒. Surfer在绘制水下地形图中的应用. 江苏水利,2005(12):13-14.已发云南气象2009年第4期


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-97284-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...