FEATURED · 精选文章

GNSS数据质量检核利器anubis:从安装配置到报告解读全攻略

发布时间 / 2026/9/2 21:13:15
来源 / 创域科博编辑部
栏目 / 资讯中心
GNSS数据质量检核利器anubis:从安装配置到报告解读全攻略 简介这是GNSS数据质量检核软件Anubis的资源压缩包面向测绘、导航与卫星大地测量领域的工程师和学生用于对RINEX 3格式的观测数据进行GPS、GLONASS、Galileo、北斗等多系统质量检核与可视化分析。压缩包大小约11.6MB集成了Anubis 2.2.4软件安装包含Windows 64位静态版本、配置文件编辑说明、配置与使用简介、相关参考文献以及Chart-Gnuplot和plot_Anubis绘图工具其中参考文献涉及基于G-Nut/Anubis的检核可视化分析可帮助使用者理解检核原理与成果表达绘图工具则支持将检核结果绘制成图便于直观查看数据质量。资源内按照软件、文档、参考论文与绘图工具分类整理结构清晰可直接对照学习。目前已有2777人浏览学习适合希望快速搭建GNSS数据质量评估环境、省去逐一下载和查找资料的入门与进阶用户。资源将软件、文档与绘图工具集中打包对照使用可较快完成从数据读取、质量检核到图表输出的完整流程。 外业采完数据、兴冲冲跑基线解算结果RMS高得离谱查来查去才发现是观测文件本身不干净——这种事在GNSS数据处理里太常见了。我现在的做法很固定任何RINEX观测文件进解算流程之前先过一遍数据质量检核。目前我主力用的检核工具就是anubis一款开源的GNSS数据质量检核软件。它不像TEQC那样老态龙钟也无需安装解压zip就能跑支持GPS/GLONASS/Galileo/BDS/QZSS等主流星座尤其适合做多频点多系统的数据体检。这篇文章就把我从下载安装、配置运行到报告解读、踩坑修复的完整过程写出来给同样被数据质量折腾过的同行一个参考。1. 为什么我会选择anubis给观测数据做“体检”1.1 数据质量检核到底在查什么很多刚接触GNSS数据处理的朋友容易把“数据质量检核”和“解算完成后的残差分析”混为一谈。两者完全不同。残差分析是在基线解算之后看最小二乘拟合的残余误差而数据质量检核是在解算之前直接对接收机记录的原始观测值做体检。检核的核心对象有几个卫星信号强度载噪比C/N0、观测值周跳、伪距多路径误差MP1/MP2、数据完整率、卫星可见性与几何精度因子GDOP/PDOP、钟跳记录等。其中周跳和完整率直接决定这个观测文件能不能进入高精度解算载噪比和多路径则能间接反映天线架设环境、接收机工作状态是否正常。这些指标如果有一项明显异常即便后面解算软件再强大结果也不可信。数据质量检核的意义就是在这个环节把不合格的数据筛出来避免白跑一趟返工。1.2 和TEQC等老牌工具相比anubis赢在哪做GNSS的老用户一定知道TEQC它是UNAVCO出品的经典检核工具功能确实强但问题也很明显开发时间早对RINEX 3.0x以上格式、新的多星座多频点观测支持明显吃力而且界面老式、参数晦涩。相比之下anubis的定位就是现代版检核工具。两者的典型区别我用表格列一下对比项TEQCanubis最新版本对RINEX 3.04支持一般依赖转格式原生支持多星座多频点检核以GPS为主其他星座支持弱支持GPS/GLO/GAL/BDS/QZSS多频点配置方式命令行参数极多且缩略独立配置文件可读性好输出报告单体质量统计文本报告可配置输出项是否开源是是更新活跃度很低持续维护RTKLIB里的quality check功能我也用过它适合快速看一眼C/N0和周跳但深度不够比如多路径误差的统计、逐卫星逐频点的完整报告都不如anubis细。德国地学中心相关的工具链也能做类似工作但装配复杂对普通用户不友好。1.3 一句话说清anubis能输出什么anubis运行后会生成一个纯文本检核报告同时也可以导出RINEX格式的检核数据里面包含卫星可见性统计、每颗卫星每个频点的载噪比均值/最大值/分布、伪距多路径MP1/MP2统计、周跳数量和周跳比、数据完整率、观测值类型统计、接收机钟跳信息等。如果你做的项目涉及多基站、长时间连续观测或者有多个接收机并行作业anubis提供的这些指标足够支撑你做一版完整的“数据健康台账”。这也是我为什么从TEQC彻底转过来的本质原因——现代接收机频点这么多老工具根本看不过来。2. 从zip包到跑通第一个检核任务2.1 安装与运行环境的几个现实问题anubis最常见的发布形式就是一个zip压缩包解压后里面是主程序比如anubis.exe、配置样例、说明文档等。这有个好处完全免安装U盘拷走就能用也不会污染系统注册表。不过有几个现实问题要注意解压路径不要带中文和特殊符号有些老版本对非ASCII路径处理不友好宁可放在D:\tools\anubis这类纯英文路径下也别图方便放桌面带中文的文件夹。运行环境以Windows为例一般是双击或命令行调用exe不需要额外安装复杂的依赖库。如果运行时报缺少某些运行库按提示补装对应运行库即可这种情况很少见但也不是没有。Linux服务器环境下anubis可能需要自行编译或者用官方提供的Linux构建版本。处理大批量测站数据的场景我一般会在Linux服务器上跑稳定性更好。2.2 控制文件的基本结构和配置思路anubis的运行逻辑和TEQC不同它不靠一长串命令参数而是先写一个控制文件常以.in结尾在文件里说明输入什么、输出什么、检核什么。这个设计初看多一步实际用起来反而清晰尤其适合需要反复跑同一批测站数据的场景——改改路径就行不用记命令参数。控制文件的核心配置项大概分几块输入输出指定RINEX观测文件路径指定报告输出目录和文件名前缀。检核对象选择要计入统计的卫星系统比如只检核GPSBDS或全部系统。卫星参数设置卫星截止高度角mask、信噪比阈值等。输出配置选择报告里需要包含哪些内容例如天空图、周跳标记、载噪比分布等。举个例子一个极简控制文件长这样具体语法以你下载版本的样例为准不同版本略有调整# anubis control file sample INPUT rinex-obs ./data/station001_20250101.mo OUTPUT report-base ./report/station001_20250101 JOB elevation-mask 10 systems G R E C freq all我这里写的是思路示意不是让你照抄。第一次用的时候强烈建议打开包里自带的官方样例文件对照着改路径和掩星角比从零开始写靠谱得多。2.3 第一次运行需要留意的数据和路径细节准备一个测试用的RINEX观测文件建议先用一段30分钟到1小时的小文件跑通全流程再上大文件。运行命令很简单在命令行切到anubis所在目录执行主程序并传入控制文件路径。运行过程中终端会滚动输出进度信息看到类似“processing”“observations processed”这样的提示基本就是在正常跑了。结束后去配置的输出目录找报告文件。我第一次跑的时候踩过一个低级坑输出目录没提前创建anubis不会自动建目录直接报错退出。解决办法很简单先手动建好输出文件夹。另外如果检核文件里有接收机近似坐标信息anubis会用来辅助高度角等计算文件头里没有坐标时某些深度指标比如与高程相关的统计会受影响。所以外野记录RINEX时最好把近似坐标写在文件头里这也是很多规范本来要求做的事。3. 检核报告里的核心指标怎么看3.1 卫星可见性与覆盖度先看有没有“缺星”打开anubis生成的报告我一般先翻卫星可见性统计部分。这部分会列出每个时间历元可见卫星数、平均可见卫星数、以及按高度角分层的分布情况。为什么要先看这个因为观测环境是否开阔、天线是否被遮挡直接体现在可见卫星数和卫星分布的均匀性上。比如理论上有10颗以上卫星可见报告里却频繁掉到6颗以下那多半是测站环境有问题比如靠近高层建筑、树荫遮挡或者天线周围有金属反射面。如果项目需要做精密单点定位或长基线解算卫星几何分布差会导致PDOP值很高即便是高精度接收机也救不回来。anubis报告中通常会给出PDOP/GDOP的统计这个数值如果经常大于5数据质量就比较危险了。3.2 载噪比与多路径天线环境的“照妖镜”载噪比C/N0是信号质量的直接体现单位是dB-Hz。anubis报告会按卫星、按频点统计载噪比的均值、最大值以及分布范围。我的经验阈值供参考对于测量型天线在开阔环境下L1频点载噪比通常在40~50 dB-Hz之间高于45算优秀低于35就要警惕低仰角卫星载噪比偏低是正常现象但如果高仰角卫星也持续偏低就要查天线或接收机通道是否异常。多路径误差MP1和MP2是anubis报告里另一个关键指标。它的原理是利用伪距和载波相位的组合把多路径误差从观测值里分离出来。专业测量天线的MP1/MP2经验值通常在0.3米级如果报告中多路径误差超过0.5米且持续时间长基本上说明天线架设环境反射严重或者天线抗多路径能力弱。这里多说一句anubis能按频点单独看MP1/MP2而老工具往往只能整体统计。多频点时代不同频点受多路径影响差异很明显这种细分能力非常实用。3.3 周跳与完整率决定数据能不能用的硬指标周跳是载波相位观测值发生整周跳变的现象处理不当会直接让毫米级精度的相位观测变成废数据。anubis报告里会给出周跳数量、周跳比观测值数量与周跳数量的比值以及周跳发生的分布。一个直观的判断标准周跳比越大越好。静态长时段观测周跳比在几百上千以上算正常如果周跳频繁出现在某颗卫星或者某个固定时间点可能是信号遮挡、接收机内部故障或天线接触不良。数据完整率指的是实际记录的有效观测量与理论应得观测量的比值。高质量静态观测通常在95%以上低于90%就要结合多路径和周跳一起综合判断。anubis对完整率的统计会细化到每个频点这样能发现某个频点突然缺失的异常情况——比如设备固件配置错误导致某个频点没记录。我的读报告顺序固定为先看可见卫星数和完整率判断整体能不能用再看每颗卫星的载噪比和多路径判断环境质量最后看周跳分布定位具体问题时间窗口。三步看完一个测站数据能不能用基本心里有数。4. 实操中我踩过的几个坑及排查经验4.1 RINEX版本与文件头导致的解析失败我在早期用anubis时最常遇到的故障是程序报错说文件解析有问题或者报告里统计的观测值数量明显少于实际。排查到最后发现根因往往出在RINEX文件本身。现在接收机品牌很多有些厂商自己生成的RINEX文件头“不太标准”比如缺少某些必备字段或者标记的行号不对。老版本RINEX 2.11尤其容易踩这种坑。anubis对格式的宽容度可以但遇到头文件严重不规范的文件照样会罢工。我的解决办法是先用RTKLIB的convbin这类工具把原始观测统一转成标准RINEX 3.04兼顾多星座和多频点再交给anubis检核。别嫌多一步流程转格式能自动补齐很多文件头信息后续检核反而更顺利。4.2 九个频点全检核时报告大得离谱怎么办现在热搜上经常提到GNSS九个频点实测确实如此——GPS的L1/L2/L5Galileo的E1/E5a/E5b/E6北斗的B1I/B3I再加上QZSS等甚至能到更多。频点全开anubis会把所有频点的载噪比、多路径、周跳都统计一遍如果观测时间又长报告文件体积会膨胀到几十MB阅读起来非常痛苦。更实际的问题是很多项目的解算流程只需要部分频点参与比如静态PPP常用的双频消电离层组合或RTK常用的单频浮点解。此时全频点检核意义不大还拖慢运行速度。我的做法是在控制文件里按需选择卫星系统和频点。比如只关心BDS的B1I和B3I就把其他频点排除在检核外报告清爽很多。如果确实需要全频点体检我建议按天分段跑同时用脚本自动提取报告里的摘要部分而不是硬读全量报告。4.3 短时段观测和低高度角场景的阈值设置问题这是一个很容易被忽略的坑。默认情况下anubis的截止高度角可能设得比较低比如0度或5度。低高度角的卫星信号受大气折射和多路径影响特别大载噪比低、多路径误差大这些“脏数据”如果全被计入统计会把整体质量指标往下拉。有一次我处理一段静态短测数据掩星角默认设成了0度结果报告里MP1多路径误差普遍偏高看起来数据完全没法用。后来排查发现是大量低仰角卫星的观测值把平均值拉高了——不是数据和环境的问题是我配置的截止高度角不适合这个场景。现在我做检核静态观测一般把掩星角设到10度动态或快速静态会根据需要适当调整到15度。高截止角丢掉的低质量观测对高精度解算来说本来就是噪声不影响实际决策。4.4 不要忽略接收机钟跳和天线相位中心类异常anubis报告里还有接收机钟跳统计这个指标我起初并不在意直到某次连续站数据质量持续恶化解算结果各种异常。后来看anubis报告发现接收机钟跳频次高得离谱和厂商沟通后确认是固件时钟模块故障换机后一切正常。另外天线相位中心虽然属于精密测量范畴但anubis检核中如果提供了天线类型和校准信息能帮助识别因天线型号配置错误导致的可疑信号特征。我养成了一个习惯外业记录里写明天线类型和序列号检核时先在文件头里核对一遍能提前发现很多低级错误。这些坑有一个共性——都是“数据表面看能用但实际已带病进入解算流程”。anubis作为一种前期筛查手段最大的价值就是让这些问题在花费大量算力之前暴露出来。5. 把anubis接入日常解算流程的建议5.1 单文件快速检核的命令级使用在日常项目里我通常用一条命令完成单文件检核。先写好一个通用控制文件模板比如check.in固定好输出目录和掩星角每次只需要把模板里的输入文件名改成待检文件然后执行anubis -i check.in等待运行结束到输出目录里打开报告。整个过程几分钟搞定比打开图形界面软件选选点点快得多。配合终端历史命令几乎可以做到“改个文件名就跑”。5.2 批量测站的自动检核脚本处理CORS站网或大量流动站数据时手动一个个改配置就太蠢了。我写了一个简单的bash脚本循环处理整个目录下的观测文件思路非常简单遍历所有待检文件用文件名动态生成控制文件然后调用anubis并记录执行日志。#!/bin/bash # batch_check.sh - 批量运行anubis检核 for obs in ./data/*.obs; do base$(basename $obs .obs) # 生成该文件对应的控制文件 sed -e s|INPUTFILE|$obs|g -e s|OUTPUTBASE|./report/$base|g \ ./template.in ./tmp/$base.in ./anubis -i ./tmp/$base.in ./batch.log 21 done注意脚本里要根据实际目录和anubis调用方式调整路径。批量跑完后我会再用grep从所有报告里提取每个文件的完整率和周跳比汇总成一张总表按“红色/黄色/绿色”简单分级标记。这样几十个测站的数据质量一眼就能看完。5.3 检核结论如何指导解算参数数据检核不是为了做一份报告交差而是为了决策。比如报告显示某文件周跳集中在特定时间段那我解算时就考虑在该时段把相应卫星的弧段打断或者直接剔除该时段数据。如果某个频点多路径严重我会在解算中换用质量更好的频点组合而不是强行使用默认双频组合。从实际操作看检核之后的数据进入解算成功率明显提升迭代次数减少基线重复性也更好。我甚至会把anubis的关键指标写进项目存档作为质量凭证方便后续追溯。如果只能记住一件事那就是不管项目多急数据进解算前先花几分钟跑一遍质量检核。这个习惯帮我省下的返工时间远比检核本身花费的时间多得多。本文还有配套的精品资源点击获取
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