草庐IT

GNSS数据处理(二)——GAMP_GOOD操作说明

unbiliverbal 2023-11-26 原文

目录

1、关于GAMP_GOOD

2、下载与安装

2.1 从官网下载:

2.2 在桌面解压

3、下载数据流程

3.1 为数据下载配置.cfg文件

3.2 测站文件

3.3 将Example_Win中“gamp_good.cfp”文件复制至执行文件夹“Win”中(GAMPII-GOOD-master\bin\Win)

3.4 同时“Win+R”切换至操作台“cmd”

3.5 输入GOOD地址,例如:“cd C:\Users\24024\Desktop\GAMPII-GOOD-master\bin\Win”,回车

3.6 输入“run_GAMP_GOOD  gamp_GOOD.cfg”,回车

3.7 出现问题:“E:\data\thirdParty”该文件夹有问题。

3.8 找到“E:\data\thirdParty”,将“GAMPII-GOOD-master\thirdParty\Win”复制到“E:\data\thirdParty”

3.9 补充测站文件到“E:/data”下

3.10 重复3.6 输入“run_GAMP_GOOD  gamp_GOOD.cfg”,回车

3.11 下载完成

4、源码与改编

5、.cfg文件的解读

5.1 文件夹生成配置 第1~24行

5.2 第三方软件与操作目录记录文档 第25~36行

5.3 采样天数与使用数据中心 

5.4 测站信息与采用时间(O文件)

5.5 测站信息与采用时间(N文件)

5.6 精密钟差文件(clk文件)

5.7 地球自转/方向参数 (EOP/ERP) 文件

5.8 其他文件

5.9 CODE/IGS 全球电离层地图 (GIM) 文件


1、关于GAMP_GOOD

  • GAMP_GOOD是山东科技大学周锋老师团队研发的GNSS数据下载软件,并在GITHUP上开源了可执行程序与代码。
  • 优点:数据下载清晰,文件夹自动生成,一站式下载,自定义下载程度高
  • 下载网址:GitHub - zhouforme0318/GAMPII-GOOD

2、下载与安装

2.1 从官网下载:

下载“Download ZIP” 下载压缩包

2.2 在桌面解压

 文件夹如图所示,此时,GOOD已经下载完毕,可以查看文件夹中的内容,以及学习英文版使用说明书。

3、下载数据流程

3.1 为数据下载配置.cfg文件

 我们看到示例文Example_Win”中的文件,后缀为.cfg的文件为最主要的配置文件夹,他将与执行文件一起运行。这里我使用Notepad++打开.cfg文件,也可使用记事本打开,文件内容如下:

 该文件规定了数据下载后存放的路径、下载什么样的数据、下载数据时使用的网址等等。使用者可以对文件进行修改,结合自己的需要下载数据。

作为演示,在此,我不做修改。放在最后为大家逐行分析其设置与作用。

3.2 测站文件

以“.list”结尾的文件为测站文件,他的命名规则我总结为“site_机构.list”。

以“site_mgex.list”为例:

 若你想获得更多的测站有关同一时段的文件,可以在第7~第n行中,加入更多的测站(每个测站用四个字母表示,专有)

3.3 将Example_Win中“gamp_good.cfp”文件复制至执行文件夹“Win”中(GAMPII-GOOD-master\bin\Win)

如下图所示:

注:截图时,有错误操作,多复制了“.list”文件,请忽略。

3.4 同时“Win+R”切换至操作台“cmd”

如下图所示:

这里是good软件的特色,不能直接双击打开,而是需要用控制台打开,旨在方便大家进行特殊化的修改,并且方便批处理。

3.5 输入GOOD地址,例如:“cd C:\Users\24024\Desktop\GAMPII-GOOD-master\bin\Win”,回车

这里是正常的转地址操作。

3.6 输入“run_GAMP_GOOD  gamp_GOOD.cfg”,回车

这里是第一步调试软件,看看能不能用,不能用就找原因。

3.7 出现问题:“E:\data\thirdParty”该文件夹有问题。

这里发现问题,“good”软件在实施时,需要运用到“第三方软件”,并且在“.cfg”文件中规定了“第三方软件”应该存放的位置,但是电脑表示他在这里并没有找到,所以我们要把“第三方软件”补充到“.cfg”文件中规定的位置。

3.8 找到“E:\data\thirdParty”,将“GAMPII-GOOD-master\thirdParty\Win”复制到“E:\data\thirdParty”

 E盘中的“data”文件夹全部由刚刚的操作生成,我们发现“E:\data\thirdParty”为空,于是找到下载安装包“GAMPII-GOOD-master”详见2.2

3.9 补充测站文件到“E:/data”下

这里我们将“site_mgex.list”放到“E:/data”下,如图所示:

 我想大家会有几个问题:

