读取gps观测数据o文件的matlab编程,读取GPS观测数据O文件的matlab编程.doc

function HeadO=ReadObsHead

[fname,fpath]=uigetfile('*.*O','选择一个O文件');

HeadO.O_filename=strcat(fpath,fname);

fid=fopen(HeadO.O_filename,'rt');

if (fid==-1)

msgbox('文件不存在','警告','warn');

return;

end

k=0;

while(1)

s=fgets(fid);

if (strfind(s,'RINEX VERSION'))

HeadO.Rtype=str2double(s(6:10));

elseif(strfind(s,'APPROX POSITION XYZ'))

HeadO.XYZ(1)=str2double(s(1:14));

HeadO.XYZ(2)=str2double(s(15:28));

HeadO.XYZ(3)=str2double(s(29:42));

elseif (strfind(s,'MARKER NAME'))

HeadO.staname=s(1:4);

elseif (strfind(s,'MARKER NUMBER'))

HeadO.stanum=s(1:4);

elseif (strfind(s,'# / TYPES OF OBSERV'))

HeadO.PRNtype='G';

HeadO.nObstype=str2double(s(6));

for i=1:HeadO.nObstype

HeadO.Obs{i}={s(i*6+5:i*6+6)};

end

elseif (strfind(s,'SYS / # / OBS TYPES'))

k=k+1;

HeadO.PRNtype(k)=char(s(1));

HeadO.nObstype(k)=str2double(s(5:6));

if(HeadO.nObstype(k)>13)

for i=1:13

HeadO.Obs{k,i}=s(i*4+4:i*4+6);

end

s=fgets(fid);

for i=1:HeadO.nObstype(k)-13

HeadO.Obs{k,i+13}=s(i*4+4:i*4+6);

end

else

for i=1:HeadO.nObstype(k)

HeadO.Obs{k,i}=s(i*4+4:i*4+6);

end

end

elseif (strfind(s,'END OF HEADER'))

break;

end

end

下面为读取数据程序,供参考% Read RINEX Observation Datanepoch=0;nobs=0;nlli=0;rnx.epoch=[];rnx.obs=[];rnx.lli=[];while 1? if feof(fid)==1,break,end? line=fgetl(fid);? if isempty(deblank(line)),break,end? if version < 3???????????????????????????????????? ? % Version 2 RINEX? ? % get epoch flag and number of satellites? ? EpStr=line(1:26);? ? EpFlg=sscanf(line(27:29),'%d');? ? NumSat=sscanf(line(

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值