From 357010c137874b49cde797703bd9f79e93991dcf Mon Sep 17 00:00:00 2001 From: KenanZhu111 <3471685733@qq.com> Date: Sun, 17 Nov 2024 15:16:42 +0800 Subject: [PATCH] Fully support the conversion of RINEX 2.xx & RINEX 3.xx --- Convert_chart.jpg | Bin 178950 -> 0 bytes KNZ_Convert.py | 116 ++++----- Readme.md | 7 +- ReadmeCN.md | 5 +- rnx_convert.py | 589 +++++++++++++++++++++++++++++++--------------- rtcm_convert.py | 18 ++ 6 files changed, 478 insertions(+), 257 deletions(-) delete mode 100644 Convert_chart.jpg create mode 100644 rtcm_convert.py diff --git a/Convert_chart.jpg b/Convert_chart.jpg deleted file mode 100644 index 7bae4a4b73a4d2bce05a47258a222733ae7a3bce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178950 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 prY-^V`s{y={XeAF)8qgE diff --git a/KNZ_Convert.py b/KNZ_Convert.py index 1bc6636..abec264 100644 --- a/KNZ_Convert.py +++ b/KNZ_Convert.py @@ -1,17 +1,17 @@ -# @ File : KNZ_Convert.py +# @ File : KNZ_Convert.py +# +# @ Brief : GUI main functions. # # Copyright (c) 2024 - 2024 KenanZhu. All Right Reserved. # # @ Author : KenanZhu # @ Time : 2024/11/13 -# @ Brief : -# : # @ IDE : PyCharm # # ---------------------------------------------------------------------------------------- -# ---SELF--- # +# ---SELPORT--- # import rnx_convert as conv -# ---THRI--- # +# ---STDPORT--- # import queue import threading import tkinter as tk @@ -20,17 +20,18 @@ from tkinter import ttk from PIL import ImageTk from base64 import b64decode from tkinter import filedialog -# --------------------------------------------------------------------------------------- +# ------------- # +# global const InPaths = [] -# +# io oath combox index I_Box_Counter=0 O_Box_Counter=0 -# +# io format list & index I_Format_Rnx_List=0 I_RINEX_BoxList=['2','3'] O_Format_Rnx_List=0 O_RINEX_BoxList=['2.10','2.11','2.12','3.00','3.01','3.02','3.03','3.04','3.05'] -# --------------------------------------------------------------------------------------- +# ------------------------------------------------------------------------------------- # def instanceOPT(parenthwnd, func): OPTIONS(parenthwnd, func) @@ -143,14 +144,8 @@ class CALLBACK: return filedir path_len -= 1 - def Convert( - self, - Pro_style, - File_O_ynVar, - File_I_BoxVar, - File_O_BoxVar, - Convertcards, - Exec_Progress): + def Convert(self, + Pro_style, File_O_ynVar, File_I_BoxVar, File_O_BoxVar, Convertcards, Exec_Progress): # ------------------------------------------------------------------------------- # > # Method: @@ -168,7 +163,7 @@ class CALLBACK: 'text.Horizontal.TProgressbar', text='Converting...') Exec_Progress.config(value=0) - if Convertcards.index('current')==0: + if Convertcards.index('current')==0: if not File_I_BoxVar.get(): ErrorMsg+=' path' else: InPath.append(File_I_BoxVar.get()) elif Convertcards.index('current')==1: @@ -183,7 +178,7 @@ class CALLBACK: Exec_Progress.config(value=0) Pro_style.configure('text.Horizontal.TProgressbar', text=ErrorMsg) return - ### + # resqueue=queue.Queue() Pro_style.configure( 'text.Horizontal.TProgressbar', @@ -211,24 +206,11 @@ class CALLBACK: 'text.Horizontal.TProgressbar', text='Complete ! %d successful. %d fails.'%(State_O, len(InPath)-State_O)) - def _Convert( - self, - Pro_style, - File_O_ynVar, - File_I_BoxVar, - File_O_BoxVar, - Convertcards, - Exec_Progress): + def _Convert(self, + Pro_style, File_O_ynVar, File_I_BoxVar, File_O_BoxVar, Convertcards, Exec_Progress): T=threading.Thread(target=lambda : - self.Convert( - Pro_style, - File_O_ynVar, - File_I_BoxVar, - File_O_BoxVar, - Convertcards, - Exec_Progress - )) + self.Convert(Pro_style, File_O_ynVar, File_I_BoxVar, File_O_BoxVar, Convertcards, Exec_Progress)) T.start() @staticmethod @@ -294,9 +276,10 @@ class MAINGUI: # Author: @KenanZhu All Right Reserved. # ------------------------------------------------------------------------------- self.hwnd.title("KNZ_Convert") - self.hwnd.resizable(0, 0) self.func.Move_center(self.hwnd, 400, 243) - ### + self.hwnd.maxsize( 1000, 243) + self.hwnd.minsize( 400, 243) + # icon_ico = (b'AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAADjsAAA47AAAAAAAAAAAAAAAAAAAAAAAAAAAA' b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' @@ -359,11 +342,11 @@ class MAINGUI: icon_ico = b64decode(icon_ico) icon_ico = ImageTk.PhotoImage(data=icon_ico) self.hwnd.tk.call('wm', 'iconphoto', self.hwnd._w, icon_ico) - ### + # self.initCONVERT() - ### + # self.initExecCtrl() - ### + # self.hwnd.protocol('WM_DELETE_WINDOW',self.hwnd.quit) self.hwnd.mainloop() @@ -394,22 +377,22 @@ class MAINGUI: # ------------------------------------------------------------------------------- self.SingleFrame=ttk.Frame(self.hwnd) - ### Initialize of input frame + # Initialize of input frame File_I_Frame=tk.LabelFrame( self.SingleFrame, text='Object Observation of RINEX') File_I_Frame.pack(side=tk.TOP, fill=tk.X, padx='1px', pady='0px') - ### Initialize of input box + # Initialize of input box File_I_Box=ttk.Combobox( File_I_Frame, width=47, height=4, values=('',), textvariable=self.File_I_BoxVar) - File_I_Box.pack(side=tk.LEFT, anchor='w', padx='1px', pady='1px') + File_I_Box.pack(side=tk.LEFT, fill=tk.X, expand=tk.YES, anchor='w', padx='1px', pady='1px') - ### Initialize of input Button + # Initialize of input Button File_I_Bbutton=ttk.Button( File_I_Frame, text='...', @@ -426,17 +409,17 @@ class MAINGUI: # ------------------------------------------------------------------------------- self.BatchFrame=ttk.Frame(self.hwnd) - ### + # Files_I_Frame=tk.LabelFrame( self.BatchFrame, text='Objects Observation of RINEX') Files_I_Frame.pack(side=tk.TOP, fill=tk.X, padx='1px', pady='0px') - ### + # Files_I_CtrlFrame=ttk.Frame(Files_I_Frame) Files_I_CtrlFrame.pack(side=tk.RIGHT, fill=tk.Y, anchor='e', padx='1px', pady='1px') - ### + # Files_I_CtrlInput=ttk.Button( Files_I_CtrlFrame, text='...', @@ -451,23 +434,23 @@ class MAINGUI: command=lambda :self.func.Clear_I_Files(Files_I_ShowText)) Files_I_CtrlClear.pack(side=tk.BOTTOM, anchor='e', padx='1px', pady='1px') - ### + # Files_I_ShowFrame=ttk.Frame(Files_I_Frame) - Files_I_ShowFrame.pack(side=tk.LEFT, fill=tk.X, anchor='e', padx='1px', pady='1px') + Files_I_ShowFrame.pack(side=tk.LEFT, fill=tk.X, expand=tk.YES, anchor='e', padx='1px', pady='1px') - ### + # ScrollbarX=ttk.Scrollbar(Files_I_ShowFrame,orient=tk.HORIZONTAL) ScrollbarX.pack(side=tk.BOTTOM, fill=tk.X) ScrollbarY=ttk.Scrollbar(Files_I_ShowFrame) ScrollbarY.pack(side=tk.RIGHT, fill=tk.Y) - ### + # Files_I_ShowText=tk.Text( Files_I_ShowFrame, xscrollcommand=ScrollbarX.set, yscrollcommand=ScrollbarY.set, height=4, wrap='none', font=('Segoe UI',9)) - Files_I_ShowText.pack(side=tk.LEFT, fill=tk.BOTH, anchor='w', padx='1px', pady='1px') + Files_I_ShowText.pack(side=tk.LEFT, fill=tk.X, expand=tk.YES, anchor='w', padx='1px', pady='1px') ScrollbarX.config(command=Files_I_ShowText.xview) ScrollbarY.config(command=Files_I_ShowText.yview) @@ -500,7 +483,7 @@ class MAINGUI: text='Output directory') File_O_Frame.pack(side=tk.TOP, fill=tk.X, padx='1px', pady='1px') - ### + # File_O_yn=ttk.Checkbutton( File_O_Frame, text='Directory', @@ -513,7 +496,7 @@ class MAINGUI: File_O_Button)) File_O_yn.pack(side=tk.LEFT, anchor='w', padx='1px', pady='0px') - ### + # File_O_Box=ttk.Combobox( File_O_Frame, width=36, @@ -521,9 +504,9 @@ class MAINGUI: values=('',), state=tk.DISABLED, textvariable=self.File_O_BoxVar) - File_O_Box.pack(side=tk.LEFT, anchor='w', padx='1px', pady='0px') + File_O_Box.pack(side=tk.LEFT, fill=tk.X, expand=tk.YES, anchor='w', padx='1px', pady='0px') - ### + # File_O_Button=ttk.Button( File_O_Frame, text='...', @@ -548,7 +531,7 @@ class MAINGUI: command=lambda :instanceOPT(self.hwnd,self.func) ) Conv_Option.pack(side=tk.RIGHT, padx='1px', pady='0px') - ### + # Conv_Button=ttk.Button( CtrlButtonFrame, text='Convert', @@ -561,7 +544,7 @@ class MAINGUI: self.Convertcards, self.Exec_Progress)) Conv_Button.pack(side=tk.RIGHT, padx='1px', pady='0px') - ### + # Exit_button=ttk.Button( CtrlButtonFrame, text='Exit', @@ -569,7 +552,7 @@ class MAINGUI: command=self.hwnd.quit) Exit_button.pack(side=tk.LEFT, padx='1px', pady='0px') - ### + # StateFrame=ttk.Frame(self.ExecFrame) StateFrame.pack(side=tk.TOP, fill=tk.X, padx='1px', pady='4px') self.Pro_style=ttk.Style(StateFrame) @@ -595,7 +578,8 @@ class MAINGUI: maximum=100, mode='determinate', style='text.Horizontal.TProgressbar') - self.Exec_Progress.pack(side=tk.LEFT) + self.Exec_Progress.pack(side=tk.LEFT, fill=tk.X, expand=tk.YES) + class OPTIONS: def __init__(self, parenthwnd, func): @@ -625,7 +609,7 @@ class OPTIONS: self.opthwnd.resizable(0, 0) self.func.Move_center(self.opthwnd, 310, 110) - ### Set icon + # Set icon icon_ico=(b'AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6' @@ -646,11 +630,11 @@ class OPTIONS: icon_ico=ImageTk.PhotoImage(data=icon_ico) self.opthwnd.tk.call('wm', 'iconphoto', self.opthwnd._w, icon_ico) - ### Mian frame + # Mian frame self.MainFrame=ttk.Frame(self.opthwnd) self.MainFrame.pack() - ### init + # init self.initOPTIONS() self.initEXECTRL() @@ -702,7 +686,7 @@ class OPTIONS: state=tk.DISABLED, values=I_RTCM_BoxList) I_RTCM_Box.set(I_RTCM_BoxList[0]) - #I_RTCM_Box['state']='readonly' + # I_RTCM_Box['state']='readonly' I_RTCM_Box.pack(side=tk.RIGHT) # ------------------------------------------------------------------------------- # Target format frame @@ -743,7 +727,7 @@ class OPTIONS: state=tk.DISABLED, values=O_RTCM_BoxList) O_RTCM_Box.set(I_RTCM_BoxList[0]) - #O_RTCM_Box['state']='readonly' + # O_RTCM_Box['state']='readonly' O_RTCM_Box.pack(side=tk.RIGHT) def initEXECTRL(self): @@ -782,6 +766,8 @@ class OPTIONS: I_Format_Rnx_List=I_RINEX_BoxList.index(self.I_RINEX_Box.get()) O_Format_Rnx_List=O_RINEX_BoxList.index(self.O_RINEX_Box.get()) + +# Main program entry ---------------------------- # if __name__ == "__main__": root=tk.Tk() call=CALLBACK() diff --git a/Readme.md b/Readme.md index 06d7982..21025c7 100644 --- a/Readme.md +++ b/Readme.md @@ -18,9 +18,7 @@ the file is lossless conversion, only convert the foemat, do not modify the information. 2. The double character observation types of RINEX2.xx version will be automatically matched according to the following table: -[Convert_chart.jpg](Convert_chart.jpg) - -### About Project ### +### Update brief ### 2024/11/14: At present, the RINEX2.xx format conversion has been fully supported, the format output error of the previous version has been modified, and the conversion from 2.xx to 3.xx is currently supported. @@ -28,6 +26,9 @@ and the conversion from 2.xx to 3.xx is currently supported. 2024/11/15: Correct the output format, omit the empty observation and change the rule of match. +2024/11/17: Fully support the conversion of RINEX 2.xx & RINEX 3.xx, also support +the conversion of same major version. + ### Update plan ### 1. 2.xx and 3.xx versions are fully supported, and support mutual conversion. 2. Gradually introduce the conversion support for RTCM files. diff --git a/ReadmeCN.md b/ReadmeCN.md index c2704fd..27555d7 100644 --- a/ReadmeCN.md +++ b/ReadmeCN.md @@ -14,11 +14,10 @@ 1. 主要对2.11 & 2.10 格式的RINEX观测值文件进行无损转换,不需要额外参数输入,软件会自动转换格式,不会对原文件信息进行更改。 2. 对于RINEX2.xx版本的两字符观测值类型将按照如下表格进行自动匹配: -[Convert_chart.jpg](Convert_chart.jpg) - -### 关于项目 ### +### 更新简记 ### 2024/11/14: 目前已经对RINEX2.xx格式转换进行了全面支持,修改了上一版本的格式输出错误,目前支持2.xx转换为3.xx。 2024/11/15: 更正了输出格式,忽略空余信号并更改匹配规则 +2024/11/17: 支持RINEX2.xx格式和RINEX3.xx格式的相互转换,同时支持同一主要版本之间的转换。 ### 更新计划 ### 1. 2.xx版本与3.xx版本全面支持,支持相互转换。 diff --git a/rnx_convert.py b/rnx_convert.py index 87f0e79..1fc1302 100644 --- a/rnx_convert.py +++ b/rnx_convert.py @@ -1,19 +1,28 @@ -# @ File : rnx_convert.py +# @ File : rnx_convert.py +# +# @ Brief : RINEX Convert functions. # # Copyright (c) 2024 - 2024 KenanZhu. All Right Reserved. # # @ Author : KenanZhu -# @ Time : 2024/11/13 -# @ Brief : +# @ Time stamp : [2024/11/13] First release. +# : [2024/11/14] Correct: convert of observation type of +# 'P1/P2' of GPS is correct into 'C1W/C2W'. +# : [2024/11/15] Fix bug: remove the empty observation of +# RINEX 2.xx format. +# : [2024/11/17] Add new: complish the funtions of convert +# form RINEX 3.xx to RINEX 2.xx and also support +# convert in major version of RINEX. # : -# @ IDE : PyCharm +# @ IDE/Editor : PyCharm / VisualStudio Code # # ---------------------------------------------------------------------------------------- +# ---STDPORT--- # import re import time import math import threading - +# ------------- # emp='' bnk=' ' @@ -21,9 +30,9 @@ bnk=' ' def conv_time(): # generate convert timestamp covpro='KNZ_Convert ver1.2.5' - covtmp='COV-PGM / DATE' + covcom='COMMENT' - # Get the locate time and transform to RINEX format + # Get the locate time and transform to Uni-format y=time.localtime().tm_year m=time.localtime().tm_mon d=time.localtime().tm_mday @@ -41,14 +50,12 @@ def conv_time(): outline=(covpro + 20*bnk + localtime+ - covtmp + + covcom + '\n') return outline - - -# Convert Format ------------------------------ # +# Convert data format --------------------------- # def datefmt2_conv(inline): hou=inline[49:51] min=inline[52:54] @@ -60,9 +67,7 @@ def datefmt2_conv(inline): bnk + "UTC" + bnk + "PGM / RUN BY / DATE\n") - - -# Convert Format ------------------------------ # +# Convert data format --------------------------- # def datefmt3_conv(inline): hou=inline[49:51] min=inline[51:53] @@ -70,17 +75,15 @@ def datefmt3_conv(inline): return (inline[0:49] + hou + ':' + min + ':' + - sec + ':' + + sec + 'UTCPGM / RUN BY / DATE\n') - - -# Convert observ type of RINEX 2.xx to Uni-Format --------------- # +# Convert observ type of RINEX 2.xx to Uni-format ------------- # def obsfmt2_conv(obstypes, sys): counter =0 obstypex=[] - obsbomit='' + obsbomit=emp match sys: case 'G': @@ -144,9 +147,7 @@ def obsfmt2_conv(obstypes, sys): return obstypex - - -# Convert observ msg of RINEX 2.xx to Uni-Format ---------------- # +# Convert observ msg of RINEX 2.xx to Uni-format ---------------- # def obstype2_conv(inline, in_f, omilist): # uni-format message label obsobs='SYS / # / OBS TYPES' @@ -182,14 +183,12 @@ def obstype2_conv(inline, in_f, omilist): outline=7*bnk return outlines - - -# Convert obstpe msg of RINEX 2.xx to Uni-Format --------------- # -def obstpe2_conv(inline, outlines, desver): +# Generate the convert stamp ------------------------ # +def conv_stamp(inline, outlines, desver): oriver=inline[ 5: 9] # generate convert stamp obscov='COV-OBSERVATION DATA' - covpro='COV-RINEX VER / TYPE' + obscom='COMMENT' outlines.append( 5*bnk+ oriver+ @@ -198,16 +197,14 @@ def obstpe2_conv(inline, outlines, desver): 1*bnk+ obscov+ 24*bnk+ - covpro+ + obscom+ '\n') outlines.append(conv_time()) outlines.append( inline.replace('%s'%re.search(r'[1-9]\d*.\d*|0\.\d*[1-9]\d*', inline).group(), desver)) return - - -# Convert head_data of RINEX 2.xx to Uni-format -------------- # +# Convert RINEX 2.xx(header) to Uni-format -------------- # def rnx2_head2uni(in_f, desver, outlines, omilist): # rinex message label obscom='COMMENT' @@ -221,11 +218,11 @@ def rnx2_head2uni(in_f, desver, outlines, omilist): while True: inline=in_f.readline() # file is aleady checked so no need to judge again - if not inline: pass + if not inline: break if inline.find(obscom)>=0: outlines.append(inline) elif inline.find(obspro)>=0: outlines.append(datefmt2_conv(inline)) elif inline.find(obsobs)>=0: outlines.extend(obstype2_conv(inline, in_f, omilist)) - elif inline.find(obstpe)>=0: obstpe2_conv(inline, outlines, desver) + elif inline.find(obstpe)>=0: conv_stamp(inline, outlines, desver) elif inline.find(obsl12)>=0: continue elif inline.find(obsend)>=0: break else : outlines.append(inline) @@ -235,9 +232,7 @@ def rnx2_head2uni(in_f, desver, outlines, omilist): return 1 - - -# Convert obs of RINEX 2.xx to Uni-Format ------------------- # +# Convert RINEX 2.xx(data) to Uni-Format ------------------- # def rnx2_data2uni(in_f, outlines, omilist, obsnum): sPRN=[] scounter=0 @@ -245,7 +240,7 @@ def rnx2_data2uni(in_f, outlines, omilist, obsnum): # return false when file end inline=in_f.readline() - if not inline : return False + if not inline: return False # get epoch message & flag state year = int(inline[0 :3]) @@ -310,17 +305,13 @@ def rnx2_data2uni(in_f, outlines, omilist, obsnum): outlines.append(sPRN[i]+outline+"\n") return True - - # Convert Uni-format to RINEX 3.xx --------------------- # def uni2rnx3_data(outlines, out_path): - out_f = open(out_path, 'a') + out_f=open(out_path, 'a') out_f.writelines(outlines) out_f.close() return - - # Get observ type need be omitted --------------------- # def getomit(omilist): for i in range(len(omilist)): @@ -333,36 +324,391 @@ def getomit(omilist): omilist.pop(0) return - - -# Convert data of RINEX 2.xx to Des-format ----------------- # +# Convert RINEX 2.xx to Des-format --------------------- # def rnx2des(in_path, out_path, oriver, desver): headread=False outlines=[] omilist=[] - # convert rinex 2.xx(header) to Uni-format + # convert RINEX 2.xx(header) to Uni-format in_f=open(in_path, 'r') match rnx2_head2uni(in_f, desver, outlines, omilist): case 1: headread=True case 0: headread=False - - uni2rnx3_data(outlines, out_path) - outlines=[] - if headread: + if headread: + # convert Uni-foramt(header) to Des-format + match desver[0:1]: + case '2': addemp=uni2rnx2_data(4, outlines, out_path, True, None) + case '3': uni2rnx3_data(outlines, out_path) + outlines=[] # get each observ type and omit the empty obsnum=omilist[0] omilist.pop(0) getomit(omilist) - + + # convert RINEX 2.xx(data) to Uni-format while rnx2_data2uni(in_f, outlines, omilist, obsnum): + # convert Uni-foramt(data) to Des-format match desver[0:1]: - case '2': return 0 + case '2': uni2rnx2_data(4, outlines, out_path, False, addemp) case '3': uni2rnx3_data(outlines, out_path) outlines=[] + + elif not headread: return 0 + + in_f.close() return 1 +# Get the position of new add observ type ----------------- # +def getaddemp(alltypes, sysstype): + addemp=[[],[],[],[]] + for i in range(len(sysstype)): + for j in range(len(sysstype[i])): + for k in range(len(alltypes)): + if sysstype[i][j]==alltypes[k]: + addemp[i].append(k) + return addemp +# Filter the same obs fmt in RINEX 2.xx ----------------- # +def obsfmt_filter(alltypes): + empemp=[] + spos=npos=0 + empemp.append(len(alltypes)) + while True: + npos+=1 + if spos==empemp[0]: break + if npos==empemp[0]: + spos+=1 + npos=spos + continue + if not alltypes[spos]: continue + if not alltypes[npos]: continue + if alltypes[spos]==alltypes[npos]: + alltypes[npos]=emp + empemp.append(npos) + # restruct the data + totnum=empemp[0] + empemp=sorted(empemp[1:]) + empemp.insert(0,totnum) + empemp.clear() + # addemp.append(empemp) + # clear the empty + alltypes=[obs for obs in alltypes if obs!=emp] + return alltypes + +# Sort by observ type --------------------------- # +def sort_observ(alltypes): + alltypex=[] + temtypes=[] + freindex=['1','2','3','4', + '5','6','7','8'] + obsetype=['C','L','D','S'] + + for type in alltypes: + freidx=freindex.index(type[1:2])/ 1 + if type=='P1C' or type=='P2C': + tyeidx=obsetype.index(type[2:3])/10 + else: + tyeidx=obsetype.index(type[0:1])/10 + alltypex.append(freidx+tyeidx) + + sdx=ndx=0 + while True: + if len(alltypex)==0: + break + if (ndx+1)==len(alltypex): + temtypes.append(alltypes[sdx]) + alltypes.pop(sdx) + alltypex.pop(sdx) + sdx=ndx=0 + continue + ndx+=1 + if alltypex[ndx]<=alltypex[sdx]: + sdx=ndx + continue + return temtypes + +# Convert observ type of RINEX 3.xx to Uni-Format --------------- # +def obsfmt3_conv(alltypes): + alltypex=[] + + for type in alltypes: + if type[1:2]=='1': + if type=='C1W': type='P1' + elif type[1:2]=='2': + if type=='C2W': type='P2' + else: pass + alltypex.append(type[0:2]) + + return alltypex + +# Convert observ msg of RINEX 3.xx to Uni-Format ---------------- # +def obstype3_conv(i, sysnum, outlines, outlinex): + sysstype=[] + alltypes=[] + obstypes=[] + # rinex message label + obsobs='# / TYPES OF OBSERV' + + for j in range(sysnum): + obstypes=[] + # reject system not support in Uni-Format + match outlines[i][0:1]: + case 'G': obstypes.append(0) + case 'E': obstypes.append(1) + case 'R': obstypes.append(2) + case 'S': obstypes.append(3) + case _: + i+=1 + continue + + obsnum=int(outlines[i][1:6]) + for k in range(math.ceil(obsnum/13)): + obstypes.extend(outlines[i][6:60].split()) + if k+1==math.ceil(obsnum/13): break + i+=1 + + # check the differ observ type in glonass + if obstypes[0]==2: + try: + pos=obstypes.index('C1P') + obstypes[pos]='P1C' + except ValueError: pass + try: + pos=obstypes.index('C2P') + obstypes[pos]='P2C' + except ValueError: pass + + sysstype.append(obsfmt3_conv(obstypes[1:])) + alltypes=list(set(obstypes[1:]+alltypes)) + i+=1 + + # sort observ types + alltypes=sort_observ(alltypes) + # convert observ type into des-format + alltypes=obsfmt3_conv(alltypes) + # fliter the same observ type + alltypes=obsfmt_filter(alltypes) + # get new added pos + addemp=getaddemp(alltypes, sysstype) + + num =len(alltypes) + outline=4*bnk+'%2d'%num + + for j in range(num): + outline+=4*bnk+alltypes[j] + if (j+1)==num: + bnx=((9-num%9)*6)*bnk + outlinex.append(outline+bnx+obsobs+'\n') + outline=0*bnk + elif (j+1)%9==0: + bnx=0*bnk + outlinex.append(outline+bnx+obsobs+'\n') + outline=6*bnk + # get amout of observ tyeps + addemp.append(num) + return addemp + +# Get the total amount of sat system -------------------- # +def getsys_rnx3(in_f): + # rinex message label + obsobs='SYS / # / OBS TYPES' + readst=False + syslis=[] + sysnum=0 + + while True: + inline=in_f.readline() + if not inline: break + if inline.find(obsobs)>=0: + readst=True + sys=inline[0:1] + if sys and sys not in syslis: + syslis.append(sys) + sysnum+=1 + elif readst and inline.find(obsobs)<0: break + + in_f.seek(0) + return sysnum + +# Convert head_data of RINEX 3.xx to Uni-format -------------- # +def rnx3_head2uni(in_f, desver, outlines): + # rinex message label + # obscom='COMMENT' + obstpe='RINEX VERSION / TYPE' + # obspro='PGM / RUN BY / DATE' + # obsobs='SYS / # / OBS TYPES' + obsshi='SYS / PHASE SHIFT' + obsrsb='GLONASS COD/PHS/BIS' + obsrsl='GLONASS SLOT / FRQ #' + obsend='END OF HEADER' + + # get input head file & convert + while True: + inline=in_f.readline() + # file is aleady checked so no need to judge again + if not inline: break + #if inline.find(obscom)>=0: outlines.append(inline) + #elif inline.find(obspro)>=0: outlines.append(inline) + #elif inline.find(obsobs)>=0: outlines.append(inline) + elif inline.find(obstpe)>=0: conv_stamp(inline, outlines, desver) + elif inline.find(obsshi)>=0: continue + elif inline.find(obsrsb)>=0: continue + elif inline.find(obsrsl)>=0: continue + elif inline.find(obsend)>=0: break + else : outlines.append(inline) + + # get the end message after break + outlines.append(60*bnk+obsend+'\n') + + return 1 + +# Convert obs of RINEX 3.xx to Uni-format ------------------- # +def rnx2uni3_data(outlines, in_f): + inline=in_f.readline() + if not inline: return False + if not int(inline[30:32])==0: return True + outlines.append(inline) + satnum=int(inline[33:35]) + for i in range(satnum): + outlines.append(in_f.readline()) + return True + +# Convert RINEX 3.xx(epoch msg) to RINEX 2.xx --------------- # +def rnx3rnx2_epo(outline, sPRN): + outlines=[] + datedat=outline.split() + outline=( + '%3d%3d%3d%3d%3d%11.7f%3d%3d' + %(int(datedat[1])-2000,int(datedat[2]), int(datedat[3]),# |year |month |day + int(datedat[4]) ,int(datedat[5]),float(datedat[6]),# |hour |minute |second + int(datedat[7]) ,len(sPRN))) # |flag |satnum | + + # convert to RINEX 2.xx + satnum=len(sPRN) + for i in range(satnum): + outline+=sPRN[i] + if (i+1)==len(sPRN): + outlines.append(outline+'\n') + elif (i+1)%12==0: + outlines.append(outline+'\n') + outline=32*bnk + return outlines + +# Convert RINEX 3.xx(data of each sat) to RINEX 2.xx ------------ # +def rnx3rnx2_dat(addemp, obsnum, outline): + outlines=[] + num=range(len(addemp)) + + empdat=16*bnk + + outlinx=[empdat for i in range(obsnum)] + + for i,j in zip(num,addemp): + if not outlinx[j]==empdat: continue + if outline[i*16+3:i*16+16+3]: + outlinx[j]=outline[i*16+3:i*16+16+3]\ + .replace('\n',2*bnk).replace('\r',2*bnk) + else: continue + + outline=emp + for i in range(len(outlinx)): + outline+=outlinx[i] + + for i in range(math.ceil(len(outline)/80)): + outlines.append(outline[i*80:i*80+80]+'\n') + + return outlines + +# Convert RINEX 3.xx to RINEX 2.xx --------------------- # +def rnx3rnx2_data(outlines, addemp): + sPRN=[] + datline=[] + outlinex=[] + # filter the sat system ecxcept:# + # ---GPS-Galileo-GLONASS-SBAS---# + for i in range(len(outlines)): + if outlines[i][0:1]=='G': pass + elif outlines[i][0:1]=='E': pass + elif outlines[i][0:1]=='R': pass + elif outlines[i][0:1]=='S': pass + else: continue + datline.append(i) + sPRN.append(outlines[i][0:3]) + + outlinex.extend(rnx3rnx2_epo(outlines[0], sPRN)) + + for i in datline: + if outlines[i][0:1]=='G': idx=0 + elif outlines[i][0:1]=='E': idx=1 + elif outlines[i][0:1]=='R': idx=2 + elif outlines[i][0:1]=='S': idx=3 + else: continue + outlinex.extend(rnx3rnx2_dat(addemp[idx], addemp[4], outlines[i])) + return outlinex + +# Convert Uni-format to RINEX 2.xx --------------------- # +def uni2rnx2_data(sysnum, outlines, out_path, headordata, add_emp): + # rinex message label + obspro='PGM / RUN BY / DATE' + obsobs='SYS / # / OBS TYPES' + obsend='END OF HEADER' + + outlinex=[] + obsread=False + + # convert Uni-format to RINEX 2.xx(header) + if headordata: + for i in range(len(outlines)): + if outlines[i].find(obspro)>=0: outlinex.append(datefmt3_conv(outlines[i])) + elif outlines[i].find(obsobs)>=0: + if not obsread: + obsread=True + addemp=obstype3_conv(i, sysnum, outlines, outlinex) + else: continue + elif outlines[i].find(obsend)>=0: outlinex.append(outlines[i]) + else: outlinex.append(outlines[i]) + + # convert Uni-format to RINEX 2.xx(data) + elif not headordata: + outlinex=rnx3rnx2_data(outlines, add_emp) + + # output to destination file + out_f=open(out_path, 'a') + out_f.writelines(outlinex) + out_f.close() + + if headordata: return addemp + elif not headordata: return 0 + +# Convert data of RINEX 3.xx to Des-format ----------------- # +def rnx3des(in_path, out_path, oriver, desver): + headread=False + outlines=[] + in_f=open(in_path, 'r') + # get the amount of sat system + sysnum=getsys_rnx3(in_f) + # convert RINEX 3.xx(header) to Uni-format + match rnx3_head2uni(in_f, desver, outlines): + case 1: headread=True + case 0: headread=False + # convert Uni-foramt(header) to Des-format + if headread: + match desver[0:1]: + case '2': addemp=uni2rnx2_data(sysnum, outlines, out_path, True, None) + case '3': uni2rnx3_data(outlines, out_path) + outlines=[] + # convert RINEX 3.xx(data) to Uni-format + while rnx2uni3_data(outlines, in_f): + # convert Uni-foramt(data) to Des-format + match desver[0:1]: + case '2': uni2rnx2_data(sysnum, outlines, out_path, False, addemp) + case '3': uni2rnx3_data(outlines, out_path) + outlines=[] + + elif not headread: return 0 + + return 1 # Reject data of invaild input ----------------------- # def rnx_reject(in_path, out_path, oriver): @@ -393,8 +739,6 @@ def rnx_reject(in_path, out_path, oriver): return 1 - - # --------------------------------------------------------------------------------------- # CONVERT FUNCTION # @@ -413,12 +757,11 @@ def Convert_Un(in_path, out_path, oriver, desver, resqueue): if file_state: match oriver: case '2': rnx2des(in_path, out_path, oriver, desver) - case '3': resqueue.put(0) - else : resqueue.put(0) - - resqueue.put(1) - return + case '3': rnx3des(in_path, out_path, oriver, desver) + else : return resqueue.put(0) + return resqueue.put(1) + # Multi-threading task --------------------------- # def _Convert_Un(in_path, out_path, oriver, desver, resqueue): T=threading.Thread( @@ -426,130 +769,4 @@ def _Convert_Un(in_path, out_path, oriver, desver, resqueue): ) T.start() T.join() - return resqueue.get() - - - - - - - -# --------------------------------------------------------------- # -# The functions below are not be useable. on progress............ # -# -# -# --------------------------------------------------------------- # - -# Convert observ type of RINEX 3.xx to Uni-Format --------------- # -def obsfmt_conv_cxx(obstypes): - outlines=[] - outline='%6d'%len(obstypes) - - for i in range(len(obstypes)): - outline+='%6s'%obstypes[i] - if (i+1)==len(obstypes): - outlines.append(outline + (9 - (i+1)%9)*6*bnk + '# / TYPES OF OBSERV\n') - outline='' - elif (i+1)%9==0: - outlines.append(outline + '# / TYPES OF OBSERV\n') - outline=6*bnk - return outlines -# Convert observ msg of RINEX 3.xx to Uni-Format ---------------- # -def obstype_conv_cxx(obstypes, inline, in_f): - while True: - if inline[0:1]=='G': flag=True - elif inline[0:1]=='E': flag=True - elif inline[0:1]=='R': flag=True - elif inline[0:1]=='S': flag=True - else: flag=False - - if flag: - obsnum=int(inline[2:6]) - for i in range(math.ceil(obsnum/13)): - for obs in inline[6:60].split(): - if obs[1:2]=='3': continue - if obs[1:2]=='4': continue - if obs[2:3]=='P': obs='P'+obs[1:2] - else: obs=obs[0:2] - if obs and obs not in obstypes: - obstypes.append(obs) - - if i+1==math.ceil(obsnum/13): - break - inline=in_f.readline() - return -# Convert head_data of RINEX 3.xx to Uni-format -------------- # -def rnx3_head2uni(in_path, out_path, desver): - try: - with open(in_path, 'r'): pass - except FileNotFoundError: - return -12 - - obstypes=[] - outlines=[] - in_put=False - output=False - in_f=open(in_path, 'r') - while True: - inline=in_f.readline() - if not inline: - return 0 - - if in_put and not output: - if not inline.find('SYS / # / OBS TYPES')>=0: - output=True - - if in_put and output: - outlines.extend(obsfmt_conv_cxx(obstypes)) - in_put=False - output=False - - if inline.find('COMMENT')>=0: - outlines.append(inline) - - elif inline.find('RINEX VERSION / TYPE')>=0: - if not inline.find('OBSERVATION DATA')>=0: - return -10 - if not float(inline[5: 9])>=3: - return -10 - # Output convert message - outlines.append( - 5*bnk+'%s->%s'%(str(inline[5: 9]),str(desver))+ - 1*bnk+'COV-OBSERVATION DATA'+ - 24*bnk+'COV-RINEX VER / TYPE\n') - outlines.append(conv_time()) - outlines.append(inline.replace( - '%s'%re.search(r'[1-9]\d*.\d*|0\.\d*[1-9]\d*', inline).group(), - desver)) - - elif inline.find('PGM / RUN BY / DATE')>=0: - outlines.append(datefmt3_conv(inline)) - - elif inline.find('SYS / # / OBS TYPES')>=0: - in_put=True - obstype_conv_cxx(obstypes, inline, in_f) - - elif inline.find('SYS / PHASE SHIFT')>=0: - continue - - elif inline.find('GLONASS COD/PHS/BIS')>=0: - continue - - elif inline.find('GLONASS SLOT / FRQ #')>=0: - continue - - elif inline.find("END OF HEADER")>=0: - outlines.append(inline) - break - - else: outlines.append(inline) - - try: - with open(out_path, 'w'): pass - except PermissionError: - return -11 - - out_f=open(out_path, 'a') - out_f.writelines(outlines) - out_f.close() - return 1 \ No newline at end of file + return resqueue.get() \ No newline at end of file diff --git a/rtcm_convert.py b/rtcm_convert.py new file mode 100644 index 0000000..ab96c6f --- /dev/null +++ b/rtcm_convert.py @@ -0,0 +1,18 @@ +# @ File : rtcm_convert.py.py +# +# Copyright (c) 2024 - 2024 KenanZhu. All Right Reserved. +# +# @ Author : KenanZhu +# @ Time : 2024/11/16 +# @ Brief : +# : +# @ IDE : PyCharm +# +# ---------------------------------------------------------------------------------------- +# ---SELPORT--- # + +# ---STDPORT--- # + +# ------------- # +def Convert_Un(): + return 0 \ No newline at end of file