美文网首页
22_Geoist流动重力平差_1

22_Geoist流动重力平差_1

作者: 地学小哥 | 来源:发表于2020-04-21 22:20 被阅读0次

内容摘要:为解决流动重力观测仪器数量多,周期长漂移率复杂等问题,Geoist团队研发了贝叶斯平差方法。该方法适用于不同仪器方差未知,绝对重力和多台相对重力联合观测的数据处理问题。根据观测时间长短可以分为线性漂移模型和非线性漂移模型两种。今天我们谈谈Geoist的gravity模块,如何完成具有大量冗余观测条件下的重力平差任务。

1、重力平差

地震重力测量核心目标是获取高精度时变重力信号。现有陆基重力观测仪器以弹簧型相对型重力仪为主,由于测点之间地理跨度大,一般双程闭合时间长,如果要获得高精度重力测量结果,需要考虑仪器的非线性漂移特性等问题。

Geoist团队基于贝叶斯原理,提出了一种改进的重力平差算法,假设仪器的漂移率光滑是已知的先验信息,并根据贝叶斯统计学方法估计最优化参数,提出了一种专用于改进现在广泛应用的线性漂移平差模型,并完成了可以用于最优估计仪器非线性漂移特性的新平差算法设计。

重力平差在概念上与水准平差类似,但是原理上不同,因为相对重力仪测量的段差具有独立性,平差最重要的是对仪器漂移率进行最优估计。

对于水准测量必须知道每个段差才能计算。举个例子,假设水准测量中间一个数据丢失了,后续平差无法开展。而重力不一样中间去掉几个测量数据,还是可以形成新的段差组合,平差不受影响。

2、经典平差

经典平差是相对于测网内固定的起算点,根据往返闭合差进行的点值估计工作。在经典重力平差中,每台仪器的漂移率一般假定为线性。根据实际测量点的顺序和时间,可以构成平差方程,采用最小二乘即可估计每个点值。

3、Geoist的平差功能

Geoist的gravity模块实现了多种平差方法,包括经典平差,贝叶斯平差等。graobj里面是平差计算中用到的类定义与接口实现。adjmethods是不同平差方法实现部分。

import geoist.gravity.graobj as gg
import geoist.gravity.adjmethods as adj

在gravity模块中,平差过程需要仪器、测网、测量和工程四个主要类,分别表示为Meter类,Network类,Survey类和Campaign类。在平差前,需要生成每个类的实例,比如用到两台重力仪,就需要用Meter类生成两个实例。Network是测网,通常是我们所说的点之记,里面根据点的编号,存储了每个测点的经纬度、名称等信息。Survey是一次测量,实例化后,可以将不同仪器、测网和观测文件添加进去。最后,通过实例化Campaign类,来调用平差方法,实例化后的Campaign可以添加Survey进去,比如一期测量,由多个野外队完成,先应该生成不同的Survey,然后再统一的添加到Campaign中,再开始平差。

注意,要进行平差,必须要生成Campaign的实例,然后正确地导入数据后,才可以开始计算。下面是一段示例代码:

m1 = gg.Meter('CG-5','C098')
m1.msf = 1.00009
m2 = gg.Meter('CG-5','C099')
m2.msf = 1.000637
m3 = gg.Meter('CG-5','C097')
m3.msf = 1.000163
m4 = gg.Meter('CG-5','C098')
m4.msf = 1.00009
n1 = gg.Network('NorthChina',1)
n1.read_pnts('./data/SDQSX8.DZJ')
print(n1)
s1 = gg.Survey('DQSW+SX', '201508')
s1.add_meter(m1)
s1.add_meter(m2)
s1.add_meter(m3)
s1.add_meter(m4)
s1.net = n1
s1.read_survey_file('./data/QSCW201508p.098')
s1.read_survey_file('./data/QSCW201508p.099')
s1.read_survey_file('./data/SXCW971508p.ori')
s1.read_survey_file('./data/SXCW981508p.ori')
s1.corr_aux_effect()
print(s1)
#查找一个测量工程中某个测点号对应的坐标
slon, slat, selev = s1._get_pnt_loc('11003902')
#查找一个测量工程中某台重力仪的格值
sf_val = s1._get_meter_sf('C097')

ag1 = gg.AGstation('白山洞绝对','11014121','A', 116.169, 40.018, 212.5)
ag1.ref_gra = 1110.54453
ag1.ref_gra_err = 5.0E-3 

gravwork = gg.Campaign('IGP201604', 1)
gravwork.add_ag_sta(ag1)                  #添加绝对点信息 可以添加多次
gravwork.add_surveys(s1)        #添加测量到平差任务
print(gravwork)
#开始平差pre_adj是完成从观测文件重,生成平差矩阵的
gravwork.adj_method = 1 #1:cls ; 2:Baj; 3:Baj1
gravwork.pre_adj()
gravwork.run_adj('./data/grav_cls.txt',3) 

一句话总结:Geoist提供的平差方法对点之记,观测文件都有一定的格式要求。后面我们会一点点介绍,通过7次课,将主要的平差程序使用方法介绍完,每次课的内容也会不定期进行修改和完善,力争做到图文并茂,通俗易懂。

相关文章

  • 22_Geoist流动重力平差_1

    内容摘要:为解决流动重力观测仪器数量多,周期长漂移率复杂等问题,Geoist团队研发了贝叶斯平差方法。该方法适用于...

  • 24_Geoist流动重力平差_3

    内容摘要:在谈完地震重力数据分析的基本思路外,今天我们说一下解决方案。地震重力测量的冗余数据为后续分析和建模提供了...

  • 25_Geoist流动重力平差_4

    内容摘要:流动重力测量由于主要采用相对重力仪器,其不确定性除了与仪器非线性漂移有关外,另一个重要的因素就是仪器格值...

  • 26_Geoist流动重力平差_5

    内容摘要:除了非线性漂移和格值系数外,还有那些问题可能会影响时变重力场获取呢?今天我们讨论一下测网中,绝对重力基点...

  • 27_Geoist流动重力平差_6

    内容摘要:理解如何选择合适的模型去解决问题,明白参数设置的内涵和意义,是灵活应用GEOIST软件的关键。贝叶斯原理...

  • 28_Geoist流动重力平差_7

    内容摘要:区域性的重力场微变化与地表形变、近地表物质运移和深部介质变形等因素密切相关,可表示为测量时间和测点位置的...

  • 23_Geoist流动重力平差_2

    内容摘要: 地震流动重力测量通常使用车载运输重力仪器,通过固定测点/线的往返实现数据获取。通常测量以相对重力仪为主...

  • 摆脱重力1

    当我看到这篇日志的时候,我完全忘记当时候写的时候的原因和心情了。好像有那么点短暂的被刺激到了然后写了下来。...

  • 流经山林汇入大地~一次创意舞动课

    今天的舞动课堂非常畅快淋漓,从空间流动到地面再流动到空间,感受核心和重力,仍然非常重要,当我们学会用核心发力,就可...

  • 什么叫“冰川”?它跟雪山有什么区别?

    冰川:是一巨大的流动固体,是在高寒地区由雪再结晶聚积成巨大的冰川冰,因重力这主要因素使冰川冰流动,成为冰川。 冰川...

网友评论

      本文标题:22_Geoist流动重力平差_1

      本文链接:https://www.haomeiwen.com/subject/ypbyphtx.html