📄 rin2mat.m
字号:
% ------------------------------------------------------------------------------
% GPSLab - RIN2MAT Conversion of RINEX Files to files readable by MatLab "load"
% ------------------------------------------------------------------------------
% calls external 16-bit programs: rinex2_o.exe, rinex2_n.exe
% generates the following files: s1l1,s1l2,s1p1,s1p2,s1c1,s1epo,s1eph,s1head,s1lgo
% s2l1,s2l2,s2p1,s2p2,s2c1,s2epo,s2eph,s2head,s2lgo
%
% (c) iapg 1997,1998,1999,2000,2001 zeb
% -----------------------------------------------------------------------------
% Letzte Aenderung 2001-04-13:
% Der DOS-Befehl MOVE unter NT erlaubt kein Ueberschreiben.
% Daher muss vorher die jeweilige Datei mit DEL geloescht werden.
% -----------------------------------------------------------------------------
delete rin2mat.log;
diary rin2mat.log;
diary on;
disp('-----------------------------------------------------------------------------');
disp(' GPSLab - RIN2MAT Umwandlung von RINEX Files in fuer MatLab verwertbare Files');
disp('-----------------------------------------------------------------------------');
% Weiter nur, wenn Rechner ein PC mit MatLab for Windows
comp=computer;
if (comp(1:2) ~= 'PC')
disp('##################################################');
disp(' The called program is only running on PCs.');
disp(' Your operating system is no DOS/WIN.');
disp(' This stops the Matlab session !');
disp('##################################################');
diary off;
exit;
end
% Wenn RINEX-Umwandlung (C++) auf HP bzw. DEC kompiliert vorliegt:
% if (comp(1:2) ~= 'HP') % HP 9000 / 700
% if (comp(1:2) ~= 'AL') % DEC Alpha
% % etc.pp. ...
disp(' ');
disp(' ');
disp('##############################################################');
disp(' RINEX OBSERVATION FILES');
disp('##############################################################');
disp(' ');
disp('observation file of reference station');
diary off;
[fname,pname]=uigetfile('*.*O','RINEX Observation File: Reference Station',10,10);
if fname==0 & pname==0
errordlg(['Cancelling in program RIN2MAT.M while selecting the observation files.',...
' Cancel stops RINEX-Import.'], ...
'GPSLab: break - 1998 zeb');
return;
end
diary on;
disp(' ');
disp([pname fname]);
diary off;
dos(['copy ' [pname fname] ' ' fname ' |']);
dos(['rinex2_o.exe ' fname ' |']);
pfad=[pwd '\'];
if strcmp(pfad,pname)==0
dos(['del ' fname ' |']);
end
dos('del s1l1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1l2 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1p1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1p2 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1c1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1head |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1epo |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s1lgo |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('move *.l1 s1l1 |');
dos('move *.l2 s1l2 |');
dos('move *.p1 s1p1 |');
dos('move *.p2 s1p2 |');
dos('move *.c1 s1c1 |');
dos('move *.hd s1head |');
dos('move *.epo s1epo |');
dos('move *.lgo s1lgo |');
% evtl. sofortiger check, ob Daten o.k.
% beo=eval(fname,'disp(''*** Error: No RINEX-File or damaged data ! ***'')');
[fname,pname]=uigetfile('*.*O','RINEX Observation File: Rover Station',10,10);
if fname==0 & pname==0
errordlg(['Cancelling in program RIN2MAT.M while selecting the observation files.',...
' Cancel stops RINEX-Import.'], ...
'GPSLab: break - 1998 zeb');
return;
end
diary on;
disp(' ');
disp('observation file of rover station');
disp(' ');
disp([pname fname]);
diary off;
dos(['copy ' [pname fname] ' ' fname ' |']);
dos(['rinex2_o.exe ' fname ' |']);
pfad=[pwd '\'];
if strcmp(pfad,pname)==0
dos(['del ' fname ' |']);
end
dos('del s2l1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2l2 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2p1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2p2 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2c1 |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2head |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2epo |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('del s2lgo |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('move *.l1 s2l1 |');
dos('move *.l2 s2l2 |');
dos('move *.p1 s2p1 |');
dos('move *.p2 s2p2 |');
dos('move *.c1 s2c1 |');
dos('move *.hd s2head |');
dos('move *.epo s2epo |');
dos('move *.lgo s2lgo |');
diary on;
disp(' ');
disp('##############################################################');
disp(' RINEX NAVIGATION FILES');
disp('##############################################################');
disp(' ');
diary off;
[fname,pname]=uigetfile('*.*N','RINEX Navigation File: Reference Station',10,10);
if fname==0 & pname==0
errordlg(['Cancelling in program RIN2MAT.M while selecting the observation files.',...
' Cancel stops RINEX-Import.'], ...
'GPSLab: break - 1998 zeb');
return;
end
diary on;
disp(' ');
disp('navigation file of reference station');
disp(' ');
disp([pname fname]);
diary off;
dos(['copy ' [pname fname] ' ' fname ' |']);
dos(['rinex2_n.exe ' fname ' |']);
pfad=[pwd '\'];
if strcmp(pfad,pname)==0
dos(['del ' fname ' |']);
end
dos('del s1eph |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('move *.eph s1eph |');
dos('copy *.lgn+s1lgo s1log |');
dos('del *.lgn |');
dos('del s1lgo |');
[fname,pname]=uigetfile('*.*N','RINEX Navigation File: Rover Station',10,10);
if fname==0 & pname==0
errordlg(['Cancelling in program RIN2MAT.M while selecting the observation files.',...
' Cancel stops RINEX-Import.'], ...
'GPSLab: break - 1998 zeb');
return;
end
diary on;
disp(' ');
disp('Navigation File des Roverpunkts');
disp(' ');
disp([pname fname]);
disp(' ');
disp('##############################################################');
disp(' ');
diary off;
dos(['copy ' [pname fname] ' ' fname ' |']);
dos(['rinex2_n.exe ' fname ' |']);
pfad=[pwd '\'];
if strcmp(pfad,pname)==0
dos(['del ' fname ' |']);
end
dos('del s2eph |'); % move unter NT erlaubt kein Ueberschreiben. Daher muss vorher die Datei geloescht werden.
dos('move *.eph s2eph |');
dos('copy *.lgn+s2lgo s2log |');
dos('del *.lgn |');
dos('del s2lgo |');
% Wenn noch Originaldateien aus der Zeitausschnittsfunktion (TIMESPAN.M)
% von vorher verwendeten Datensatz bestehen, l鰏chen dieser:
if exist('s2epo.org')==2 % 躡erpr黤ung nur anhand 1 Files
dos('del s2epo.org |'); % f黵 ROVER-Dateien
dos('del s2c1.org |');
dos('del s2p1.org |');
dos('del s2p2.org |');
dos('del s2l1.org |');
dos('del s2l2.org |');
dos('del s1epo.org |'); % f黵 REFERENZ-Dateien
dos('del s1c1.org |');
dos('del s1p1.org |');
dos('del s1p2.org |');
dos('del s1l1.org |');
dos('del s1l2.org |');
end
% -----------------------------------------------------------------------------
% (c) iapg 1997,1998,1999,2000,2001 zeb
% -----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -