测量程序设计实验报告实验名称:大地坐标与空间直角坐标的换算实验四大地坐标与空间直角坐标的换算一、实验目的编写大地坐标与空间直角坐标相互转换的程序,并对格式化文件数据进行计算,验证程序
二、实验内容:1、大地坐标向空间直角坐标换算转换公式:x=(N+h)cosBcosLy=(N+h)cosBsinLz=[N(1−e2)+h]sinB(1)其中:L为经度,B为纬度,h为大地高,N=a√1−e2sin2B为卯酉圈曲率半径,e=√a2−b2a为第一偏心率,a为旋转椭球长半轴,b为短半轴
WGS84椭球参数:长半轴a=6378137扁率f=1/298
257223563根据上式创建以geo2xyz命名的函数,函数输入输出格式为[x,y,z]=geo2xyz(L,B,h)2、空间直角坐标向大地坐标换算根据式(1)推导大地坐标向空间直角坐标转换公式:L=arctan(y/x)B=arctan(z+Ne2sinB√x2+y2)h=√x2+y2cosB−N注意计算纬度时需要用到迭代,可用B=arctan(azb√x2+y2)作为初始值
创建以xyz2geo命名的函数,函数输入输出格式为[L,B,h]=xyz2geo(x,y,z)三、实验步骤1、大地坐标向空间直角坐标换算主程序:%%大地坐标向空间直角坐标换算%函数的输入输出格式为[x,y,z]=geo2xyz(L,B,h)[filename,pathname]=uigetfile('*
txt','请选择打开的数据文件');file=[pathname,filename];data=importdata(file);L=data
data(:,1);B=data
data(:,2);h=data
data(:,3);[x,y,z]=geo2xyz(L,B,h);A=[x,y,z];A=A';[filename_out,pathname_out