AER2ECEF convert azimuth, elevation, range to target from observer to ECEF coordinates
Contents
Inputs
- az, el, slantrange: look angles and distance to point under test (degrees, degrees, meters)
- az: azimuth clockwise from local north
- el: elevation angle above local horizon
- lat0, lon0, alt0: ellipsoid geodetic coordinates of observer/reference (degrees, degrees, meters)
- spheroid: referenceEllipsoid
- angleUnit: string for angular units. Default 'd': degrees
outputs
- x,y,z: Earth Centered Earth Fixed (ECEF) coordinates of test point (meters)
function [x,y,z] = aer2ecef(az, el, slantRange, lat0, lon0, alt0, spheroid, angleUnit)
if nargin < 7 || isempty(spheroid)
spheroid = matmap3d.wgs84Ellipsoid();
end
if nargin < 8
angleUnit = 'd';
end
[x0, y0, z0] = matmap3d.geodetic2ecef(spheroid, lat0, lon0, alt0, angleUnit);
[e, n, u] = matmap3d.aer2enu(az, el, slantRange, angleUnit);
[dx, dy, dz] = matmap3d.enu2uvw(e, n, u, lat0, lon0, angleUnit);
x = x0 + dx;
y = y0 + dy;
z = z0 + dz;
end