ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:137KB ,
资源ID:939924      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-939924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(直角坐标转换为地理坐标.DOC)为本站会员(天***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

直角坐标转换为地理坐标.DOC

1、直角坐标转换为地理坐标设计算法将地理坐标转换为直角坐标,通过迭代次数和欧氏误差评价算法性能。总体思路是:先将地理坐标(理论值)转换为直角坐标(理论值) ,由于该算法没有误差,两坐标是等价的。再用设计的算法将直角坐标系转换为地理坐标(计算值) ,在同样的纬度和高度情况下,取出经度误差(理论值与计算值之差的绝对值)最大的点,将该点的地理坐标转换为直角坐标,该坐标与直角坐标理论值即为评价算法的误差。当高度在-6300000m 到 30000000m 时,迭代次数和误差曲线如下图所示:迭代次数:误差:18000 个点中,发散点个数为:convergenum =0当高度在-50000m到1000000m

2、时,迭代次数和误差曲线如下图所示:迭代次数:误差:18000 个点中,发散点个数为:convergenum =0当高度在-6378000m到-6300000m 时,迭代次数和误差曲线如下图所示:迭代次数:误差:18000 个点中,发散点个数为:convergenum =0主程序:R=6378.173*1000;r=6356.7523142*1000;f=(R-r)/R;w=linspace(-90,90,30); %纬度 il=linspace(-180,180,30); %经度 j%h=linspace(-50000,1000000,20); %高度 k%h=linspace(-630000

3、0,30000000,20); %高度 kh=linspace(-6378000,-6300000,20); %高度 khhj=pi/180; %角度换算成弧度需乘的量w=w*hhj; %纬度换算成弧度l=l*hhj; %经度换算成弧度ww=; %存放初始纬度数组ll=; %存放初始经度数组hh=; %存放初始高度数组for i=1:30 %纬度 ifor j=1:30 %经度 jfor k=1:20 %高度 k ww(i,j,k)=w(i);ll(i,j,k)=l(j);hh(i,j,k)=h(k);endendendxxe,yye,zze=wlh_change_xyz(ww,ll,hh);

4、 %经纬高 wlh 转换为直角坐标系 xyzNEWw,NEWl,NEWh,flag_converge,Nkk=xyz_change_wlh(xxe,yye,zze);%直角坐标系 xyz 转换为经纬高 wlhxxe1,yye1,zze1=wlh_change_xyz(NEWw,NEWl,NEWh);%经纬高 wlh 转换为直角坐标系 xyzconvergenum=length(xxe(:,1,1)*length(xxe(1,:,1)*length(xxe(1,1,:)-sum(sum(sum(flag_converge)wuchax=xxe-xxe1;%x 的误差wuchay=yye-yye1

5、;%y 的误差wuchaz=zze-zze1;%z 的误差wucha=sqrt(wuchax.2+wuchay.2+wuchaz.2);%欧氏的误差wuchamax=;%存放相同经度时的最大误差Nkkmax=;%存放相同经度时的最大迭代次数for i=1:30 %纬度 ifor k=1:20 %高度 k wuchamax(i,k)=max(abs(wucha(i,:,k);%求放相同经度时的最大误差Nkkmax(i,k)=max(Nkk(i,:,k);%求放相同经度时的最大迭代次数endend%画图plotw=w;ploth=h;pplotw=ones(size(plotw)*ploth;pp

6、loth=plotw*ones(size(ploth);surf(pplotw,pploth,Nkkmax)%画迭代次数曲线xlabel(Height(m),ylabel(Geodetic latitude(degree),zlabel(Iteration numbers)grid on ;surf(pplotw,pploth,wuchamax)%画误差曲线xlabel(Height(m),ylabel(Geodetic latitude(degree),zlabel(Euclid distance errors(m)-%经纬高 wlh 转换为直角坐标系 xyzfunction xxe,yye

7、,zze=wlh_change_xyz(w,l,h)R=6378.173*1000;r=6356.7523142*1000;f=(R-r)/R;hhj=pi/180; %角度换算成弧度需乘的量w=w*hhj; %纬度换算成弧度l=l*hhj; %经度换算成弧度o=acot(cot(w)/(1-f); %通过纬度求角度 oxxe=; %存放直角坐标系 x 的数组yye=; %存放直角坐标系 y 的数组zze=; %存放直角坐标系 z 的数组for i=1:length(w(:,1,1) %纬度 ifor j=1:length(w(1,:,1) %经度 jfor k=1:length(w(1,1,

8、:) %高度 km=R*cos(o(i,j,k)+h(i,j,k)*cos(w(i,j,k);xe=m*cos(l(i,j,k);ye=m*sin(l(i,j,k);ze=r*sin(o(i,j,k)+h(i,j,k)*sin(w(i,j,k); %经纬高转换为直角坐标系xxe(i,j,k)=xe;yye(i,j,k)=ye;zze(i,j,k)=ze;endendend-%直角坐标系 xyz 转换为经纬高 wlhfunction NEWw,NEWl,NEWh,flag_converge,Nkk=xyz_change_wlh(xxe,yye,zze,kkmax,eps)if(nargin=3)

9、eps=1.0e-9; % %缺省误差参数时默认为 eps=1.0e-9kkmax=20; %最大迭代次数endR=6378.173*1000;r=6356.7523142*1000;f=(R-r)/R;NEWw=; %存放纬度的数组NEWl=; %存放经度的数组NEWh=; %存放高度的数组flag_converge=;%存放发散标志的数组Nkk=;for i=1:length(xxe(:,1,1) %纬度 ifor j=1:length(xxe(1,:,1) %经度 jfor k=1:length(xxe(1,1,:) %高度 kx0=sqrt(xxe(i,j,k)2+yye(i,j,k)

10、2);%根据直角坐标系求 x0.z0z0=zze(i,j,k); %step2A=r*z0; %系数 A,在求牛顿迭代算法时使用B=2*R*x0;C=2*(R2-r2);if z0=0 %step3 z0=0 的情况,neww=0; %求纬度newh=x0-R; %求高度newl=atan2(yye(i,j,k),xxe(i,j,k); %step10 ,求经度elsekk=0; %迭代次数初值t=-(1-f)*(x0/z0)+sign(z0)*sqrt(1+(1-f)*(x0/z0)2); %step4 ,t0 初值flag=1; %标志位,判断是否收敛while flag=1 kk=kk+

11、1; %step5 迭代次数加 1ff=A*t4+(B+C)*t3+(B-C)*t-A;df=4*A*t3+3*(B+C)*t2+(B-C);tnew=t-ff/df; %step6 t 值的更新oldt=t; %存储旧的 tt=tnew; %将新的 tnew 值赋给 tif abs(t-oldt)=kkmax %step8,若小于,则到 step5(通过标志位不改变来实现)flag=0; %若大于,则跳出循环endendendendNEWw(i,j,k)=neww;NEWl(i,j,k)=newl; NEWh(i,j,k)=newh; flag_converge(i,j,k)=flag;Nkk(i,j,k)=kk;endendendNEWw=NEWw*(180/pi); %纬度弧度转换为角度NEWl=NEWl*(180/pi);%经度弧度转换为角度

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。