观测文件、星历文件合、修改、重采样等功能大家通常都会用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

最低0.47元/天 解锁文章
2045

被折叠的 条评论
为什么被折叠?



