Matlab||GOCE卫星重力梯度数据读取与坐标转换

本文以GOCE卫星1b数据为例,介绍GOCE重力梯度数据的读取与坐标转换(GRF—LNOF)。

  1. 数据介绍
    数据选取2013年3月1日至3月31日共计31天、分辨率为1秒的观测数据,数据观测记录2678400个。一个观测记录包含以下31项数据,数据格式如下:
    (1):GPS时间/s;
    (2-3):纬度、经度/°;
    (4):地心半径/m;
    (5-10):XX、YY、ZZ、XY、XZ、YZ六个方向分量上的组合梯度值;
    (11-16):六个方向分量梯度值的观测中误差;
    (17-22):六个方向分量的标识码;
    (23-31):GRF框架转换为LNOF坐标系的旋转矩阵9个元素。
  2. 数据读取
fid=fopen('GGC_GRF_DataFile_GOCO03s_20130301T000000_20130331T235959_0002.DAT');
data=zeros(2678400,31) %定义数据矩阵

%读取数据
for n=1:2678400
    line =fgetl(fid);
    if ~ischar(line), break, end
  if isempty(line), continue, end
  cells = textscan(line,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%d%d%d%d%d%d%f%f%f%f%f%f%f%f%f');
  for k=1:31  
      data(n,k)=cells{k};
  end
end
fclose(fid);
  1. 坐标转换
    GOCE卫星重力梯度观测数据是在重力梯度仪参考框架(GRF)下的,为了后续计算,需要将其转换成惯性坐标系(IRF)、地固坐标系(EFRF)或者局部指北坐标系(LNOF)。此处以转换成LNOF为例。
%声明一个存储LNOF系下的梯度矩阵
 Vlnof=zeros(2678400,6);
 
 %计算局部指北坐标系(LNOF)下的GOCE重力梯度Vlnof 
  for  n=1:2678400
     Vgrf=[data(n,5) data(n,8) data(n,9);data(n,8) data(n,6) data(n,10);data(n,9) data(n,10) data(n,7)];
     R=[data(n,23) data(n,24) data(n,25);data(n,26) data(n,27) data(n,28);data(n,29) data(n,30) data(n,31)];
     Vnew=R*Vgrf*R';
     Vlnof(n,1)=Vnew(1,1);Virf(n,2)=Vnew(2,2);Virf(n,3)=Vnew(3,3);Virf(n,4)=Vnew(1,2);Virf(n,5)=Vnew(1,3);Virf(n,6)=Vnew(2,3); 
  end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值