VBA在计算重力固体潮理论值中的应用

2016-10-18 07:11张永旺赵丽娟赵婧苏鹏飞
西部资源 2016年4期

张永旺 赵丽娟 赵婧 苏鹏飞

摘要:重力固体潮改正是重力数据处理的基础,在重力工作中重力仪的仪器试验、重力基点网联测、重力测点绝对重力值计算等主要重力数据处理中,重力固体潮理论值的计算都必不可少。但重力固体潮的计算公式繁杂,为提高计算效率,简化计算过程,笔者应用EXCEL中的Visual Basic编辑器,通过VBA代码实现了重力固体潮理论值的一键计算。

关键词:重力固体潮;VBA;重力计算

Abstract: the theory value of Gravity solid earth tides is the basis of gravity data processing, in the gravity test instrument, gravity basepointsnet conjunction, absolute gravity value of observation point and so on, the theory value of Gravity solid earth tides is necessary of gravity data-processing. But Gravity solid earth tides correction is complicated. In order to improve the computational efficiency, simplify the calculation process, the author take full advantage of VBA editor in the EXCEL, through VBA code calculating the theory value of Gravity solid earth tides by one key.

Key words: Gravity solid earth tides;VBA;Gravity Calculation

前言

随着矿产资源的勘查与开发日趋向深部发展,深入了解大地构造,划分断裂构造及其控矿特征,圈定隐伏岩体,对于开展深部找矿具有决定性的作用,而重力工作对于解决以上地质问题具有明显优于其他物化探方法的优势,所以重力工作对于进一步推动地质矿产勘查的转型和发展都具有重要意义。

重力工作中数据处理的真实准确是开展解释推断的基础,而重力固体潮理论值的计算又是重力数据处理的前提,所以准确无误的获得重力固体潮的理论值显得尤为重要。

目前,重力固体潮理论值的计算有几款商业软件可以实现,但不同软件输入格式多样,其计算结果应用于下级计算步骤繁杂,不利于资料的二次利用。通过VBA实现重力固体潮的计算可以简化重力资料处理,提高工作效率。希望文章对重力工作者有所帮助,同时也欢迎广大重力工作者批评指正。

1. 概念

1.1 重力固体潮

由于地球和太阳及月亮的相对位置不断变化而引起的重力变化称为重力固体潮。

1.2 重力固体潮理论值

月球和太阳对地球上某一点作用值之和即为重力固体潮的理论值。

2. 格式要求

数据格式依次为点号、日期(年-月-日)、时间(60进制,h:mm:ss)、经度(60进制,DDDMMSS.S)、纬度(60进制,DDMMSS.S)

运行VBA代码后会在F列显示点对应的重力固体潮理论值。

3. VBA代码及解释说明

4. VBA代码的应用

实际使用时,新建一个Excel表格,在Sheet1中输入数据,然后在工具选项卡中打开宏-Visual Basic编辑器,在代码窗口中,粘贴上述代码,点击运行(如图1红圈所示)按钮即可在数据尾列获得重力固体潮理论值(单位毫伽)。

5. 算例与分析

为确保VBA代码的准确性和可靠性,笔者针对性的选择以下特殊情况的数据(见表2)进行验算,并与“区域重力信息系统RGIS2006”、“跨平台金维地学信息处理研究应用系统GeoIPASV3.2”计算成果进行对比。

从表2可知,由于计算过程中截取位数的差别,笔者编写的VBA代码与RGIS2006的计算成果最大偏差0.002毫伽,与GeoIPAS V3.2最大偏差0毫伽,证明在不同特殊情况下,笔者编写的VBA代码计算成果准确可靠。经过大量检查计算(此处不一一列举),VBA代码的计算成果与RGIS 2006的最大偏差仅0.003毫伽,与GeoIPASV3.2基本没有偏差。

6. 结束语

利用VBA代码进行重力固体潮的改正不仅方便快捷,便于进行数据的下级计算,而且精度可靠,能够满足大比例尺重力工作,具有较高的应用推广价值,同时欢迎广大重力工作者批评指正。

参考文献:

[1] DZ/T0082-2006,区域重力调查规范[S].

[2] 马玄龙,刘永生.重力固体潮在Excel工作表中的计算方法[A].资源环境与工程.2010,24(2):203-206.

[3] 宋伟,吴建国等.中文Visual Basic6.0编程基础[M].北京:清华大学出版社,1999.