经纬度与墨卡托之间的转换(matlab)

经纬度与墨卡托之间的转换(matlab)
经纬度转墨卡托
gpstoMercator.m
function [jing,wei]  = gpstoMercator(j,w )
jing = j * 20037508.34 / 180;
ly = log(tan((90+ w)*pi/360))/(pi/180);
wei =  ly *20037508.34/180;
end
墨卡托转经纬度
MercatorToGps.m
function [jing,wei]  = MercatorToGps(j,w )
jing = j/ 20037508.34 * 180;
ly= w/ 20037508.34 * 180;
wei = 180 /pi * (2 *atan(exp(ly *pi / 180)) - pi / 2);
end
举例:
%*******************************************************************************
%    根据某点四元数与GPS计算出其雷达坐标系的经纬坐标
%*******************************************************************************
clc
%导⼊旋转矩阵
l_i_z=0.2;  %⼿测沿惯导坐标系z轴平移
l_i_x=0.1;  %⼿测沿惯导坐标系x轴平移
l_i_z2=0.14; %⼿测沿惯导坐标系z轴平移(到雷达中⼼⾼度)
a=40;        %⼿测沿惯导坐标系y轴旋转⾓度
经纬360R=imutolidar(l_i_z,l_i_x,l_i_z2,a);
%打开txt数据
F=importdata('.\');
%四元数转旋转矩阵
R0=quat2dcm([F(1,1) F(1,2) F(1,3) F(1,4)]);
R_g=[R0(1,1) R0(1,2) R0(1,3) 0;R0(2,1) R0(2,2) R0(2,3) 0;R0(3,1) R0(3,2) R0(3,3) 0;0 0 0 1];
%经纬度转墨卡托
[g_jin,g_wei]=gpstoMercator(F(1,6),F(1,5));
%输⼊点云坐标
a_l=[F(1,8);F(1,9);F(1,10);1];
b_l=[F(1,11);F(1,12);F(1,13);1];
%惯导坐标系中的点云坐标
a_g=R_g*R*a_l;
b_g=R_g*R*b_l;
%变化量
a_jin_m=g_jin+a_g(2,1);
a_wei_m=g_wei+a_g(1,1);
b_jin_m=g_jin+b_g(2,1);
b_wei_m=g_wei+b_g(1,1);
%墨卡托转经纬度
[a_jin,a_wei] = MercatorToGps(a_jin_m,a_wei_m);
[b_jin,b_wei] = MercatorToGps(b_jin_m,b_wei_m);
%保存
T=fopen('.\','w');%创建⽂件
fprintf(T,'%6.10f  %6.10f\n',F(1,6),F(1,5));
fprintf(T,'%6.10f  %6.10f\n',a_jin,a_wei);
fprintf(T,'%6.10f  %6.10f\n',b_jin,b_wei);
fclose(T);
其中建⽴:imutolidar.m
%***********************************************************
%            惯导坐标系到雷达坐标系
%**********************************************************
function R=imutolidar(l_i_z,l_i_x,l_i_z2,a)
%沿惯导坐标系z轴平移l_i_zm
t_z=[1 0 0 0;0 1 0 0;0 0 1 l_i_z;0 0 0 1];
%绕惯导坐标系y轴逆时针旋转a度
r_y=[cosd(a) 0 sind(a) 0;0 1 0 0;-sind(a) 0 cosd(a) 0;0 0 0 1];
%沿惯导坐标系x轴平移l_i_x
t_x=[1 0 0 l_i_x;0 1 0 0;0 0 1 l_i_z2;0 0 0 1];
%绕惯导坐标系y轴逆时针旋转180度,然后绕z轴逆时针旋转90度
r_i_l=[0 0 1 0;0 -1 0 0;1 0 1 0;0 0 0 1];
R=t_z*r_y*t_x*r_i_l;
end
测试数据:
0.9044525623 0.0096225319 -0.0185025521 0.4260642231 45.7140581215 126.6285656427 138.3351655314 2.032 2.411 0.4993 1.956 -1.016 0.5088

本文发布于:2024-09-22 01:36:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/365529.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:坐标系   惯导   旋转   平移   数据   打开
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议