Skip to content

Commit b90773e

Browse files
authored
Merge pull request #353 from manthey/fix-axis-inversion
Revert a change that broke axis inversion.
2 parents 691f226 + fe437c2 commit b90773e

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

lib/adjust_axis.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,17 @@ export default function(crs, denorm, point) {
3131
}
3232
switch (crs.axis[i]) {
3333
case 'e':
34+
out[t] = v;
35+
break;
3436
case 'w':
37+
out[t] = -v;
38+
break;
3539
case 'n':
36-
case 's':
3740
out[t] = v;
3841
break;
42+
case 's':
43+
out[t] = -v;
44+
break;
3945
case 'u':
4046
if (point[t] !== undefined) {
4147
out.z = v;

test/test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,18 @@ function startTests(chai, proj4, testPoints) {
248248
assert.closeTo(rslt.y, 10.2, 0.000001);
249249
});
250250

251+
it('axes should be invertable', function () {
252+
var enu = '+proj=longlat +axis=enu';
253+
var esu = '+proj=longlat +axis=esu';
254+
var wnu = '+proj=longlat +axis=wnu';
255+
var result = proj4(enu, esu).forward({x: 40, y: 50});
256+
assert.closeTo(result.x, 40, 0.000001);
257+
assert.closeTo(result.y, -50, 0.000001);
258+
var result = proj4(enu, wnu).forward({x: 40, y: 50});
259+
assert.closeTo(result.x, -40, 0.000001);
260+
assert.closeTo(result.y, 50, 0.000001);
261+
});
262+
251263
describe('defs', function () {
252264
assert.equal(proj4.defs('testmerc'), proj4.defs['testmerc']);
253265
proj4.defs('foo', '+proj=merc +lon_0=5.937 +lat_ts=45.027 +ellps=sphere');

0 commit comments

Comments
 (0)