Skip to content

Commit c98dc8f

Browse files
committed
fix 漏提交
1 parent ef887f7 commit c98dc8f

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

src/common/iServer/ClipParameter.js

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
import SuperMap from '../SuperMap';
2+
3+
/**
4+
* @class SuperMap.ClipParameter
5+
* @classdesc 用于裁剪的参数。
6+
* @description 优先使用用户指定的裁剪区域多边形进行裁剪,也可以通过指定数据源和数据集名,从而使用指定数据集的边界多边形进行裁剪。
7+
* @param options - {Object} 参数。<br>
8+
* clipDatasetName - {String} 裁剪的数据集名。<br>
9+
* clipDatasourceName - {String} 裁剪的数据集所在数据源的名字。<br>
10+
* clipRegion - {Object} 用户指定的裁剪区域。面对象可以是SuperMap.Geometry.Polygon|L.Polygon|L.GeoJSON|ol.geom.Polygon|ol.format.GeoJSON。</br>
11+
* isClipInRegion - {Boolean} 是否对裁剪区内的数据集进行裁剪。<br>
12+
* isExactClip - {Boolean} 是否使用精确裁剪。
13+
*/
14+
export default class ClipParameter {
15+
16+
/**
17+
* @member SuperMap.ClipParameter.prototype.clipDatasetName -{string}
18+
* @description 用于裁剪的数据集名,当clipRegion不设置时起作用。
19+
*/
20+
clipDatasetName = null;
21+
22+
/**
23+
* @member SuperMap.ClipParameter.prototype.clipDatasourceName -{string}
24+
* @description 用于裁剪的数据集所在数据源的名字。
25+
*/
26+
clipDatasourceName = null;
27+
28+
/**
29+
* @member SuperMap.ClipParameter.prototype.clipRegion -{Object}
30+
* @description 用户指定的裁剪区域,优先使用。<br>
31+
* 面对象可以是SuperMap.Geometry.Polygon|L.Polygon|L.GeoJSON|ol.geom.Polygon|ol.format.GeoJSON。
32+
*/
33+
clipRegion = null;
34+
35+
/**
36+
* @member SuperMap.ClipParameter.prototype.isClipInRegion -{boolean}
37+
* @description 是否对裁剪区内的数据集进行裁剪。
38+
*/
39+
isClipInRegion = false;
40+
41+
/**
42+
* @member SuperMap.ClipParameter.prototype.isExactClip -{boolean}
43+
* @description 是否使用精确裁剪。
44+
*/
45+
isExactClip = null;
46+
47+
constructor(options) {
48+
if (options) {
49+
SuperMap.Util.extend(this, options);
50+
}
51+
}
52+
53+
54+
/**
55+
* @function SuperMap.ClipParameter.prototype.destroy
56+
* @description 释放资源,将引用资源的属性置空。
57+
*/
58+
destroy() {
59+
var me = this;
60+
me.clipDatasetName = null;
61+
me.clipDatasourceName = null;
62+
me.clipRegion = null;
63+
me.isClipInRegion = null;
64+
me.isExactClip = null;
65+
}
66+
67+
68+
/**
69+
* @function SuperMap.ClipParameter.prototype.toJSON
70+
* @description 将 ClipParameter 对象转化为json字符串。
71+
* @return {string} 返回转换后的 JSON 字符串。
72+
*/
73+
toJSON() {
74+
if (this.isClipInRegion == false)
75+
return null;
76+
var strClipParameter = "";
77+
var me = this;
78+
79+
strClipParameter += "'isClipInRegion':" + SuperMap.Util.toJSON(me.isClipInRegion);
80+
81+
if (me.clipDatasetName != null)
82+
strClipParameter += "," + "'clipDatasetName':" + SuperMap.Util.toJSON(me.clipDatasetName);
83+
84+
if (me.clipDatasourceName != null)
85+
strClipParameter += "," + "'clipDatasourceName':" + SuperMap.Util.toJSON(me.clipDatasourceName);
86+
87+
if (me.isExactClip != null)
88+
strClipParameter += "," + "'isExactClip':" + SuperMap.Util.toJSON(me.isExactClip);
89+
90+
if (me.clipRegion != null) {
91+
var serverGeometry = SuperMap.REST.ServerGeometry.fromGeometry(me.clipRegion);
92+
if (serverGeometry) {
93+
var pointsCount = serverGeometry.parts[0];
94+
var point2ds = serverGeometry.points.splice(0, pointsCount);
95+
strClipParameter += "," + "'clipRegion':" + "{\"point2Ds\":";
96+
strClipParameter += SuperMap.Util.toJSON(point2ds);
97+
strClipParameter += "}";
98+
}
99+
}
100+
return "{" + strClipParameter + "}";
101+
}
102+
103+
104+
CLASS_NAME = "SuperMap.ClipParameter"
105+
}
106+
SuperMap.ClipParameter = ClipParameter;

0 commit comments

Comments
 (0)