①为什么是“site_mgex.list”,而不是“site_igs.list”、“site_cut.list”或者其他的测站文件呢?

因为我们在“gamp_GOOD.cfg”(简称.cfg文件)中,规定的就是采集这个机构mgex(一种机构)发布的数据,所以当然按照.cfg文件规定的来。

②为什么是放在“E:/data”下呢?放在其他地方可不可以?

这个也是通过.cfg文件规定的,具体可以看到最后,关于.cfg文件的解读。

3.10 重复3.6 输入“run_GAMP_GOOD  gamp_GOOD.cfg”,回车

 可以看到,已经在下载。

3.11 下载完成

4、源码与改编

GOOD_src中,有全部的代码,老师是基于C++编写的程序,并且在源代码中保留了大量的备注与提示,对入门者十分友好,鄙人不才,没有研究源码。

5、.cfg文件的解读

5.1 文件夹生成配置 第1~24行

 这一部分有两个重点。

第一个是整个文件的绝对路径的选择(第4行),这里设定的“E:\data”表示,下面所有的文件都将下载到这个文件夹下面。并且这个文件夹(包括后面所有的文件夹)都不需要你手动生成,你只需要保证,你的电脑有内存足够的E盘即可。

第二个是在“E:\data”文件夹下还会生成一系列存放数据文件的文件夹(第12~23行),你可以根据需要有选择的生成,选择“0”是选择生成,选择“1”是选择不生成。

这一部分我们默认不改。

5.2 第三方软件与操作目录记录文档 第25~36行

 第三方软件“3partyDir”:此处结合3.7和3.8更容易消化。

在26行我们可以看到,我们设定了1(选择使用第三方软件),并且设定将第三方软件放在“E:\data\thirdParty”下运行。

操作目录“logFile”:

如第32行所示,这里你可以设定1(选择使用生成操作目录),并且规定操作目录生成的位置“E:\data\log\log.txt”,那么程序就会将你整个“.cfg”文件的操作流程都会记录在“E:\data\log\log.txt”中。

这一部分我们默认不改。

5.3 采样天数与使用数据中心 

 采样天数“procTime”:

在第38行,我们可以选择两种模式来设定采样天数开始的天数和结束的天数。can be set to 1 or 2 (1: year month day ndays  2: year doy ndays)

文件中是“2 2022 32 1”意思是:

选择了模式2,采样开始天数是2022年,年积日为32的那天,采集天数是1天

用模式1表示就是:

“1 2022 2 1 1”

选择了模式1,采样开始天数是2022年,2月1日,采集天数是1天

第41~46行默认不改。

数据中心“ftpDownloading”:

在第49行,我们可以选择不同的数据中心提供的下载渠道。现阶段一般选择“1 whu”比较快比较稳定。

这一部分,一定要修改。

5.4 测站信息与采用时间(O文件)

 第52行,操作一行,备注33行,主要说明了不同机构之间不同的设置方法。

这里再把info的注释内容翻译贴在下面:

% INFO:第 2 项'igs'用于 IGS 观察(RINEX 版本 2.xx,简称 'd');

% 第 2 项 'mgex' 用于 MGEX 观察(RINEX 版本 3.xx,长名称 'crx');

% 第 2 项'igm'是针对站点名称的IGS和MGEX的联合(IGS + MGEX,MGEX站点的优先级更高)观察;

% 第 2 项 'cut' 用于科廷科技大学 (CUT) 观察(RINEX 版本 3.xx,长名称 'crx');

% 第 2 项“ga”用于澳大利亚地球科学 (GA) 观测(RINEX 版本 3.xx,长名称“crx”);

% 第 2 项 'hk' 用于香港 CORS 观测(RINEX 版本 3.xx,长名称 'crx');

% 第 2 项“ngs”用于 NGS/NOAA CORS 观测(RINEX 版本 2.xx,简称“d”);

% 第 2 项 'epn' 用于 EUREF 永久网络 (EPN) 观察(RINEX 版本 3.xx,长名称 'crx' 和 RINEX 版本 2.xx,短名称 'd');

% 第 2 项'pbo2'用于板块边界观测站 (PBO) 观测(RINEX 版本 2.xx,简称“d”);

% 第 2 项 'pbo3' 用于板块边界观测站 (PBO) 观测(RINEX 版本 3.xx,长名称 'crx');

% 第2项'pbo5'用于板块边界观测(PBO)观测(取pbo2和pbo3(pbo2+pbo3)的并集,而pbo3站点的优先级更高)

这一部分,一定要修改。

5.5 测站信息与采用时间(N文件)

 在第87行,这里规定的是广播星历(N文件)的起止时间以及测站信息。同样有很多的注释。下面将注释翻译如下:

各种广播星历下载选项
% 1st:(0:关闭 1:打开)

