import WorkFlowServer from './WorkFlowServer'
/**
* 多边形裁剪(sfcls)
* @class WorkFlowServer600228
*
* @extends WorkFlowServer
* @param {Object} options 构造参数
* @param {String} [options.url] 工作流基地址,必传
* @param {String} [options.srcInfo] 源简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/overLayA
* @param {String} [options.desInfo] 结果简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/clipAPolygon123
* @param {Geometry} [options.geometry] 裁剪几何区域,必传,类型为Polygon
* @param {Number} [options.attOptType] 是否进行属性操作,1:是 0:否,必传,例如:{"activeValue":"1","inactiveValue":"0"}
* @param {Number} [options.infoOptType] 共有部分的图形参数操作,0:随机,1:使用第一个类的图形参数,2:使用第二个类的图形参数,必传,例如:{"0":"随机","1":"使用第一个类的图形参数","2":"使用第二个类的图形参数"}
* @param {Number} [options.overType] 图层裁剪类型,3:内裁,4:外裁,必传,例如:{"3":"内裁","4":"外裁"}
* @param {Number} [options.tolerance] 容差半径,必传,例如:0.001
* @example
const workFlowServer600228 = WorkFlowServer.createWorkFlow({
url: "http://localhost:8089/igs/rest/services/workflow/600228/WorkflowServer",
srcInfo: "gdbp://MapGISLocalPlus/test/sfcls/湖泊",
desInfo: "gdbp://MapGISLocalPlus/test/sfcls/湖泊_resultClip",
geometry: new Zondy.Geometry.Polygon({
coordinates: [
// 外圈
[
[110.163332674669, 30.160772389118],
[110.164745866986, 30.1613896455323],
[110.16593977084, 30.1598221391117],
[110.164599674677, 30.1587338185918],
[110.162866106432, 30.159380135435],
[110.163332674669, 30.160772389118],
],
],
}),
attOptType: 1,
infoOptType: 1,
overType: 3,
tolerance: 0.001,
});
workFlowServer600228.execute({
method: Zondy.Enum.FetchMethod.get,
success: function (res) {
console.log("execute: ", res);
},
});
*/
class WorkFlowServer600228 extends WorkFlowServer {
constructor(options) {
super(options)
const opt = options || {}
/**
* @description 工作流基地址,必传
* @member {String} WorkFlowServer600228.prototype.url
* */
this.url = opt.url
/**
* @description 600228
* @member {Number} WorkFlowServer600228.prototype.flowId
* @readonly
* */
this.flowId = 600228
/**
* @description 多边形裁剪(sfcls)
* @member {String} WorkFlowServer600228.prototype.description
* @readonly
* */
this.description = '多边形裁剪(sfcls)'
/**
* @description 裁剪分析
* @member {String} WorkFlowServer600228.prototype.groupName
* @readonly
* */
this.groupName = '裁剪分析'
/**
* @description 源简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/overLayA
* @member {String} WorkFlowServer600228.prototype.srcInfo
* */
this.srcInfo = opt.srcInfo
/**
* @description 结果简单要素类的URL,必传,例如:GDBP://mapgislocal/Sample/sfcls/clipAPolygon123
* @member {String} WorkFlowServer600228.prototype.desInfo
* */
this.desInfo = opt.desInfo
/**
* @description 裁剪几何区域,必传,类型为Polygon
* @member {Geometry} WorkFlowServer600228.prototype.geometry
* */
this.geometry = opt.geometry
/**
* @description 是否进行属性操作,1:是 0:否,必传,例如:{"activeValue":"1","inactiveValue":"0"}
* @member {Number} WorkFlowServer600228.prototype.attOptType
* */
this.attOptType = opt.attOptType
/**
* @description 共有部分的图形参数操作,0:随机,1:使用第一个类的图形参数,2:使用第二个类的图形参数,必传,例如:{"0":"随机","1":"使用第一个类的图形参数","2":"使用第二个类的图形参数"}
* @member {Number} WorkFlowServer600228.prototype.infoOptType
* */
this.infoOptType = opt.infoOptType
/**
* @description 图层裁剪类型,3:内裁,4:外裁,必传,例如:{"3":"内裁","4":"外裁"}
* @member {Number} WorkFlowServer600228.prototype.overType
* */
this.overType = opt.overType
/**
* @description 容差半径,必传,例如:0.001
* @member {Number} WorkFlowServer600228.prototype.tolerance
* */
this.tolerance = opt.tolerance
}
/**
* @description 获取执行工作流check对象
* @private
* @return {Object}
*/
_getCheckQueryOpts() {
return {
srcInfo: {
required: true,
type: 'String'
},
desInfo: {
required: true,
type: 'String'
},
geometry: {
required: true,
type: 'Geometry',
alias: 'strPos',
process(v) {
return v.toString()
}
},
attOptType: {
required: true,
type: 'Number'
},
infoOptType: {
required: true,
type: 'Number'
},
overType: {
required: true,
type: 'Number'
},
tolerance: {
required: true,
type: 'Number'
}
}
}
}
export default WorkFlowServer600228