Skip to content

Commit 1fcfd05

Browse files
committed
older matlab compatibility
1 parent 7228ff5 commit 1fcfd05

30 files changed

+114
-218
lines changed

+matmap3d/aer2ecef.m

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,11 @@
1414
% * x,y,z: Earth Centered Earth Fixed (ECEF) coordinates of test point (meters)
1515

1616
function [x,y,z] = aer2ecef(az, el, slantRange, lat0, lon0, alt0, spheroid, angleUnit)
17-
18-
arguments
19-
az {mustBeReal}
20-
el {mustBeReal}
21-
slantRange {mustBeReal, mustBeNonnegative}
22-
lat0 {mustBeReal}
23-
lon0 {mustBeReal}
24-
alt0 {mustBeReal}
25-
spheroid (1,1) matmap3d.referenceEllipsoid = matmap3d.wgs84Ellipsoid()
26-
angleUnit {mustBeTextScalar} = 'd'
17+
if nargin < 7 || isempty(spheroid)
18+
spheroid = matmap3d.wgs84Ellipsoid();
19+
end
20+
if nargin < 8
21+
angleUnit = 'd';
2722
end
2823

2924
% Origin of the local system in geocentric coordinates.

+matmap3d/aer2eci.m

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,11 @@
88
%%% Outputs
99
% * x, y, z: ECI x, y, z
1010
function [x, y, z] = aer2eci(utc, az, el, rng, lat, lon, alt, spheroid, angleUnit)
11-
arguments
12-
utc datetime
13-
az {mustBeReal}
14-
el {mustBeReal}
15-
rng {mustBeReal, mustBeNonnegative}
16-
lat {mustBeReal}
17-
lon {mustBeReal}
18-
alt {mustBeReal}
19-
spheroid (1,1) matmap3d.referenceEllipsoid = matmap3d.wgs84Ellipsoid()
20-
angleUnit {mustBeTextScalar} = 'd'
11+
if nargin < 8 || isempty(spheroid)
12+
spheroid = matmap3d.wgs84Ellipsoid();
13+
end
14+
if nargin < 9
15+
angleUnit = 'd';
2116
end
2217

2318
[x1, y1, z1] = matmap3d.aer2ecef(az, el, rng, lat, lon, alt, spheroid, angleUnit);

+matmap3d/aer2enu.m

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@
99
%%% Outputs
1010
% * e,n,u: East, North, Up coordinates of test points (meters)
1111
function [e, n, u] = aer2enu (az, el, slantRange, angleUnit)
12-
arguments
13-
az {mustBeReal}
14-
el {mustBeReal}
15-
slantRange {mustBeReal}
16-
angleUnit {mustBeTextScalar} = 'd'
12+
if nargin < 4
13+
angleUnit = 'd';
1714
end
1815

19-
if startsWith(angleUnit,'d')
16+
if strncmp(angleUnit, 'd', 1)
2017
az = deg2rad(az);
2118
el = deg2rad(el);
2219
end

+matmap3d/aer2geodetic.m

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,11 @@
1111
%%% Outputs
1212
% * lat1,lon1,alt1: geodetic coordinates of test points (degrees,degrees,meters)
1313
function [lat1, lon1, alt1] = aer2geodetic(az, el, slantRange, lat0, lon0, alt0, spheroid, angleUnit)
14-
arguments
15-
az {mustBeReal}
16-
el {mustBeReal}
17-
slantRange {mustBeReal,mustBeNonnegative}
18-
lat0 {mustBeReal}
19-
lon0 {mustBeReal}
20-
alt0 {mustBeReal}
21-
spheroid (1,1) matmap3d.referenceEllipsoid = matmap3d.wgs84Ellipsoid()
22-
angleUnit {mustBeTextScalar} = 'd'
14+
if nargin < 7 || isempty(spheroid)
15+
spheroid = matmap3d.wgs84Ellipsoid();
16+
end
17+
if nargin < 8
18+
angleUnit = 'd';
2319
end
2420

2521
[x, y, z] = matmap3d.aer2ecef(az, el, slantRange, lat0, lon0, alt0, spheroid, angleUnit);

+matmap3d/aer2ned.m

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99
%%% Outputs
1010
% * north, east, down: coordinates of points (meters)
1111
function [north, east, down] = aer2ned(az, el, slantRange, angleUnit)
12-
arguments
13-
az {mustBeReal}
14-
el {mustBeReal}
15-
slantRange {mustBeReal}
16-
angleUnit {mustBeTextScalar} = 'd'
12+
if nargin < 4
13+
angleUnit = 'd';
1714
end
1815

