import {Zondy} from '../../common/Base';
import {OverlayBase} from "./OverlayBase";
/**
* 多边形叠加
* @class module:分析服务.OverlayByPolygon
* @classdesc 多边形叠加
* @description Zondy.Service.OverlayByPolygon
* @extends Zondy.Service.OverlayBase
* @param {Object} option 属性键值对
* @param {String} [option.strGRegionXML = null] 多边形坐标序列化对象
* @param {String} [option.inFormat = null] 多边形字符串输入格式
* @example
//缓存结果图层的基地址
var resultBaseUrl = "gdbp://MapGisLocal/OpenLayerVecterMap/sfcls/";
//显示结果的图层名称
var resultname = resultBaseUrl + "overLayByPolyAnalysisResultLayer" + self.getCurentTime();
//设置叠加空间几何信息
var geoRegion = new Zondy.Object.GRegion([
new Zondy.Object.AnyLine([new Zondy.Object.Arc([
new Zondy.Object.Point2D(114, 30),
new Zondy.Object.Point2D(25, 49),
new Zondy.Object.Point2D(53, 17),
new Zondy.Object.Point2D(44, 30.36),
new Zondy.Object.Point2D(114, 30)
], 0)])
], 0);
//实例化OverlayByPolygon类
var overlayParam = new Zondy.Service.OverlayByPolygon({
//IGServer所在ip地址
ip: "develop.smaryun.com",
//IGServer请求端口号
port: "6163",
//设置被叠加图层URL
srcInfo1: "gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/世界政区",
//设置结果URL
desInfo: resultname,
//设置多边形坐标序列化对象
strGRegionXML: JSON.stringify(geoRegion),
//多边形字符串输入格式
inFormat: "json",
//设置结果图层的图形参数信息
infoOptType: 2,
//求交
overType: 1,
//允许重算面积
isReCalculate: true,
//容差半径
radius: 0.05
});
overlayParam.execute(function (res) {
console.log(res);
}, "post",function (error) {
console.log(error);
});
*/
class OverlayByPolygon extends OverlayBase {
constructor(option) {
var options = option || {};
super(options);
/**
* @private
* @member Zondy.Service.OverlayByPolygon.prototype.strGRegionXML
* @type {String}
* @description 多边形坐标序列化对象
* @default null
*/
this.strGRegionXML = options.strGRegionXML !== undefined ? options.strGRegionXML : null;
/**
* @private
* @member Zondy.Service.OverlayByPolygon.prototype.inFormat
* @type {String}
* @description 多边形字符串输入格式
* @default "json"
*/
this.inFormat = options.inFormat !== undefined ? options.inFormat : "json";
/**
* @private
* @member Zondy.Service.OverlayByPolygon.prototype.flowID
* @type {String}
* @description 工作流ID
* @default "600237"
*/
this.flowID = "600237";
}
}
export {OverlayByPolygon};
Zondy.Service.OverlayByPolygon = OverlayByPolygon;