proj4 2.14.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build-and-test.yml +45 -7
- package/.nyc_output/6b047fc9-1bf2-4565-9e8a-9c0defc09dd7.json +1 -0
- package/.nyc_output/e2c5d0cc-9478-4f26-ad2f-de246d4c35de.json +1 -0
- package/.nyc_output/f4b0e40f-04ca-4b6d-bfeb-51d617db9841.json +1 -0
- package/.nyc_output/processinfo/6b047fc9-1bf2-4565-9e8a-9c0defc09dd7.json +1 -0
- package/.nyc_output/processinfo/e2c5d0cc-9478-4f26-ad2f-de246d4c35de.json +1 -0
- package/.nyc_output/processinfo/f4b0e40f-04ca-4b6d-bfeb-51d617db9841.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/Gruntfile.js +20 -84
- package/README.md +20 -6
- package/bower.json +1 -1
- package/component.json +1 -1
- package/dist/proj4-src.js +8932 -7060
- package/dist/proj4.js +1 -1
- package/eslint.config.mjs +41 -0
- package/lib/Point.js +4 -4
- package/lib/Proj.js +7 -8
- package/lib/adjust_axis.js +30 -33
- package/lib/common/acosh.js +2 -2
- package/lib/common/adjust_lat.js +2 -2
- package/lib/common/adjust_lon.js +2 -3
- package/lib/common/adjust_zone.js +1 -1
- package/lib/common/asinh.js +2 -2
- package/lib/common/asinhy.js +1 -1
- package/lib/common/asinz.js +2 -2
- package/lib/common/atanh.js +2 -2
- package/lib/common/clens.js +1 -1
- package/lib/common/clens_cmplx.js +1 -1
- package/lib/common/cosh.js +2 -2
- package/lib/common/e0fn.js +2 -2
- package/lib/common/e1fn.js +2 -2
- package/lib/common/e2fn.js +2 -2
- package/lib/common/e3fn.js +2 -2
- package/lib/common/fL.js +2 -2
- package/lib/common/gN.js +2 -2
- package/lib/common/gatg.js +1 -1
- package/lib/common/hypot.js +1 -1
- package/lib/common/imlfn.js +3 -3
- package/lib/common/invlatiso.js +2 -2
- package/lib/common/iqsfnz.js +5 -6
- package/lib/common/latiso.js +2 -2
- package/lib/common/log1py.js +1 -1
- package/lib/common/mlfn.js +2 -2
- package/lib/common/msfnz.js +2 -2
- package/lib/common/phi2z.js +3 -3
- package/lib/common/pj_enfn.js +2 -2
- package/lib/common/pj_inv_mlfn.js +6 -6
- package/lib/common/pj_mlfn.js +2 -2
- package/lib/common/qsfnz.js +3 -4
- package/lib/common/sign.js +3 -3
- package/lib/common/sinh.js +2 -2
- package/lib/common/srat.js +2 -2
- package/lib/common/tanh.js +2 -2
- package/lib/common/toPoint.js +4 -4
- package/lib/common/tsfnz.js +2 -2
- package/lib/constants/Datum.js +1229 -47
- package/lib/constants/Ellipsoid.js +225 -266
- package/lib/constants/PrimeMeridian.js +14 -14
- package/lib/constants/units.js +20 -20
- package/lib/constants/values.js +4 -4
- package/lib/core.js +2 -2
- package/lib/datum.js +2 -2
- package/lib/datumUtils.js +9 -14
- package/lib/datum_transform.js +26 -26
- package/lib/defs.js +10 -20
- package/lib/deriveConstants.js +4 -2
- package/lib/extend.js +1 -1
- package/lib/global.js +7 -7
- package/lib/includedProjections.js +25 -25
- package/lib/index.js +9 -9
- package/lib/nadgrid.js +36 -14
- package/lib/parseCode.js +10 -11
- package/lib/projString.js +41 -44
- package/lib/projections/aea.js +7 -12
- package/lib/projections/aeqd.js +51 -86
- package/lib/projections/bonne.js +11 -13
- package/lib/projections/cass.js +8 -15
- package/lib/projections/cea.js +7 -9
- package/lib/projections/eqc.js +2 -5
- package/lib/projections/eqdc.js +10 -16
- package/lib/projections/eqearth.js +17 -17
- package/lib/projections/equi.js +4 -6
- package/lib/projections/etmerc.js +9 -11
- package/lib/projections/gauss.js +3 -3
- package/lib/projections/geocent.js +13 -14
- package/lib/projections/geos.js +136 -137
- package/lib/projections/gnom.js +8 -13
- package/lib/projections/gstmerc.js +2 -5
- package/lib/projections/krovak.js +3 -3
- package/lib/projections/laea.js +85 -97
- package/lib/projections/lcc.js +28 -33
- package/lib/projections/longlat.js +4 -4
- package/lib/projections/merc.js +12 -19
- package/lib/projections/mill.js +6 -7
- package/lib/projections/moll.js +8 -9
- package/lib/projections/nzmg.js +2 -2
- package/lib/projections/omerc.js +55 -57
- package/lib/projections/ortho.js +9 -10
- package/lib/projections/poly.js +13 -21
- package/lib/projections/qsc.js +19 -21
- package/lib/projections/robin.js +118 -118
- package/lib/projections/sinu.js +12 -23
- package/lib/projections/somerc.js +3 -3
- package/lib/projections/stere.js +29 -41
- package/lib/projections/sterea.js +3 -4
- package/lib/projections/tmerc.js +29 -36
- package/lib/projections/tpers.js +14 -15
- package/lib/projections/utm.js +3 -4
- package/lib/projections/vandg.js +15 -21
- package/lib/projections.js +12 -4
- package/lib/transform.js +3 -3
- package/package.json +29 -22
- package/proj.db +0 -0
- package/projs.js +2 -2
- package/publish.sh +1 -1
- package/rollup.config.mjs +29 -0
- package/scripts/readme.md +10 -0
- package/scripts/updateDatums.mjs +119 -0
- package/scripts/updateEllipsoids.mjs +70 -0
- package/test/ntv2_0_downsampled_no_error_columns.gsb +0 -0
- package/test/opt.html +27 -24
- package/test/puppeteer-tests.mjs +110 -0
- package/test/test-ci.mjs +10 -0
- package/test/test.js +197 -125
- package/test/testData.js +1802 -312
- package/.jshintrc +0 -12
- package/test/amd.html +0 -63
- package/test/package.json.js +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import stylistic from '@stylistic/eslint-plugin';
|
|
2
|
+
import globals from 'globals';
|
|
3
|
+
|
|
4
|
+
export default [
|
|
5
|
+
stylistic.configs.customize({
|
|
6
|
+
indent: 2,
|
|
7
|
+
quotes: 'single',
|
|
8
|
+
quoteProps: 'as-needed',
|
|
9
|
+
semi: true,
|
|
10
|
+
braceStyle: '1tbs',
|
|
11
|
+
commaDangle: 'never'
|
|
12
|
+
}),
|
|
13
|
+
{
|
|
14
|
+
files: ['**/*.js', '**/*.mjs'],
|
|
15
|
+
languageOptions: {
|
|
16
|
+
ecmaVersion: 'latest',
|
|
17
|
+
sourceType: 'module',
|
|
18
|
+
globals: {
|
|
19
|
+
...globals.browser,
|
|
20
|
+
...globals.node
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
rules: {
|
|
24
|
+
curly: 'error',
|
|
25
|
+
eqeqeq: 'error',
|
|
26
|
+
'no-use-before-define': ['error', { functions: false }],
|
|
27
|
+
'no-undef': 'error',
|
|
28
|
+
'no-unused-vars': 'error'
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{ files: ['test/**/*.js', 'test/**/*.mjs'],
|
|
32
|
+
languageOptions: {
|
|
33
|
+
globals: {
|
|
34
|
+
...globals.browser,
|
|
35
|
+
...globals.node,
|
|
36
|
+
...globals.mocha,
|
|
37
|
+
...globals.amd
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
];
|
package/lib/Point.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {toPoint, forward} from 'mgrs';
|
|
1
|
+
import { toPoint, forward } from 'mgrs';
|
|
2
2
|
|
|
3
3
|
function Point(x, y, z) {
|
|
4
4
|
if (!(this instanceof Point)) {
|
|
@@ -8,7 +8,7 @@ function Point(x, y, z) {
|
|
|
8
8
|
this.x = x[0];
|
|
9
9
|
this.y = x[1];
|
|
10
10
|
this.z = x[2] || 0.0;
|
|
11
|
-
} else if(typeof x === 'object') {
|
|
11
|
+
} else if (typeof x === 'object') {
|
|
12
12
|
this.x = x.x;
|
|
13
13
|
this.y = x.y;
|
|
14
14
|
this.z = x.z || 0.0;
|
|
@@ -25,10 +25,10 @@ function Point(x, y, z) {
|
|
|
25
25
|
console.warn('proj4.Point will be removed in version 3, use proj4.toPoint');
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
Point.fromMGRS = function(mgrsStr) {
|
|
28
|
+
Point.fromMGRS = function (mgrsStr) {
|
|
29
29
|
return new Point(toPoint(mgrsStr));
|
|
30
30
|
};
|
|
31
|
-
Point.prototype.toMGRS = function(accuracy) {
|
|
31
|
+
Point.prototype.toMGRS = function (accuracy) {
|
|
32
32
|
return forward([this.x, this.y], accuracy);
|
|
33
33
|
};
|
|
34
34
|
export default Point;
|
package/lib/Proj.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import parseCode from './parseCode';
|
|
2
2
|
import extend from './extend';
|
|
3
3
|
import projections from './projections';
|
|
4
|
-
import {sphere as dc_sphere, eccentricity as dc_eccentricity} from './deriveConstants';
|
|
4
|
+
import { sphere as dc_sphere, eccentricity as dc_eccentricity } from './deriveConstants';
|
|
5
5
|
import Datum from './constants/Datum';
|
|
6
6
|
import datum from './datum';
|
|
7
7
|
import match from './match';
|
|
8
|
-
import {getNadgrids} from
|
|
8
|
+
import { getNadgrids } from './nadgrid';
|
|
9
9
|
|
|
10
|
-
function Projection(srsCode,callback) {
|
|
10
|
+
function Projection(srsCode, callback) {
|
|
11
11
|
if (!(this instanceof Projection)) {
|
|
12
12
|
return new Projection(srsCode);
|
|
13
13
|
}
|
|
14
|
-
callback = callback || function(error){
|
|
15
|
-
if(error){
|
|
14
|
+
callback = callback || function (error) {
|
|
15
|
+
if (error) {
|
|
16
16
|
throw error;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
var json = parseCode(srsCode);
|
|
20
|
-
if(typeof json !== 'object'){
|
|
20
|
+
if (typeof json !== 'object') {
|
|
21
21
|
callback('Could not parse to valid json: ' + srsCode);
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
var ourProj = Projection.projections.get(json.projName);
|
|
25
|
-
if(!ourProj){
|
|
25
|
+
if (!ourProj) {
|
|
26
26
|
callback('Could not get projection name from: ' + srsCode);
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
@@ -67,7 +67,6 @@ function Projection(srsCode,callback) {
|
|
|
67
67
|
|
|
68
68
|
// legecy callback from back in the day when it went to spatialreference.org
|
|
69
69
|
callback(null, this);
|
|
70
|
-
|
|
71
70
|
}
|
|
72
71
|
Projection.projections = projections;
|
|
73
72
|
Projection.projections.start();
|
package/lib/adjust_axis.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default function(crs, denorm, point) {
|
|
1
|
+
export default function (crs, denorm, point) {
|
|
2
2
|
var xin = point.x,
|
|
3
3
|
yin = point.y,
|
|
4
4
|
zin = point.z || 0.0;
|
|
@@ -10,51 +10,48 @@ export default function(crs, denorm, point) {
|
|
|
10
10
|
}
|
|
11
11
|
if (i === 0) {
|
|
12
12
|
v = xin;
|
|
13
|
-
if (
|
|
13
|
+
if ('ew'.indexOf(crs.axis[i]) !== -1) {
|
|
14
14
|
t = 'x';
|
|
15
15
|
} else {
|
|
16
16
|
t = 'y';
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
else if (i === 1) {
|
|
18
|
+
} else if (i === 1) {
|
|
21
19
|
v = yin;
|
|
22
|
-
if (
|
|
20
|
+
if ('ns'.indexOf(crs.axis[i]) !== -1) {
|
|
23
21
|
t = 'y';
|
|
24
22
|
} else {
|
|
25
23
|
t = 'x';
|
|
26
24
|
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
25
|
+
} else {
|
|
29
26
|
v = zin;
|
|
30
27
|
t = 'z';
|
|
31
28
|
}
|
|
32
29
|
switch (crs.axis[i]) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
//console.log("ERROR: unknow axis ("+crs.axis[i]+") - check definition of "+crs.projName);
|
|
57
|
-
|
|
30
|
+
case 'e':
|
|
31
|
+
out[t] = v;
|
|
32
|
+
break;
|
|
33
|
+
case 'w':
|
|
34
|
+
out[t] = -v;
|
|
35
|
+
break;
|
|
36
|
+
case 'n':
|
|
37
|
+
out[t] = v;
|
|
38
|
+
break;
|
|
39
|
+
case 's':
|
|
40
|
+
out[t] = -v;
|
|
41
|
+
break;
|
|
42
|
+
case 'u':
|
|
43
|
+
if (point[t] !== undefined) {
|
|
44
|
+
out.z = v;
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
case 'd':
|
|
48
|
+
if (point[t] !== undefined) {
|
|
49
|
+
out.z = -v;
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
// console.log("ERROR: unknow axis ("+crs.axis[i]+") - check definition of "+crs.projName);
|
|
54
|
+
return null;
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
return out;
|
package/lib/common/acosh.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return 2 * Math.log(Math.sqrt((x + 1) / 2) + Math.sqrt((x - 1) / 2));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/adjust_lat.js
CHANGED
package/lib/common/adjust_lon.js
CHANGED
package/lib/common/asinh.js
CHANGED
package/lib/common/asinhy.js
CHANGED
package/lib/common/asinz.js
CHANGED
package/lib/common/atanh.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return Math.log((x - 1) / (x + 1)) / 2;
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/clens.js
CHANGED
package/lib/common/cosh.js
CHANGED
package/lib/common/e0fn.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/e1fn.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/e2fn.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return (0.05859375 * x * x * (1 + 0.75 * x));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/e3fn.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
1
|
+
export default function (x) {
|
|
2
2
|
return (x * x * x * (35 / 3072));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/fL.js
CHANGED
package/lib/common/gN.js
CHANGED
package/lib/common/gatg.js
CHANGED
package/lib/common/hypot.js
CHANGED
package/lib/common/imlfn.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default function(ml, e0, e1, e2, e3) {
|
|
1
|
+
export default function (ml, e0, e1, e2, e3) {
|
|
2
2
|
var phi;
|
|
3
3
|
var dphi;
|
|
4
4
|
|
|
@@ -11,6 +11,6 @@ export default function(ml, e0, e1, e2, e3) {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
// ..reportError("IMLFN-CONV:Latitude failed to converge after 15 iterations");
|
|
15
15
|
return NaN;
|
|
16
|
-
}
|
|
16
|
+
}
|
package/lib/common/invlatiso.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fL from './fL';
|
|
2
2
|
|
|
3
|
-
export default function(eccent, ts) {
|
|
3
|
+
export default function (eccent, ts) {
|
|
4
4
|
var phi = fL(1, ts);
|
|
5
5
|
var Iphi = 0;
|
|
6
6
|
var con = 0;
|
|
@@ -10,4 +10,4 @@ export default function(eccent, ts) {
|
|
|
10
10
|
phi = fL(Math.exp(eccent * Math.log((1 + con) / (1 - con)) / 2), ts);
|
|
11
11
|
} while (Math.abs(phi - Iphi) > 1.0e-12);
|
|
12
12
|
return phi;
|
|
13
|
-
}
|
|
13
|
+
}
|
package/lib/common/iqsfnz.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {HALF_PI} from '../constants/values';
|
|
1
|
+
import { HALF_PI } from '../constants/values';
|
|
2
2
|
|
|
3
|
-
export default function(eccent, q) {
|
|
3
|
+
export default function (eccent, q) {
|
|
4
4
|
var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));
|
|
5
5
|
if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {
|
|
6
6
|
if (q < 0) {
|
|
7
7
|
return (-1 * HALF_PI);
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
8
|
+
} else {
|
|
10
9
|
return HALF_PI;
|
|
11
10
|
}
|
|
12
11
|
}
|
|
13
|
-
//var phi = 0.5* q/(1-eccent*eccent);
|
|
12
|
+
// var phi = 0.5* q/(1-eccent*eccent);
|
|
14
13
|
var phi = Math.asin(0.5 * q);
|
|
15
14
|
var dphi;
|
|
16
15
|
var sin_phi;
|
|
@@ -27,6 +26,6 @@ export default function(eccent, q) {
|
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
//console.log("IQSFN-CONV:Latitude failed to converge after 30 iterations");
|
|
29
|
+
// console.log("IQSFN-CONV:Latitude failed to converge after 30 iterations");
|
|
31
30
|
return NaN;
|
|
32
31
|
}
|
package/lib/common/latiso.js
CHANGED
package/lib/common/log1py.js
CHANGED
package/lib/common/mlfn.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(e0, e1, e2, e3, phi) {
|
|
1
|
+
export default function (e0, e1, e2, e3, phi) {
|
|
2
2
|
return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/msfnz.js
CHANGED
package/lib/common/phi2z.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {HALF_PI} from '../constants/values';
|
|
1
|
+
import { HALF_PI } from '../constants/values';
|
|
2
2
|
|
|
3
|
-
export default function(eccent, ts) {
|
|
3
|
+
export default function (eccent, ts) {
|
|
4
4
|
var eccnth = 0.5 * eccent;
|
|
5
5
|
var con, dphi;
|
|
6
6
|
var phi = HALF_PI - 2 * Math.atan(ts);
|
|
@@ -12,6 +12,6 @@ export default function(eccent, ts) {
|
|
|
12
12
|
return phi;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//console.log("phi2z has NoConvergence");
|
|
15
|
+
// console.log("phi2z has NoConvergence");
|
|
16
16
|
return -9999;
|
|
17
17
|
}
|
package/lib/common/pj_enfn.js
CHANGED
|
@@ -11,7 +11,7 @@ var C66 = 0.36458333333333333333;
|
|
|
11
11
|
var C68 = 0.00569661458333333333;
|
|
12
12
|
var C88 = 0.3076171875;
|
|
13
13
|
|
|
14
|
-
export default function(es) {
|
|
14
|
+
export default function (es) {
|
|
15
15
|
var en = [];
|
|
16
16
|
en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));
|
|
17
17
|
en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));
|
|
@@ -21,4 +21,4 @@ export default function(es) {
|
|
|
21
21
|
en[3] = t * (C66 - es * C68);
|
|
22
22
|
en[4] = t * es * C88;
|
|
23
23
|
return en;
|
|
24
|
-
}
|
|
24
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import pj_mlfn from
|
|
2
|
-
import {EPSLN} from '../constants/values';
|
|
1
|
+
import pj_mlfn from './pj_mlfn';
|
|
2
|
+
import { EPSLN } from '../constants/values';
|
|
3
3
|
|
|
4
4
|
var MAX_ITER = 20;
|
|
5
5
|
|
|
6
|
-
export default function(arg, es, en) {
|
|
6
|
+
export default function (arg, es, en) {
|
|
7
7
|
var k = 1 / (1 - es);
|
|
8
8
|
var phi = arg;
|
|
9
9
|
for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */
|
|
10
10
|
var s = Math.sin(phi);
|
|
11
11
|
var t = 1 - es * s * s;
|
|
12
|
-
//t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;
|
|
13
|
-
//phi -= t * (t * Math.sqrt(t)) * k;
|
|
12
|
+
// t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;
|
|
13
|
+
// phi -= t * (t * Math.sqrt(t)) * k;
|
|
14
14
|
t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;
|
|
15
15
|
phi -= t;
|
|
16
16
|
if (Math.abs(t) < EPSLN) {
|
|
17
17
|
return phi;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
// ..reportError("cass:pj_inv_mlfn: Convergence error");
|
|
21
21
|
return phi;
|
|
22
22
|
}
|
package/lib/common/pj_mlfn.js
CHANGED
package/lib/common/qsfnz.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
export default function(eccent, sinphi) {
|
|
1
|
+
export default function (eccent, sinphi) {
|
|
2
2
|
var con;
|
|
3
3
|
if (eccent > 1.0e-7) {
|
|
4
4
|
con = eccent * sinphi;
|
|
5
5
|
return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));
|
|
6
|
-
}
|
|
7
|
-
else {
|
|
6
|
+
} else {
|
|
8
7
|
return (2 * sinphi);
|
|
9
8
|
}
|
|
10
|
-
}
|
|
9
|
+
}
|
package/lib/common/sign.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(x) {
|
|
2
|
-
return x<0 ? -1 : 1;
|
|
3
|
-
}
|
|
1
|
+
export default function (x) {
|
|
2
|
+
return x < 0 ? -1 : 1;
|
|
3
|
+
}
|
package/lib/common/sinh.js
CHANGED
package/lib/common/srat.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default function(esinp, exp) {
|
|
1
|
+
export default function (esinp, exp) {
|
|
2
2
|
return (Math.pow((1 - esinp) / (1 + esinp), exp));
|
|
3
|
-
}
|
|
3
|
+
}
|
package/lib/common/tanh.js
CHANGED
package/lib/common/toPoint.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export default function (array){
|
|
1
|
+
export default function (array) {
|
|
2
2
|
var out = {
|
|
3
3
|
x: array[0],
|
|
4
4
|
y: array[1]
|
|
5
5
|
};
|
|
6
|
-
if (array.length>2) {
|
|
6
|
+
if (array.length > 2) {
|
|
7
7
|
out.z = array[2];
|
|
8
8
|
}
|
|
9
|
-
if (array.length>3) {
|
|
9
|
+
if (array.length > 3) {
|
|
10
10
|
out.m = array[3];
|
|
11
11
|
}
|
|
12
12
|
return out;
|
|
13
|
-
}
|
|
13
|
+
}
|
package/lib/common/tsfnz.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {HALF_PI} from '../constants/values';
|
|
1
|
+
import { HALF_PI } from '../constants/values';
|
|
2
2
|
|
|
3
|
-
export default function(eccent, phi, sinphi) {
|
|
3
|
+
export default function (eccent, phi, sinphi) {
|
|
4
4
|
var con = eccent * sinphi;
|
|
5
5
|
var com = 0.5 * eccent;
|
|
6
6
|
con = Math.pow(((1 - con) / (1 + con)), com);
|