GAMIT 分步进行基线解算流程

本文详细介绍了在 Ubuntu 20.04 上使用 GAMIT v10.71 进行 GPS 基线解算的完整流程,包括数据准备、参数配置、解算步骤和相关成果。重点讲解了数据文件的组织、表文件更新、初始文件生成以及解算过程中涉及的命令和文件检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GAMIT 分步进行基线解算

近期选修课进行gamit学习,在此将自己的学习过程分享给大家,希望对大家有所帮助。

所用系统:Ubuntu20.04 + GAMIT10.71

此次实习所用数据为 2018 年 4 月 5 日4个 IGS 测站(bjfs,lhaz,urum,ccj2)的观测数据,年积日为 095。

注意:本篇中文件命名格式以本工程实际数据命名,实际解算时根据实际情况进行修改。

一、数据准备

数据都为武汉大学IGS数据中心下载,地址如下:

http://www.igs.gnsswhu.cn/index.php/home/data_product/igs.html

创建工程文件夹:

本文为work(也可以以年份起名,如:2018):

文件组织架构如下

· work/
  —— 095/
  —— brdc/
  —— igs/
  —— rinex/
  —— tables/

tables文件夹为链接文件夹

链接命令如下(命令在工程文件夹work下执行):

sh_setup -yr 2018 -doy 095

把下载好的数据放入相关文件夹中,brdc 文件夹存放广播星历文件(后缀:.18n),igs 文件夹存放精密星历文件(后缀:.sp3),rinex 文件夹存放观测数据文件(后缀:.18o)。

二、参数配置

表文件更新

表文件更新较为复杂也极容易出错,所以建议查找更详细的tables更新教程进行此步操作。

下面主要说一下我遇到的断链情况,通过运行如下命令进行链接情况查看:

ls -al

在这里插入图片描述
在这里插入图片描述

若出现除去上面红链以外的红链,则需要对其进行查找重新链接。

具体方法: 通过查看后面链接的文件地址,查看其文件属性进行进一步追踪,最终找到最终的文件,若指向的最终文件不存在,需要进行文件下载。

对于本文中的 2018 年 4月 5 日的观测数据,特别要仔细检查以下文件:

soltab.2018.J2000、luntab.2018.J2000、vmf1grd.2018(与map.grid相关)、otl_FES2004.grid(与otl.grid相关)、atmdisp_cm.2018(与atml.grid相关) 和 nutabl.2018。

表文件可以在以下网址下载

http://sopac.ucsd.edu/GAMIT.shtml

ftp://garner.ucsd.edu/archive/garner/gamit/tables

ftp://everest.mit.edu/

也可以通过如下命令进行表更新:

gftp <网址>

参数配置

tbles文件夹中有sestbl.和sittbl.两个文件

sittbl.文件设置:sittbl.可以对站点进行约束,对高精度已知坐标强约束,可以设置为5cm;对待求点坐标进行松约束,本文设置为100m。

特别注意!!:sittbl.文件中的固定站点的FIX选项中NNN需要改成YYY,不然是固定不成功的。

如下所示:

在这里插入图片描述

sestbl. 文件中相应位置可以按照如下修改:

Use otl.list = Y ; Ocean tidal loading list file from OSO
Use otl.grid = N ; Ocean tidal loading grid file, GAMIT-format converted from OSO

此为基线解算中所需的海潮改正文件的配置。还有更多细节参数设置,请仔细查阅相关文档。

因为此处处理的是 IGS 站的观测数据,按照上面修改,直接使用otl.list即可。

初始文件生成

生成 station.info

进入tables文件夹,使用以下命令

