11require ( '../../../src/openlayers/services/SpatialAnalystService' ) ;
2+ var request = require ( 'request' ) ;
23
3- var originalTimeout , serviceResults ;
4+ var originalTimeout , serviceResult ;
45var changchunServiceUrl = GlobeParameter . spatialAnalystURL_Changchun ;
6+
57describe ( 'openlayers_SpatialAnalystService_bufferAnalysis' , function ( ) {
68 beforeEach ( function ( ) {
79 originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
810 jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
9- serviceResults = null ;
11+ serviceResult = null ;
1012 } ) ;
1113 afterEach ( function ( ) {
1214 jasmine . DEFAULT_TIMEOUT_INTERVAL = originalTimeout ;
1315 } ) ;
1416
17+ var resultDataset = "BufferAnalystByDatasets_olTest" ;
1518 //缓冲区分析
16- it ( 'bufferAnalysis_dataset ' , function ( done ) {
19+ it ( 'bufferAnalysis_byDataset_DATASET_ONLY ' , function ( done ) {
1720 var dsBufferAnalystParameters = new SuperMap . DatasetBufferAnalystParameters ( {
1821 dataset : "RoadLine2@Changchun" ,
1922 filterQueryParameter : new SuperMap . FilterParameter ( {
@@ -24,17 +27,132 @@ describe('openlayers_SpatialAnalystService_bufferAnalysis', function () {
2427 leftDistance : { value : 10 } ,
2528 rightDistance : { value : 10 } ,
2629 semicircleLineSegment : 10
30+ } ) ,
31+ resultSetting : new SuperMap . DataReturnOption ( {
32+ expectCount : 2000 ,
33+ dataset : resultDataset ,
34+ dataReturnMode : SuperMap . DataReturnMode . DATASET_ONLY ,
35+ deleteExistResultDataset : true
2736 } )
2837 } ) ;
2938 var spatialAnalystService = new ol . supermap . SpatialAnalystService ( changchunServiceUrl ) ;
30- spatialAnalystService . bufferAnalysis ( dsBufferAnalystParameters , function ( serviceResult ) {
31- serviceResults = serviceResult ;
39+ spatialAnalystService . bufferAnalysis ( dsBufferAnalystParameters , function ( result ) {
40+ serviceResult = result ;
3241 } ) ;
3342 setTimeout ( function ( ) {
34- expect ( serviceResults ) . not . toBeNull ( ) ;
35- expect ( serviceResults . type ) . toBe ( 'processCompleted' ) ;
36- expect ( serviceResults . result . recordset . features ) . not . toBeNull ( ) ;
43+ expect ( serviceResult ) . not . toBeNull ( ) ;
44+ expect ( serviceResult . type ) . toBe ( 'processCompleted' ) ;
45+ expect ( serviceResult . result . succeed ) . toBeTruthy ( ) ;
46+ expect ( serviceResult . result . dataset ) . toEqual ( resultDataset + "@Changchun" ) ;
3747 done ( ) ;
3848 } , 8000 ) ;
3949 } ) ;
50+
51+ //缓冲区分析
52+ it ( 'bufferAnalysis_byDataset_RECORDSET_ONLY' , function ( done ) {
53+ var dsBufferAnalystParameters = new SuperMap . DatasetBufferAnalystParameters ( {
54+ dataset : "RoadLine2@Changchun" ,
55+ filterQueryParameter : new SuperMap . FilterParameter ( {
56+ attributeFilter : "NAME='团结路'"
57+ } ) ,
58+ bufferSetting : new SuperMap . BufferSetting ( {
59+ endType : SuperMap . BufferEndType . ROUND ,
60+ leftDistance : { value : 10 } ,
61+ rightDistance : { value : 10 } ,
62+ semicircleLineSegment : 10
63+ } )
64+ } ) ;
65+ var spatialAnalystService = new ol . supermap . SpatialAnalystService ( changchunServiceUrl ) ;
66+ spatialAnalystService . bufferAnalysis ( dsBufferAnalystParameters , function ( result ) {
67+ serviceResult = result ;
68+ } ) ;
69+ setTimeout ( function ( ) {
70+ expect ( serviceResult ) . not . toBeNull ( ) ;
71+ expect ( serviceResult . type ) . toBe ( 'processCompleted' ) ;
72+ expect ( serviceResult . result . recordset . features ) . not . toBeNull ( ) ;
73+ done ( ) ;
74+ } , 8000 ) ;
75+ } ) ;
76+
77+ it ( 'bufferAnalysis_byGeometry' , function ( done ) {
78+ var pointsList = [
79+ [ 2823.940 , - 4690.000 ] ,
80+ [ 3448.940 , - 4690.301 ] ,
81+ [ 3816.561 , - 3810.125 ] ,
82+ [ 3917.383 , - 3609.158 ] ,
83+ [ 3976.983 , - 3490.291 ] ,
84+ [ 4020.004 , - 4377.027 ] ,
85+ [ 4076.265 , - 4382.939 ] ,
86+ [ 4215.049 , - 4382.333 ] ,
87+ [ 4428.156 , - 4382.285 ] ,
88+ [ 4647.579 , - 4383.017 ] ,
89+ [ 4679.707 , - 4382.898 ] ,
90+ [ 4917.462 , - 4382.635 ] ,
91+ [ 5074.019 , - 4381.833 ] ,
92+ [ 5257.042 , - 4381.031 ] ,
93+ [ 5363.785 , - 4380.717 ] ,
94+ [ 5671.717 , - 4378.794 ] ,
95+ [ 5847.521 , - 4377.970 ] ,
96+ [ 5990.637 , - 4303.528 ] ,
97+ [ 6055.343 , - 4270.072 ] ,
98+ [ 6168.913 , - 4382.389 ] ,
99+ [ 6214.183 , - 4209.927 ] ,
100+ [ 6377.789 , - 4209.142 ] ,
101+ [ 6393.692 , - 4210.142 ] ,
102+ [ 6693.989 , - 4207.450 ] ,
103+ [ 6788.392 , - 4208.450 ] ,
104+ [ 6984.304 , - 4207.210 ] ,
105+ [ 7189.183 , - 4208.296 ] ,
106+ [ 7300.505 , - 4208.296 ] ,
107+ [ 7573.056 , - 4208.803 ] ,
108+ [ 7680.977 , - 4208.804 ] ,
109+ [ 7850.593 , - 4208.393 ] ,
110+ [ 8182.656 , - 4210.533 ] ,
111+ [ 8554.893 , - 4261.485 ]
112+ ] ;
113+ var roadLine = new ol . geom . LineString ( pointsList ) ;
114+ var geoBufferAnalystParams = new SuperMap . GeometryBufferAnalystParameters ( {
115+ sourceGeometry : roadLine ,
116+ bufferSetting : new SuperMap . BufferSetting ( {
117+ endType : SuperMap . BufferEndType . ROUND ,
118+ leftDistance : new SuperMap . BufferDistance ( { value : 250 } ) ,
119+ rightDistance : new SuperMap . BufferDistance ( { value : 250 } ) ,
120+ semicircleLineSegment : 10
121+ } )
122+ } ) ;
123+ var bufferAnalystService = new ol . supermap . SpatialAnalystService ( changchunServiceUrl ) ;
124+ bufferAnalystService . bufferAnalysis ( geoBufferAnalystParams , function ( result ) {
125+ serviceResult = result ;
126+ } ) ;
127+ setTimeout ( function ( ) {
128+ try {
129+ expect ( bufferAnalystService ) . not . toBeNull ( ) ;
130+ expect ( serviceResult ) . not . toBeNull ( ) ;
131+ expect ( serviceResult . type ) . toBe ( "processCompleted" ) ;
132+ expect ( serviceResult . result ) . not . toBeNull ( ) ;
133+ expect ( serviceResult . result . succeed ) . toBe ( true ) ;
134+ var resultGeometry = serviceResult . result . resultGeometry ;
135+ expect ( resultGeometry . type ) . toBe ( "Feature" ) ;
136+ expect ( resultGeometry . geometry ) . not . toBeNull ( ) ;
137+ expect ( resultGeometry . geometry . type ) . toEqual ( "MultiPolygon" ) ;
138+ var coordinates = resultGeometry . geometry . coordinates ;
139+ expect ( coordinates ) . not . toBeNull ( ) ;
140+ expect ( coordinates . length ) . toBeGreaterThan ( 0 ) ;
141+ for ( var i = 0 ; i < coordinates [ 0 ] [ 0 ] . length ; i ++ ) {
142+ expect ( coordinates [ 0 ] [ 0 ] [ i ] . length ) . toEqual ( 2 ) ;
143+ }
144+ done ( ) ;
145+ } catch ( exception ) {
146+ console . log ( "'bufferAnalysis_byGeometry'案例失败" + exception . name + ":" + exception . message ) ;
147+ expect ( false ) . toBeTruthy ( ) ;
148+ done ( ) ;
149+ }
150+ } , 8000 ) ;
151+ } ) ;
152+ // 删除测试过程中产生的测试数据集
153+ it ( 'delete test resources' , function ( done ) {
154+ var testResult = GlobeParameter . datachangchunURL + resultDataset ;
155+ request . delete ( testResult ) ;
156+ done ( ) ;
157+ } ) ;
40158} ) ;
0 commit comments