⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rin2mat.m

📁 这是国外关于卫星导航方面一书的源代码
💻 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 + -