Skip to content

Commit b43f405

Browse files
补充UT
1 parent bdc72ba commit b43f405

File tree

6 files changed

+299
-0
lines changed

6 files changed

+299
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import {spatialAnalystService} from '../../../src/leaflet/services/SpatialAnalystService';
2+
import {GeometryBufferAnalystParameters} from '../../../src/common/iServer/GeometryBufferAnalystParameters';
3+
import {GeometryOverlayAnalystParameters} from '../../../src/common/iServer/GeometryOverlayAnalystParameters';
4+
import {BufferSetting} from '../../../src/common/iServer/BufferSetting';
5+
import {BufferDistance} from '../../../src/common/iServer/BufferDistance';
6+
import {BufferEndType} from '../../../src/common/REST';
7+
import {OverlayOperationType} from '../../../src/common/REST';
8+
9+
var serviceUrl = GlobeParameter.spatialAnalystURL;
10+
describe('leaflet_SpatialAnalystService_geometryBatchAnalysis', () => {
11+
var originalTimeout;
12+
var serviceResult;
13+
beforeEach(() => {
14+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
15+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
16+
serviceResult = null;
17+
});
18+
afterEach(() => {
19+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
20+
});
21+
22+
//空间关系分析
23+
it('geometryBatchAnalysis', (done) => {
24+
//缓冲区分析参数
25+
var bufferLine = {
26+
"type": "Feature",
27+
"geometry": {
28+
"type": "LineString",
29+
"coordinates": [[117, 40.50], [118, 40]]
30+
}
31+
};
32+
var geoBufferAnalystParams = {
33+
analystName: "buffer",
34+
param: new GeometryBufferAnalystParameters({
35+
sourceGeometry: bufferLine,
36+
sourceGeometrySRID: 4326,
37+
bufferSetting: new BufferSetting({
38+
endType: BufferEndType.ROUND,
39+
leftDistance: new BufferDistance({value: 0.05}),
40+
rightDistance: new BufferDistance({value: 0.05}),
41+
semicircleLineSegment: 10
42+
})
43+
})
44+
};
45+
46+
//叠加分析参数
47+
var sourceGeometry = {
48+
"type": "Feature",
49+
"geometry": {
50+
"type": "Polygon",
51+
"coordinates": [[[116, 39.75],
52+
[116, 39.15],
53+
[117, 39.15],
54+
[117, 39.85],
55+
[116, 39.85]]]
56+
}
57+
};
58+
var operateGeometry = {
59+
"type": "Feature",
60+
"geometry": {
61+
"type": "Polygon",
62+
"coordinates": [[[116.25, 40.5],
63+
[116.25, 38.5],
64+
[116.75, 38.5],
65+
[116.75, 40.5],
66+
[116.25, 40.5]]]
67+
}
68+
};
69+
var OverlayBatchAnalystParameters = {
70+
analystName: "overlay",
71+
param: new GeometryOverlayAnalystParameters({
72+
sourceGeometry: sourceGeometry,
73+
operateGeometry: operateGeometry,
74+
operation: OverlayOperationType.CLIP
75+
})
76+
};
77+
78+
//批量分析参数
79+
var paramter = [geoBufferAnalystParams, OverlayBatchAnalystParameters];
80+
//批量分析
81+
spatialAnalystService(serviceUrl).geometrybatchAnalysis(paramter, (result) => {
82+
serviceResult = result;
83+
});
84+
setTimeout(() => {
85+
expect(serviceResult).not.toBeNull();
86+
expect(serviceResult.type).toBe("processCompleted");
87+
expect(serviceResult.result.succeed).toEqual(true);
88+
expect(serviceResult.result.length).toEqual(2);
89+
for (var i = 0; i < serviceResult.result.length; i++) {
90+
expect(serviceResult.result[i].resultGeometry).not.toBeNull();
91+
expect(serviceResult.result[i].resultGeometry.geometry).not.toBeNull();
92+
expect(serviceResult.result[i].resultGeometry.geometry.coordinates.length).toBeGreaterThan(0);
93+
expect(serviceResult.result[i].resultGeometry.geometry.type).toBe("MultiPolygon");
94+
expect(serviceResult.result[i].resultGeometry.type).toBe("Feature");
95+
expect(serviceResult.result[i].succeed).toBe(true);
96+
}
97+
done();
98+
}, 3000)
99+
});
100+
});
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import {SpatialAnalystService} from '../../../src/mapboxgl/services/SpatialAnalystService';
2+
import {GeometryBufferAnalystParameters} from '../../../src/common/iServer/GeometryBufferAnalystParameters';
3+
import {GeometryOverlayAnalystParameters} from '../../../src/common/iServer/GeometryOverlayAnalystParameters';
4+
import {BufferSetting} from '../../../src/common/iServer/BufferSetting';
5+
import {BufferDistance} from '../../../src/common/iServer/BufferDistance';
6+
import {BufferEndType} from '../../../src/common/REST';
7+
import {OverlayOperationType} from '../../../src/common/REST';
8+
9+
var serviceUrl = GlobeParameter.spatialAnalystURL;
10+
describe('mapboxgl_SpatialAnalystService_geometryBatchAnalysis', () => {
11+
var originalTimeout;
12+
var serviceResult;
13+
beforeEach(() => {
14+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
15+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
16+
serviceResult = null;
17+
});
18+
afterEach(() => {
19+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
20+
});
21+
22+
it('geometryBatchAnalysis', (done) => {
23+
//缓冲区分析参数
24+
var bufferLine = {
25+
"type": "Feature",
26+
"geometry": {
27+
"type": "LineString",
28+
"coordinates": [[117, 40.50], [118, 40]]
29+
}
30+
};
31+
var geoBufferAnalystParams = {
32+
analystName: "buffer",
33+
param: new GeometryBufferAnalystParameters({
34+
sourceGeometry: bufferLine,
35+
sourceGeometrySRID: 4326,
36+
bufferSetting: new BufferSetting({
37+
endType: BufferEndType.ROUND,
38+
leftDistance: new BufferDistance({value: 0.05}),
39+
rightDistance: new BufferDistance({value: 0.05}),
40+
semicircleLineSegment: 10
41+
})
42+
43+
})
44+
};
45+
//叠加分析参数
46+
var sourceGeometry = {
47+
"type": "Feature",
48+
"geometry": {
49+
"type": "Polygon",
50+
"coordinates": [[[116, 39.75],
51+
[116, 39.15],
52+
[117, 39.15],
53+
[117, 39.85],
54+
[116, 39.85]]]
55+
}
56+
};
57+
var operateGeometry = {
58+
"type": "Feature",
59+
"geometry": {
60+
"type": "Polygon",
61+
"coordinates": [[[116.25, 40.5],
62+
[116.25, 38.5],
63+
[116.75, 38.5],
64+
[116.75, 40.5],
65+
[116.25, 40.5]]]
66+
}
67+
};
68+
var OverlayBatchAnalystParameters = {
69+
analystName: "overlay",
70+
param: new GeometryOverlayAnalystParameters({
71+
sourceGeometry: sourceGeometry,
72+
operateGeometry: operateGeometry,
73+
operation: OverlayOperationType.CLIP
74+
})
75+
};
76+
//批量分析参数
77+
var parameters = [geoBufferAnalystParams, OverlayBatchAnalystParameters];
78+
//批量分析
79+
new SpatialAnalystService(serviceUrl).geometrybatchAnalysis(parameters, function (result) {
80+
serviceResult = result;
81+
});
82+
setTimeout(() => {
83+
expect(serviceResult).not.toBeNull();
84+
expect(serviceResult.type).toBe("processCompleted");
85+
expect(serviceResult.result.succeed).toEqual(true);
86+
expect(serviceResult.result.length).toEqual(2);
87+
for (var i = 0; i < serviceResult.result.length; i++) {
88+
expect(serviceResult.result[i].resultGeometry).not.toBeNull();
89+
expect(serviceResult.result[i].resultGeometry.geometry).not.toBeNull();
90+
expect(serviceResult.result[i].resultGeometry.geometry.coordinates.length).toBeGreaterThan(0);
91+
expect(serviceResult.result[i].resultGeometry.geometry.type).toBe("MultiPolygon");
92+
expect(serviceResult.result[i].resultGeometry.type).toBe("Feature");
93+
expect(serviceResult.result[i].succeed).toBe(true);
94+
}
95+
done();
96+
}, 3000)
97+
});
98+
});
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import {SpatialAnalystService} from '../../../src/openlayers/services/SpatialAnalystService';
2+
import {GeometryBufferAnalystParameters} from '../../../src/common/iServer/GeometryBufferAnalystParameters';
3+
import {GeometryOverlayAnalystParameters} from '../../../src/common/iServer/GeometryOverlayAnalystParameters';
4+
import {BufferSetting} from '../../../src/common/iServer/BufferSetting';
5+
import {BufferDistance} from '../../../src/common/iServer/BufferDistance';
6+
import {BufferEndType} from '../../../src/common/REST';
7+
import {OverlayOperationType} from '../../../src/common/REST';
8+
9+
var serviceUrl = GlobeParameter.spatialAnalystURL;
10+
describe('openlayers_SpatialAnalystService_geometryBatchAnalysis', () => {
11+
var originalTimeout;
12+
var serviceResult;
13+
beforeEach(() => {
14+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
15+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
16+
serviceResult = null;
17+
});
18+
afterEach(() => {
19+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
20+
});
21+
22+
it('geometryBatchAnalysis', (done) => {
23+
//缓冲区分析参数
24+
var bufferLine = {
25+
"type": "Feature",
26+
"geometry": {
27+
"type": "LineString",
28+
"coordinates": [[117, 40.50], [118, 40]]
29+
}
30+
};
31+
var geoBufferAnalystParams = {
32+
analystName: "buffer",
33+
param: new GeometryBufferAnalystParameters({
34+
sourceGeometry: bufferLine,
35+
sourceGeometrySRID: 4326,
36+
bufferSetting: new BufferSetting({
37+
endType: BufferEndType.ROUND,
38+
leftDistance: new BufferDistance({value: 0.05}),
39+
rightDistance: new BufferDistance({value: 0.05}),
40+
semicircleLineSegment: 10
41+
})
42+
43+
})
44+
};
45+
//叠加分析参数
46+
var sourceGeometry = {
47+
"type": "Feature",
48+
"geometry": {
49+
"type": "Polygon",
50+
"coordinates": [[[116, 39.75],
51+
[116, 39.15],
52+
[117, 39.15],
53+
[117, 39.85],
54+
[116, 39.85]]]
55+
}
56+
};
57+
var operateGeometry = {
58+
"type": "Feature",
59+
"geometry": {
60+
"type": "Polygon",
61+
"coordinates": [[[116.25, 40.5],
62+
[116.25, 38.5],
63+
[116.75, 38.5],
64+
[116.75, 40.5],
65+
[116.25, 40.5]]]
66+
}
67+
};
68+
var OverlayBatchAnalystParameters = {
69+
analystName: "overlay",
70+
param: new GeometryOverlayAnalystParameters({
71+
sourceGeometry: sourceGeometry,
72+
operateGeometry: operateGeometry,
73+
operation: OverlayOperationType.CLIP
74+
})
75+
};
76+
//批量分析参数
77+
var parameters = [geoBufferAnalystParams, OverlayBatchAnalystParameters];
78+
//批量分析
79+
new SpatialAnalystService(serviceUrl).geometrybatchAnalysis(parameters, function (result) {
80+
serviceResult = result;
81+
});
82+
setTimeout(() => {
83+
expect(serviceResult).not.toBeNull();
84+
expect(serviceResult.type).toBe("processCompleted");
85+
expect(serviceResult.result.succeed).toEqual(true);
86+
expect(serviceResult.result.length).toEqual(2);
87+
for (var i = 0; i < serviceResult.result.length; i++) {
88+
expect(serviceResult.result[i].resultGeometry).not.toBeNull();
89+
expect(serviceResult.result[i].resultGeometry.geometry).not.toBeNull();
90+
expect(serviceResult.result[i].resultGeometry.geometry.coordinates.length).toBeGreaterThan(0);
91+
expect(serviceResult.result[i].resultGeometry.geometry.type).toBe("MultiPolygon");
92+
expect(serviceResult.result[i].resultGeometry.type).toBe("Feature");
93+
expect(serviceResult.result[i].succeed).toBe(true);
94+
}
95+
done();
96+
}, 3000)
97+
});
98+
});