sh_upd_stnfo -files ../rinex/*o

生成新的station.info文件,内容如下:

在这里插入图片描述

生成 lfile.

lfile.文件中包含测站的概略坐标,生成方法如下:

在工作目录的rinex目录执行:

grep POSITION *.18o > lfile.rnx

rx2apr lfile.rnx 2018 095

gapr_to_l  lfile.rnx.apr lfile. '''' 2018 095

lfile.文件内容如下:

在这里插入图片描述

然后将lfile.文件复制到tables文件中。

三、开始解算

首先创建年积日文件夹(本文名称为095),并与igs、brdc、rinex、tables文件夹进行链接

进入095文件夹分别执行如下命令:

ln -s ../igs/*sp3 ./
ln -s ../brdc/*n ./ 
ln -s ../rinex/*o ./
ln -s ../tables/* ./

下面开始进行分布解算:

注意:所有命令均在095文件夹内执行

1、执行 sh_makexp

命令如下:

sh_makexp -expt work -orbt igsf -yr 2018 -doy 095 -sess 99 -nav brdc0950.18n -sp3file igs19954.sp3 -jclock sp3 -apr lfile. -sinfo 30 0 0 2880

正常结束如下:

在这里插入图片描述

2、生成G-文件(轨道文件):

命令如下:

sh_sp3fit -f igs19954.sp3 -o igsf -d 2018 095

成功后,进行文件检查:

sh_check_sess -sess 095 -type gfile -file gigsf8.095

此时可能有报错,称找不到gigsf文件,查看095文件夹,发现生成的G-文件的名字为gigsg8.095,将他改为gigsf8.095,再次进行检查,检查通过。

在这里插入图片描述

3、生成J-文件:

命令如下:

makej brdc0950.18n jigsf8.095

成功后进行文件检查:

sh_check_sess -sess 095 -type jfile -file jigsf8.095

在这里插入图片描述

4、生成X-文件:

生成双差观测文件命令为:

makex work.makex.batch

成功截图如下:

在这里插入图片描述

5、生成脚本:

运行 fixdrv 命令

fixdrv dwork8.095

注意: 此时可能会出现如下错误

在这里插入图片描述

解决办法: 将095文件夹内的GAMIT.fatal文件删除

命令成功截图如下:

在这里插入图片描述

6、最后,进行数据解算

csh bwork8.bat

等待数据解算完成。

解算成功截图如下:

在这里插入图片描述

相关成果

解算成功后,在095文件夹中会有 O-文件,Q-文件和 H-文件,以及解算更新的站坐标lfilg.文件。

解算过程中的错误,可以在 GAMIT.fatal 文件中查看。

至此,流程顺利跑通,但其中处理命令的参数和相关文件参数的设置和如此设置的意义,还需要进一步阅读相关文献进行学习。

### 解决 IntelliJ IDEA 中 `@Autowired` 注解导致的红色波浪线错误 在使用 Spring 框架时,如果遇到 `@Autowired` 注解下的依赖注入对象显示为红色波浪线错误或者黄色警告的情况,通常是由以下几个原因引起的: #### 1. **Spring 插件未启用** 如果 Spring 支持插件未被激活,则可能导致 IDE 无法识别 `@Autowired` 或其他 Spring 特定的功能。可以通过以下方式解决问题: - 打开设置菜单:`File -> Settings -> Plugins`。 - 确认已安装并启用了名为 “Spring Framework Support” 的官方插件[^1]。 #### 2. **项目配置文件缺失或不正确** Spring 需要通过 XML 文件、Java Config 类或其他形式来定义 Bean 定义。如果没有正确加载这些配置文件,可能会导致 `@Autowired` 报错。 - 确保项目的 `applicationContext.xml` 或者基于 Java 的配置类(带有 `@Configuration` 和 `@Bean` 注解)已被正确定义和引入。 - 对于 Spring Boot 项目,确认是否存在 `spring.factories` 文件以及是否包含了必要的组件扫描路径[^3]。 #### 3. **模块依赖关系问题** 当前模块可能缺少对 Spring Core 或 Context 组件库的有效引用。这可能是由于 Maven/Gradle 构建工具中的依赖项声明不足造成的。 - 检查 `pom.xml` (Maven) 或 `build.gradle` (Gradle),确保包含如下核心依赖之一: ```xml <!-- For Maven --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> ``` ```gradle // For Gradle implementation 'org.springframework:spring-context:${springVersion}' ``` - 更新项目依赖树以应用更改:右键点击项目根目录 -> `Maven -> Reload Project` 或运行命令 `./gradlew build --refresh-dependencies`。 #### 4. **IDE 缓存损坏** Intellij IDEA 的缓存机制有时会因各种因素而失效,从而引发误报错误。清除缓存可以有效缓解此类情况。 - 使用快捷组合键 `Ctrl + Alt + Shift + S` 进入项目结构对话框;也可以尝试执行操作序列:`File -> Invalidate Caches / Restart... -> Invalidate and Restart`. #### 5. **启动异常影响正常解析** 若之前存在类似 `com.intellij.diagnostic.PluginException` 的严重初始化失败日志记录,则表明某些关键服务未能成功加载,进而干扰到后续功能表现[^2]。建议重新下载最新稳定版本的 IDEA 并按照标准流程完成初次部署工作。 ```java // 示例代码片段展示如何正确运用 @Autowired 注解实现自动装配 @Service public class StudentService { private final Repository repository; public StudentService(@Qualifier("specificRepository") Repository repo){ this.repository = repo; } } @Component class SpecificComponent{ @Autowired private transient StudentService studentService; // 此处应无任何编译期告警现象发生 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值