GAMP(GNSS Analysis software for Multi-constellation and multi-frequency Precise positioning)是一款开源的GNSS数据处理软件,主要用于精密单点定位(PPP)技术的实现,支持多系统、多频数据处理,适用于大地测量、地球动力学研究等领域。
GAMP项目较其他GNSS处理软件更简洁,对GNSS初学者友好,适合具有一定C语言编程基础的小白。
主要功能
GAMP支持GPS、GLONASS、BDS、Galileo等系统,并针对GLONASS的伪距频间偏差(IFB)问题进行了优化处理。其核心功能包括:
- 数据预处理:读取多种格式的原始观测数据,进行滤波和差分等操作;
- PPP解算:采用精密模型和算法进行定位计算,输出高精度坐标;
- 结果分析:提供定位结果、卫星仰角、残差等参数的绘图和文件输出。
技术特点
- 多系统兼容:覆盖GPS、GLONASS、BDS、Galileo等主流系统;
- 高效处理:通过C语言编写,支持Windows/Linux/MacOS系统;
- 开源特性:遵循GNU GPL协议,源代码可通过官网获取。
文末附GAMP下载地址
一、前期准备
下载完成之后,解压文件夹如下图所示:

二、调试详细步骤
1.VS中新建项目
先在目标位置里创建文件夹

打开VS2010,新建一个Visual C++的空项目,保存路径和名称自行设定;

2.复制源码至项目文件夹
将GAMP> GAMP_src -> Windows -> gamp_c 下的gamp_src文件夹复制到所建项目路径下。


3.将源码中“.c”文件和“.h”文件添加至项目指定位置
【鼠标右键–添加–现有项】– 选择 “复制到该项目中的gamp_src文件夹”中的 .c 和 .h 文件。

添加完成后,如下图:

4.修改项目属性
(1)【 配置属性 -> C/C++ ->预处理器 ->预处理器定义】添加如下:

(2)【配置属性->链接器->调试->生成调试信息】 调整为是(/DEBUG)

(3)【配置属性-> C/C++ ->常规->调试信息格式】调整为 C7

5.添加多线程依赖库
(1)【配置属性-> C/C++ ->常规->附加目录】将GAMP\mannual_GAMP\GAMP_src\Windows\pthreads-w32-2-9-1-release目录拷贝到C盘
然后在项目中附加目录【配置属性-> C/C++ ->常规->附加目录】添加C:\pthreads-w32-2-9-1-release\Pre-built.2\include

(2)【配置属性->链接器->常规->附加库目录】
添加C:\pthreads-w32-2-9-1-release\Pre-built.2\lib\x86

(3)【属性->链接器->输入->附加依赖项】添加pthreadVSE2.lib

6.头文件dirent.h和unistd.h复制VS默认包含目录
将GAMP-> GAMP_src -> Windows下头文件dirent.h和unistd.h复制到vs默认包含目录,我的目录是:D:\Windows Kits\10\Include\10.0.22621.0\ucrt
方法:在”gamp.h”中找到“stdio.h”右键选中打开文档跳转至”stdio.h”文件

鼠标右键单击文件名,跳出选项卡,选择”打开所在的文件夹”,即可跳转到头文件所在的文件,将dirent.h和unistd.h这两个文件复制到该文件夹即可。


7.将配置文件路径添加至命令参数
复制文件包中的测试数据复制至同盘任意位置并重新命名

【右键项目 ->配置属性 -> 调试 -> 命令参数】,我的gamp.cfg文件路径为:”F:\GAMP_DATA\gamp.cfg”

更改gamp.cfg文件中的路径信息:

注意:要在数据处理文件夹中创建一个结果文件夹,比如上图中配置文件的结果文件夹名是result,因此要创建一个result文件夹,如下图所示:


下载地址
关注GNSS空间环境智能感知课题微信公众号,发送“GAMP”,获取下载地址。

供稿:张云天/梁帅华
编辑:武聪聪
校对:张良承
审核:郭敏