GNSS数据批处理工具(一)适用GFZRNX小脚本

观测文件、星历文件合、修改、重采样等功能大家通常都会用gfzrnx,一但文件比较多,使用起来就稍微有点麻烦

这里分享一个py写的小脚本,大家可以根据自己的需求修改

第一步首先将gfzrnx.exe windos版和gfzrnxtool.py放到一个文件夹下

程序会自动找到exe文件,如果没有找到可以指定路径

第二步选择需要的功能

以文件合并为例 程序会自动找到文件夹下以o结尾的观测文件,合并星历同理 找到以n l c q结尾的文件进行合并

import os
import subprocess
from datetime import datetime, timedelta
from PyQt5 import QtCore, QtGui, QtWidgets

# Helper function to retrieve all files ending in "o"
def get_o_files(directory):
    return [f for f in os.listdir(directory) if f.endswith('o')]

# Helper function to retrieve all files ending in "n" or "g" "l" or "c"
def get_nav_files(directory):
    return [f for f in os.listdir(directory) if f.endswith('n') or f.endswith('g') or f.endswith('c') or f.endswith('l')]

# Command to split file
def run_gfzrnx(input_file, start_time_str, duration, directory):
    input_path = os.path.join(directory, input_file)
    output_file = "split_" + input_file
    output_path = os.path.join(directory, output_file)
    command = f'gfzrnx -finp "{input_path}" -epo_beg {start_time_str} -d {duration} -kv > "{output_path}"'
    return command

# Command to convert file version
def run_version_conversion(input_file, version, directory):
    input_path = os.path.join(directory, input_file)
    output_file = "convert_" + input_file
    output_path = os.path.join(directory, output_file)
    command = f'gfzrnx -finp "{input_path}" -vo {version} > "{output_path}"'
    return command

# Command to merge files
def run_file_merge(files, directory):
    input_files = ' '.join([f'"{os.path.join(directory, f)}"' for f in files])
    output_file = "merge_" + files[0]
    output_path = os.path.join(directory, output_file)
    command = f'gfzrnx -finp {input_files} -kv > "{output_path}"'
    return command

# Command to merge ephemeris files
def run_ephemeris_merge(files, directory):
    input_files = ' '.join([f'"{os.path.join(directory, f)}"' for f in files])
    output_file = "merged_ephemeris.nav"
    output_path = os.path.join(directory, output_file)
    command = f'gfzrnx -finp {input_files} -kv > "{output_path}"'
    return command

# Command to exclude satellite by PRNs
def run_satellite_edit(input_file, prns, directory):
    input_path = os.path.joi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值