详细公式参见地理纬度转换为地心纬度
clc;
clear;
%% 计算随地形变化的参考面位置
a = 6378.137; %地球半长轴
b = 6356.7523141; %地球半短轴
e1 = (a - b)/a ; %地球第一偏心率
e2 = (a - b)/b ; %地球第二偏心率
ee2 = e2*e2;
pi = 3.1415926535;
data = load('ETOPO_2022_1d_geoid.dat'); %导入大地水准面波动数据
output = fopen('R0.dat','w');
for i = 1:length(data)
lat = (data(i,2)*pi)/180 ; %地理纬度【弧度制】
geoid = data(i,3); %大地水准面波动
%计算对应纬度的地心纬度值
lat_geocentric = atan(tan(lat)/(1+ee2));
%计算参考椭球体纬度相关半径
rE = a/power((1+ ee2*(sin(lat_geocentric)*sin(lat_geocentric))),2) ;
%计算参考面R0
R0 = rE + geoid;
fprintf(output,'%f %f %f \n',data(i,1),data(i,2),R0);
end
fclose(output);
全球范围计算结果
R0的值为地心到参考面的距离