% 2nd:“每天”或“每小时”

% 3rd:“gps”、“glo”、“bds”、“gal”、“qzs”、“irn”、“mixed3”、“mixed4”或“all”

% 4th:为混合导航数据执行广播星历组合的分析中心(即'igs'、'dlr'、'ign'、'gop'或'wrd')。从CDDIS 或 WHU FTP 可以下载“igs”和“dlr”,从 IGN 可以下载“igs”和“ign”。“gop”和/或“wrd”的下载是通过其他 FTP 地址.

% 5th:如果第 2 项是“每小时”,则只有 site.list 的完整路径才有效

% 6th: 开始时间 (00, 01, 02, ...)

% 7th:连续的小时,即'01 3'表示01、02和03

%注意:第 5、6、7 项仅在设置第 2 项“每小时”时有效

%注意:如果第 2 项是 'daily',第 3 项应该是 'gps'、'glo'、'mixed3' 或 'mixed4'; 如果第 2 项是 'hourly',则第 3 项可以是 'gps'、'glo'、'bds'、'gal'、'qzs'、'irn'、'mixed' 或 'all'

%注意:第 4 项仅在设置第 3 项 'mixed3' 时有效 注意:第 3 项 'mixed3' 用于 RINEX 3.xx,而 'mixed4' 用于 RINEX 4.xx

这一部分,一定要修改。

5.6 精密钟差文件(clk文件)

在第104行,.cfg文件中给出的是下面这段话:

1  igs+cod_m+gfz_m+grg_m+whu_m  01  2

意思是选择(1)下载clk文件,并且混合下载"igs+cod_m+gfz_m+grg_m+whu_m"这几种机构的钟差文件,根据精密钟差的更新周期,又下载开始时间为01,持续两个时段的clk文件。

下面是注释的翻译:

% 卫星最终/快速/超快速精确轨道和时钟下载选项

% 1st:(0:关闭 1:打开)

% 2nd:分析中心(即 IGS final:IGS final: 'cod', 'emr', 'esa', 'gfz', 'grg', 'igs', 'jpl', 'mit', 'all',  'cod+igs', 'cod+gfz+igs', ...; MGEX final: 'cod_m', 'gfz_m', 'grg_m', 'whu_m', 'all_m', 'cod_m+gfz_m', 'grg_m+whu_m', ...; rapid: 'cod_r', 'emr_r', 'esa_r', 'gfz_r', 'igs_r'; ultra-rapid: 'esa_u', 'gfz_u',  'igs_u', 'whu_u'; real-time: 'cnt').

% 注意:“cnt”选项适用于来自 CNES 离线文件的实时精确轨道和时钟产品

% 3rd:开始时间(esa_u 和 igs_u 为 00、06、12 或 18;gfz_u 为 00、03、06、...;whu_u 为 01、02、03、...)

% 4th:连续会话,即'00 3'表示esa_u和/或igs_u的00、06和12,gfz_u的00、03和06,而whu_u的00、01和02

% 注意:第 3 项和第 4 项仅在设置第 2 项 'esa_u'、'gfz_u'、'igs_u' 或 'whu_u' 时有效

这一部分我们默认不改。

5.7 地球自转/方向参数 (EOP/ERP) 文件

在第115行,.cfg文件中给出的是下面这段话:

1  igs  01  4

意思是选择(1)下载eop文件,并且下载"igs"这1种机构的eop文件,下载开始时间为01,持续4个时段的eop文件。

下面是注释的翻译:

地球自转/方位参数 (ERP/EOP) 下载选项

% 1st:(0:关闭 1:打开)

% 2nd:分析中心(即final:final: 'cod', 'emr', 'esa', 'gfz', 'grg', 'igs', 'jpl', 'mit';ultra-rapid: 'esa_u', 'gfz_u', 'igs_u')

% 注意:第 3 项和第 4 项仅在设置第 2 项“esa_u”、“gfz_u”或“igs_u”时有效

这一部分我们默认不改。

5.8 其他文件

 在第120~第133行,第139~第148行中,涉及的7种文件,鄙人不才,在这里做不了更多的解释。等以后学习了,再来补充。

这一部分我们默认不改。

5.9 CODE/IGS 全球电离层地图 (GIM) 文件

 在第134行,.cfg文件中给出的是下面这段话:

1  cas+esa_r+upc_0.25hr+cod_1d

意思是选择(1)下载GIM文件,通过不同机构(分析中心)下载。该文件一般会有更新,所以每次都需要下载不同的文件。

这一部分我们默认不改。

有关GNSS数据处理(二)——GAMP_GOOD操作说明的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  3. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  4. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  7. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  8. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

  9. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  10. SPI接收数据异常问题总结 - 2

    SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手

随机推荐