test/test-main-leaflet.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import './leaflet/services/EditFeaturesRegionSpec.js';
3636
import './leaflet/services/FieldServiceSpec.js';
3737
import './leaflet/services/GenerateSpatialDataSpec.js';
3838
import './leaflet/services/GeoRelationAnalysisSpec.js';
39+
import './leaflet/services/GeometryBatchAnalysisSpec.js';
3940
import './leaflet/services/GetFeaturesByBoundsSpec.js';
4041
import './leaflet/services/GetFeaturesByBufferSpec.js';
4142
import './leaflet/services/GetFeaturesByGeometrySpec.js';

test/test-main-mapboxgl.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import './mapboxgl/services/EditFeaturesSpec.js';
2121
import './mapboxgl/services/FieldServiceSpec.js';
2222
import './mapboxgl/services/GenerateSpatialDataSpec.js';
2323
import './mapboxgl/services/GeoRelationAnalysisSpec.js';
24+
import './mapboxgl/services/GeometryBatchAnalysisSpec.js';
2425
import './mapboxgl/services/GetFeaturesByBoundsSpec.js';
2526
import './mapboxgl/services/GetFeaturesByBufferSpec.js';
2627
import './mapboxgl/services/GetFeaturesByGeometrySpec.js';

test/test-main-openlayers.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import './openlayers/services/EditFeaturesSpec.js';
3131
import './openlayers/services/FieldServiceSpec.js';
3232
import './openlayers/services/GenerateSpatialDataSpec.js';
3333
import './openlayers/services/GeoRelationAnalysisSpec.js';
34+
import './openlayers/services/GeometryBatchAnalysisSpec.js';
3435
import './openlayers/services/GetFeaturesByBoundsSpec.js';
3536
import './openlayers/services/GetFeaturesByBufferSpec.js';
3637
import './openlayers/services/GetFeaturesByGeometrySpec.js';

0 commit comments

Comments
 (0)