forked from naturalatlas/node-gdal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
api_coordinatetransformation.test.js
32 lines (26 loc) · 1.12 KB
/
api_coordinatetransformation.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var gdal = require('../lib/gdal.js');
var assert = require('chai').assert;
describe('gdal.CoordinateTransformation', function() {
afterEach(gc);
it('should be exposed', function() {
assert.ok(gdal.CoordinateTransformation);
});
it('should handle Proj.4', function() {
var srs0 = gdal.SpatialReference.fromProj4('+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs');
var srs1 = gdal.SpatialReference.fromEPSG(4326);
var pt = new gdal.Point(1, 2);
var ct = new gdal.CoordinateTransformation(srs0, srs1);
pt.transform(ct);
assert.closeTo(pt.x, -116.98546236548084, 0.00001);
assert.closeTo(pt.y, 43.99194884775841, 0.00001);
});
it('should handle Proj.4 (EPSG)', function() {
var srs0 = gdal.SpatialReference.fromProj4('+init=epsg:4326');
var srs1 = gdal.SpatialReference.fromProj4('+init=epsg:32632');
var pt = new gdal.Point(20, 30);
var ct = new gdal.CoordinateTransformation(srs0, srs1);
pt.transform(ct);
assert.closeTo(pt.x, 1564201.4044502454, 0.000001);
assert.closeTo(pt.y, 3370263.469590679, 0.000001);
});
});