GAMIT10.5数据处理图文流程
冉启顺
一、 前言
二、数据准备
1.前期准备
首先想好要处理什么时段、什么地方的数据
本文档以处理bjfs,shao,lhaz,urum四个站点2013年2月1日的数据为例
本文档使用软件版本GAMIT10.5
处理环境:win10上的虚拟机ubuntu15.10
2.工程目录设置
在任意位置建立工程文件夹(全文以test为例),并在其目录下建立如下的文件夹:
3.数据下载
在终端中打开test,查询2013年2月1日的年积日,和GPS周等信息
代码:doy 2013 02 01
[1] 在test的目录下再建一个文件夹以032命名的文件夹,此时,test目录下有:
[2] 根据步骤3的信息,到相关网站下载对应的广播星历,精密星历,观测值文件分别放在文件夹brdc,igs,rinex里面。
当然还涉及到下载的数据解压,.d文件到.o文件的转换等操作,其中广播星历可以不改名字(即可以不用改成brdc0320.13n)
4.更新tables表,
更新准则,下面的表格为准:
还有个dcb.dat需要每次处理都要更新
表文件名
表含义
更新频次
内容更新地址
  pole.pole.usno
极移表
每次更新
pub/gamit/tables/
  ut1.ut1.usno
地球自转参数表
每次更新
月亮表
使用当年的表
太阳表
使用当年的表
      nutabl.2012
章动表
使用当年的表
        leap.sec
跳秒表
每次更新
gdetic.dat,
大地坐标参数文件
不常更新
antmod.dat,
天线相位中心改正正表
有新天线时更新
svnav.dat,
卫星列表
有新卫星时更新
rcvant.dat,
接收机天线对照表
有新天线时更新
svs_exclude
坏卫星信息文件
每次更新
vmf1
映射函数模型
使用当年的表
d
海潮格网数据
使用当年的表
i. 常见文件说明
ii. 更新的准则是:“更新频次”中的红字部分每次处理都更新一下,同时结合本次处理与上次处理的年份是否相同来进行年表的选择。原本有些文件是每周更新一次,但是作为新手为了避免出错还是每次更新吧
有些时候,有些文件不到,或者
里面没有则可以忽略svs_excludegdetic.dat常常不到
我在更新时,这四个文件在服务器上没到
下图是我更新的文件。原本还应该有2013年的各种年表,但是我之前处理过一次2013年的数据,并且我的gamit安装路径/opt/gamit/GAMIT10.5/tables已经有了2013年的这些年表。
iii. 将上述更新的数据复制到gamit安装目录下的tables文件夹内,并替换原有文件。
我的gamit安装路径是/opt/gamit,即我安装路径下的tables 的路径是:/opt/gamit/GAMIT10.5/tables
iv. 然后将更新后的tables文件夹,即/opt/gamit/GAMIT10.5/tables拷贝(或者设置连接,我习惯拷贝)到test目录下。
因为我之前在/opt/gamit/GAMIT10.5/tables里面放了很多数据,所以它显得特别大1.8G,往往在包含id的情况下tables也就7~800M吧。
此后,test的结构应是:
5.创立链接
这一步相当重要而且常常容易出错
1) 将.o文件,.sp3文件,*.*n文件(观测文件、精密星历、广播星历)链接到032的目录下
执行代码:
2) 链接处理数据需要的各种年表等文件
    此时032中有如下的文件:
检查并重新设置断掉的链接,如下图所示:
如:luntab.链接已断(常说的死链接),在032目录下,
执行代码:
最后的点号一定要加上)
系统报错,即“无法创建符号链接,luntab.早已存在”,这句话的意思是,032中早已经有了一个luntab.文件(但是我们却看到它是个死链接),删除该链接,重新执行上面的代码。
新链接生成,并打开查看该链接所指向的文件是不是2013年的luntab表
重点检查6-ii的11个文件链接,以及soltab.,nutabl.,用类似的方法建立链接
以下是我手动加入的部分链接:
以下是网上的资料图:
其中还要注意设置:id,id,id的链接,我在处理数据时使用的如下链接:
在查看原始GAMIT10.5的解压文件中的tables文件夹的链接id,如下图所示:
但是我在查看发现它原本有一个id,上传是2010年8月28,大小也是3.1M,故我断定,服务器上的atl.grid就是tables里面的ANU100826_grid.atl
于是我在服务器上下载了一个3.1M的id拷贝到test/tables中session数据错误是什么意思然后在032里面制作了一个atl.grid的链接。(当然也可以不用下载atl.grid,直接制作指向ANU100826_grid.atl的链接
综上所述
更新tables常更新以下11个文件(各种年表除外):
但常常 guess_rcvant.dat 用不到,可以不更新
制作链接特别注意以下几个链接
在更新tables,建立完连接后执行ls –al 检查链接情况,红的是死链接:
发现id的链接已断,于是重新设置即可。至于剩下的红死链接,我全是忽略了,因为我也不会设置。(好像那个session.info是在正式处理过程中产生的,可以忽略)
总的来说设置链接是及其容易出错,要小心又小心。
6.控制文件配置
6.1准备测站列表sites.defaults
在test/tables下把需要处理的测站加入该表,包括IGS测站和本地测站,并确定工程名。然后将site.defaults在032下设置一个链接
6.2准备测站近似坐标文件lfile.
制作完lfile.文件后不要忘了将lfile.拷贝到test/tables中,同时在032中设置对应链接
lfile.文件是测站近似点坐标(越精确越好,10.4以前的版本里面存放的经纬度信息,而10.4及其之后的版本直接存放x,y,z信息)
GAMIT10.5 的lfile 和apr 文件是同样的
格式,所以我们可以认为apr 文件就是lfile。该文件中保存的是各
个站的初始坐标,至于该文件中的测站坐标要达到什么样的精度,可
参考如下两条:
如果是该站作为基线解算起算点,则该测站的坐标做保持在
5cm 以内,最好不要超过10cm。
如果该测站在基线解算中不作为起算点,则伪距单点定位的
精度即可。
对于IGS站,获取其在特定框架下的精确坐标方法:
首先要确保test/rinex下有itrf08.apr
方法1:
我用的方法(可用于非IGS站):在我的电脑上试了几次,老是最后一步出错,不推荐,但也有教程上是这个方法:
在rinex文件夹下先生成文件,然后生成apr,最后生成lfile.
依次执行代码:
grep POSITION *.13o >
2013 032
方法2:
方法3:
伪距单点定位计算非IGS站的初始坐标实例(假设shao是非IGS站):
执行完之后会生成两个不同格式的测站坐标文件lfile.shao
shao.apr,然后执行
双差定位计算测站的初始坐标实例:
在此例中假设shao站是未知坐标的测站,而bjfs是已知坐标的测站(或起算站)
综上所述
在生成life.文件时,IGS站的坐标可以直接从框架获得,或者利用双差定位求得。
而非IGS站则可以根据要求精度的高低选择:
直接提取头信息
伪距单点定位
双差定位法
方法1
常常在伪距单点定位和双差定位法中选择,然后将所须的坐标信息拷贝到lfile.中即可,并将lfile.拷贝到test/tables中,同时在032中设置对应链接
现在我假设bjfslhaz两站点是精度较高的IGS站,坐标直接从框架中获得,而shao,urum站是非IGS站近似坐标通过伪距单点定位获得最后按照特定的格式均复制到lfile.文件中
然后将lfile.拷贝到test/tables中,同时在032中设置对应链接

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。