- 23
- 0
- 约2.76千字
- 约 5页
- 2016-09-10 发布于北京
- 举报
C++Builder和Surfer接口技术及其在气象绘图中的应用.doc
C++Builder和Surfer接口技术及其在气象绘图中的应用
摘 要:在气象业务和科研工作中,数据的可视化处理是非常重要的技术。本文基于Surfer接口,使用C++Builder开发了气象数据查询系统,将气象要素以色斑图的形式直观的显示出来,实现气象数据绘图的自动化;同时本文也给出了调用Surfer Automation接口的具体方法和技巧。
关键词:C++builder sufer 气象绘图
中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2014)04(a)-0040-01
等值线图是气象工作中常用到的图形显示方法,它可将气象要素的分布直观地显示出。在业务软件开发中,自主开发等值线的绘制算法较为复杂,因此,可通过对成熟的商业软件进行二次开发,并衔接至自己的系统中来实现。
Surfer软件可实现等值线、三维面图的绘制且具有各种函数运算功能[1],并提供了完整的OLE Automation功能供外部程序调用。本文采用了BCB调用Surfer接口来完成气象数据查询软件的编写,并介绍了该技术在气象数据可视化中的一个具体应用,实现数据成图的自动化,极大提高了业务人员的工作效率。
1 Surfer等值线绘制方法及接口技术
1.1 Automation接口及其优点
Automation接口是指软件提供的允许外部程序访问其对象的编程接口。用户可利用专业的工具软件作为后台,利用开发工具进行二次开发,可实现专业软件的绝大部分功能。
Surfer提供了一套完整的OLE Automation功能供外部应用程序调用[2]。外部程序调用中可以给任何对象的属性赋值,通过赋予不同的参数值改变对象的状态;方法执行过程中可以通过参数控制图形的输出。
1.2 利用Surfer绘制离散点等值线的原理
Surfer绘制离散点等值线的原理是将已给出的离散点数据插值生成光滑曲线,每条曲线上的数据值都是相等的。Surfer的主要内插计算方法有克里金插值发、三角网格线性法、最近距离法、最小二乘法等[3]。
2 C++Builder调用Surfer绘图的关键技术
2.1 背景地图文件的生成
将本地区气象要素的空间变化特征直观的显示出来,需要将本地区边界外的数据裁减掉[4]。这里要用到Surfer的白化功能,白化过程中需要本地区的边界文件。本文利用MapInfo来获取边界数据,具体方法为打开地图,双击需要提取边界的地区使其变为阴影,然后将地理信息复制出来,并粘贴至一个新的数据文件中;利用ReShape功能获取到边界数据,最后利用Export功能将边界文件导出。导出文件经过记事本进行格式修改后可直接在Surfer中作为底图载入。
2.2 数据文件的格式说明
等值线绘制前,需要对原始数据文件进行处理,并生成如下格式的数据文件:
114.87 30.37 162.2
……
数据文件一行为一条记录,每条记录的三条数据分别为经度、纬度和绘制等值线要素的值。
2.3 调用Surfer接口绘制等值线
(1)在BCB中创建Surfer应用程序对象和绘图文档,并通过修改其Default FilePath的值来设置默认的文件路径。
V=CreateOleObject(Surfer.Application);
V.OlePropertyGet(Documents).OleFunction(Add,1);
(2)数据文件的格点化与白化处理,并绘制等值线。数据文件格点化所用到的函数为“GridData”,白化过程中所用到的地图文件的路径为变量blank。
V.OleFunction(GridBlank,grd,blank,grd);
Plot.OlePropertyGet(Shapes).OleFunction(AddContourMap,grd);
(3)调取分级文件,并利用分级文件来为等值线填色。
CMap=MapFram.OlePropertyGet(Overlays).OleFunction(Item,1);
CMap.OlePropertyGet(Levels).OleFunction(LoadFile,lvl);
(4)添加地图底图与标注,并设置标注的属性。设置标注的位置时是通过设置PMap的属性来实现,而设置标注的字体、大小时则需要通过设置PMapFont的属性来实现。
Plot.OlePropertyGet(Shapes).OleFunction(AddBaseMap,base);
PostMap=Plot.OlePropertyGet(Shapes).OleFu
您可能关注的文档
- 30亿投资兑付无门 华融普银案曝光有限合伙基金市场乱象.doc
- 330kV GIS在高海拔地区的应用探讨.doc
- 330MW机组刷式汽封技术应用研究.doc
- 330MW直接空冷机组防冻措施及低背压经济运行技术研究.doc
- 35CrMo与Q690D的焊接冷裂纹防止工艺.doc
- 35kV单芯电缆故障及措施讨论.doc
- 35kV及以下电力线路的设计.doc
- 35kV变电站中的防雷保护装置优化探析.doc
- 35kV变电站电力调度数据网络的建设和实施研究.doc
- 35KV变电站线路保护跳闸事故现场试验分析.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 压缩空气流量及管径计算.xls VIP
- 高中生物教学中的实验探究与生态意识教育研究论文.docx
- 河北省石家庄九年级历史期末试卷.doc VIP
- 养老院礼仪礼节培训课件.pptx VIP
- ROC-7000系列反渗透应用控制集成系统明书.pdf
- 高中化学实验与环境保护教育融合的生成式AI应用案例研究教学研究课题报告.docx
- 浙江省杭州市拱墅区2024-2025学年第一学期九年级期末教学质量调研 科学试题卷.docx VIP
- 4—13现场钢筋直螺纹接头质量检验记录.doc VIP
- 基于SpringBoot的3C数码租赁系统设计与实现.docx VIP
- 保险原理及实务进阶学习指南.pptx VIP
原创力文档

文档评论(0)