)
Ubuntu 18.04下Anubis 2.3静态版安装与plot_Anubis绘图配置全流程含ImageMagick权限修复对于GNSS数据处理领域的研究人员而言Anubis是一款功能强大的开源工具能够进行高精度的数据质量分析。本文将详细介绍在Ubuntu 18.04系统上安装Anubis 2.3静态版及其绘图工具plot_Anubis的完整流程特别针对安装过程中可能遇到的依赖问题和权限配置进行重点讲解。1. 系统准备与环境配置在开始安装前确保您的Ubuntu 18.04系统已更新至最新状态。打开终端并执行以下命令sudo apt-get update sudo apt-get upgrade -y建议虽然Ubuntu 18.04是官方推荐的系统版本但理论上在更高版本的Ubuntu上也能运行只是可能需要额外处理一些依赖兼容性问题。重要系统组件检查清单确保已安装perl通常Ubuntu预装检查gcc编译器是否可用确认系统架构为64位运行uname -m应显示x86_642. Anubis 2.3静态版安装2.1 下载与基础配置从官方源获取Anubis 2.3静态64位版本wget https://gnutsoftware.com/software/anubis/download/anubis-static-64b -O anubis下载完成后进行以下操作chmod x anubis sudo mv anubis /usr/local/bin/验证安装是否成功anubis -v常见问题如果遇到Permission denied错误请确保已正确执行chmod x命令并检查文件是否位于系统PATH包含的目录中。2.2 环境变量设置为方便使用建议将Anubis添加到系统PATH中。编辑~/.bashrc文件echo export PATH$PATH:/usr/local/bin ~/.bashrc source ~/.bashrc3. plot_Anubis绘图工具安装3.1 依赖安装plot_Anubis需要以下依赖包sudo apt-get install -y gnuplot gnuplot-x11 libchart-gnuplot-perl imagemagick如果遇到Package has no installation candidate错误执行sudo apt-get update sudo apt-get upgrade sudo apt-get install -f然后重试安装命令。3.2 ImageMagick权限配置这是安装过程中最常见的难点之一。编辑policy.xml文件sudo vim /etc/ImageMagick-6/policy.xml找到以下类似行并进行修改policy domaincoder rightsnone patternPDF / !-- 修改为 -- policy domaincoder rightsread|write patternPDF /关键点需要为所有需要的图像格式PNG、EPS等设置read和write权限。3.3 plot_Anubis安装从官方源下载plot_Anubiswget https://www.pecny.cz/sw/plots/anubis/plot_Anubis.pl chmod x plot_Anubis.pl sudo mv plot_Anubis.pl /usr/local/bin/验证Perl环境perl -v4. 使用Anubis进行GNSS数据分析4.1 准备输入文件典型的Anubis分析需要以下文件观测数据文件.o导航星历文件.n配置文件.xml示例目录结构/data/ ├── obs/ │ ├── nico3600.10o │ └── wtzr3600.10o └── brdc/ ├── brdc3600.10n └── brdc3600.10g4.2 配置文件示例创建一个XML配置文件如config.xml?xml version1.0 encodingUTF-8? !DOCTYPE config config gen beg2023-01-01 00:00:00/beg end2023-01-02 00:00:00/end sysGPS GLO/sys int30/int recNICO WTZR/rec /gen inputs rinexodata/obs/nico3600.10o/rinexo rinexodata/obs/wtzr3600.10o/rinexo rinexndata/brdc/brdc3600.10n/rinexn rinexndata/brdc/brdc3600.10g/rinexn /inputs qc sec_sum1 sec_hdr1 sec_est2 sec_obs2 sec_gap1 sec_bnd2 sec_pre1 sec_ele1 sec_mpx2 int_stp1200 int_gap600 int_pcs1800 mpx_nep20 mpx_lim3.0 / outputs verb1 loganubis.log/log xtr$(rec).xtr/xtr xml$(rec).xml/xml /outputs /config4.3 运行数据分析执行Anubis分析anubis -x config.xml -l analysis.log -v 9参数说明-x指定配置文件-l指定日志文件-v详细级别0-94.4 结果可视化使用plot_Anubis生成图表plot_Anubis.pl --ifile NICO.xtr --plotNICO.png --all --titleNICO Station [2023:001]常见问题解决方案问题现象可能原因解决方案***Not Anubis extractionxtr文件头版本号格式不正确确保首行版本号为三位如[1.2.0]PNG图片不清晰直接生成PNG的质量问题先输出EPS再转换为PNG无法写入图像文件ImageMagick权限限制检查policy.xml配置5. 高级配置与优化5.1 批量处理脚本创建批处理脚本process_all.sh#!/bin/bash for station in NICO WTZR ZIMM; do # 修改配置文件中的接收机名称 sed -i s/rec.*\/rec/rec$station\/rec/ config.xml # 运行Anubis分析 anubis -x config.xml -l ${station}.log -v 5 # 生成图表 plot_Anubis.pl --ifile ${station}.xtr --plot${station}.png --all --title${station} [2023:001] done5.2 输出质量优化为提高图表输出质量建议首先输出EPS格式plot_Anubis.pl --ifile NICO.xtr --plotNICO.eps --all转换为PNGconvert -density 300 NICO.eps NICO.png5.3 自动化监控可以设置cron任务定期处理新数据crontab -e添加如下行每天凌晨2点运行0 2 * * * /path/to/process_all.sh /var/log/anubis_processing.log 21在实际项目中我发现将Anubis与Python脚本结合使用可以极大提高工作效率。例如使用Python的subprocess模块调用Anubis然后直接解析生成的xtr文件进行进一步分析。对于长期运行的监测站建议设置日志轮转机制避免日志文件过大。