Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / matlab / revo / lla2ecef.m
blobe82cdc9ebe97a9c10729b8018e9b530ceea53422
1 function ECEF = lla2ecef(latitude,longitude,altitude)
3 a = 6378137.0;
4 e = 8.1819190842622e-2;
5 DEG2RAD = pi / 180;
6 sinLat = sin(DEG2RAD * latitude);
7 sinLon = sin(DEG2RAD * longitude);
8 cosLat = cos(DEG2RAD * latitude);
9 cosLon = cos(DEG2RAD * longitude);
11 N = a ./ sqrt(1.0 - e * e .* sinLat .* sinLat);
13 ECEF(:,1) = (N + altitude) .* cosLat .* cosLon;
14 ECEF(:,2) = (N + altitude) .* cosLat .* sinLon;
15 ECEF(:,3) = ((1 - e * e) * N + altitude) .* sinLat;