1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| module.exports = function(ml, e0, e1, e2, e3) {
| var phi;
| var dphi;
|
| phi = ml / e0;
| for (var i = 0; i < 15; i++) {
| dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));
| phi += dphi;
| if (Math.abs(dphi) <= 0.0000000001) {
| return phi;
| }
| }
|
| //..reportError("IMLFN-CONV:Latitude failed to converge after 15 iterations");
| return NaN;
| };
|
|