1916
[east, north, up] = matmap3d.aer2enu(az, el, slantRange, angleUnit);

+matmap3d/ecef2aer.m

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,11 @@
1111
% * az: azimuth clockwise from local north
1212
% * el: elevation angle above local horizon
1313
function [az, el, slantRange] = ecef2aer(x, y, z, lat0, lon0, alt0, spheroid, angleUnit)
14-
15-
arguments
16-
x {mustBeReal}
17-
y {mustBeReal}
18-
z {mustBeReal}
19-
lat0 {mustBeReal}
20-
lon0 {mustBeReal}
21-
alt0 {mustBeReal}
22-
spheroid (1,1) matmap3d.referenceEllipsoid = matmap3d.wgs84Ellipsoid()
23-
angleUnit {mustBeTextScalar} = 'd'
14+
if nargin < 7 || isempty(spheroid)
15+
spheroid = matmap3d.wgs84Ellipsoid();
16+
end
17+
if nargin < 8
18+
angleUnit = 'd';
2419
end
2520

2621
[e, n, u] = matmap3d.ecef2enu(x, y, z, lat0, lon0, alt0, spheroid, angleUnit);

+matmap3d/ecef2eci_naive.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@
88
% * x,y,z: ECI position (meters)
99

1010
function [x,y,z] = ecef2eci_naive(utc, x0, y0, z0)
11-
arguments
12-
utc (:,1) datetime
13-
x0 (:,1) {mustBeReal,mustBeEqualSize(utc,x0)}
14-
y0 (:,1) {mustBeReal,mustBeEqualSize(utc,y0)}
15-
z0 (:,1) {mustBeReal,mustBeEqualSize(utc,z0)}
16-
end
1711

1812
% Greenwich hour angles (radians)
1913
gst = matmap3d.greenwichsrt(juliandate(utc));

+matmap3d/ecef2enu.m

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,11 @@
1111
% * East, North, Up coordinates of test points (meters)
1212

1313
function [east, north, up] = ecef2enu(x, y, z, lat0, lon0, alt0, spheroid, angleUnit)
14-
arguments
15-
x {mustBeReal}
16-
y {mustBeReal}
17-
z {mustBeReal}
18-
lat0 {mustBeReal}
19-
lon0 {mustBeReal}
20-
alt0 {mustBeReal}
21-
spheroid (1,1) matmap3d.referenceEllipsoid = matmap3d.wgs84Ellipsoid()
22-
angleUnit {mustBeTextScalar} = 'd'
14+
if nargin < 7 || isempty(spheroid)
15+
spheroid = matmap3d.wgs84Ellipsoid();
16+
end
17+
if nargin < 8
18+
angleUnit = 'd';
2319
end
2420

2521
[x0, y0, z0] = matmap3d.geodetic2ecef(spheroid, lat0, lon0, alt0, angleUnit);

+matmap3d/ecef2enuv.m

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,11 @@
99
% * e,n,Up: East, North, Up vector
1010

1111
function [e, n, Up] = ecef2enuv(u, v, w, lat0, lon0, angleUnit)
12-
arguments
13-
u {mustBeReal}
14-
v {mustBeReal}
15-
w {mustBeReal}
16-
lat0 {mustBeReal}
17-
lon0 {mustBeReal}
18-
angleUnit {mustBeTextScalar} = 'd'
12+
if nargin < 6
13+
angleUnit = 'd';
1914
end
2015

21-
if startsWith(angleUnit, 'd')
16+
if strncmp(angleUnit, 'd', 1)
2217
lat0 = deg2rad(lat0);
2318
lon0 = deg2rad(lon0);
2419
end

+matmap3d/ecef2geodetic.m

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@
1313
% Journal of Surveying Engineering. doi: 10.1061/(ASCE)0733-9453
1414

1515
function [lat,lon,alt] = ecef2geodetic(spheroid, x, y, z, angleUnit)
16-
arguments
17-
spheroid {mustBeScalarOrEmpty}
18-
x {mustBeReal}
19-
y {mustBeReal}
20-
z {mustBeReal}
21-
angleUnit {mustBeTextScalar} = 'd'
16+
if nargin < 5
17+
angleUnit = 'd';
2218
end
2319

2420
if isempty(spheroid)
@@ -59,7 +55,7 @@
5955
alt(inside) = -alt(inside);
6056

6157

62-
if startsWith(angleUnit, 'd')
58+
if strncmp(angleUnit, 'd', 1)
6359
lat = rad2deg(lat);
6460
lon = rad2deg(lon);
6561
end

0 commit comments

Comments
 (0)