📄 dxyz2neu.m
字号:
function [n,e,u,s,a,z]=dxyz2neu(dx,dy,dz,b0,l0)
% -----------------------------------------------------------------------------
% GPSLab: DXYZ2NEU.M
%
% Umwandlung: Geozentrisch-kartesische Koordinatendifferenzen in N/E/U-Differenzen
% sowie daraus Raumstrecke, Azimut und Zenitdistanz
% -----------------------------------------------------------------------------
%
% Wie: [N,E,U,s,A,z]=dxyz2neu(dX,dY,dZ,B_ref,L_ref)
% Eingabe: dX,dY,dZ in Meter - Vektoren erlaubt (stehende, keine liegenden)
% B_ref,L_ref in Degree.Decimale - nur je ein Wert, keine Vektoren
% Ausgabe: N,E,U,s in Meter , A,z in Degree.Decimale
%
% Formeln aus Hofmann-Wellenhof u.a.(1994):"GPS in der Praxis"
%
% Vektorisiert auf dX,dY,dZ
%
% -----------------------------------------------------------------------------
% (c) iapg 1998 zeb - Keine Gewaehr, da keine Abfragen.
ro=pi/180;
b0=b0*ro;
l0=l0*ro;
D=[-sin(b0)*cos(l0) -sin(l0) cos(b0)*cos(l0)
-sin(b0)*sin(l0) cos(l0) cos(b0)*sin(l0)
cos(b0) 0 sin(b0) ];
dx=dx';dy=dy';dz=dz';
DXYZ=[dx;dy;dz];
DNEU=D'*DXYZ(1:3,:);
n=DNEU(1,:);
e=DNEU(2,:);
u=DNEU(3,:);
s=sqrt(sum(DNEU.^2));
a=atan2(e,n)./ro;
z=acos(u./s)./ro;
n=n';
e=e';
u=u';
s=s';
a=a';
z=z';
%---------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -