import {
Zondy
} from '../../common/Base';
import {
ClassBufferBase
} from "./ClassBufferBase";
/**
* @author 基础平台/产品2部 龚跃健
* @class module:分析服务.ClassBufferBySingleRing
* @description Zondy.Service.ClassBufferBySingleRing 类缓冲分析(单圈)
* @classdesc 类缓冲分析(单圈)
* @extends Zondy.Service.ClassBufferBase
* @param {Object} option 属性键值对
* @param {Number} [option.leftRad = 0.001] 缓冲分析左半径
* @param {Number} [option.rightRad = 0.001] 缓冲分析右半径
* @param {Boolean} [option.isByAtt = true] 是否根据属性字段设置缓冲区半径
* @param {String} [option.fldName = null] 属性字段名称,当isByAtt为true时使用
* @param {Number} [option.dynPrjRad = 0] 动态投影半径,使用前必须设置父类Zondy.Service.ClassBufferBase公共属性 isDynPrj 为”true”
* @example
//缓存结果图层的基地址
var resultBaseUrl = "gdbp://MapGisLocal/OpenLayerVecterMap/sfcls/";
if (anaType == "rad") {//不允许根据属性字段设置缓冲区半径
//实例化ClassBufferBySingleRing类
var clsBufBySR = new Zondy.Service.ClassBufferBySingleRing({
//IGServer所在ip地址
ip: "develop.smaryun.com",
//IGServer请求端口号
port: "6163",
//缓冲时要素左侧缓冲半径
leftRad: 1,
//缓冲时要素右侧缓冲半径
rightRad: 1,
//不允许根据属性字段设置缓冲区半径
isByAtt: false
});
} else if (anaType == "att") {//根据属性字段设置缓冲区半径
//实例化ClassBufferBySingleRing类
var clsBufBySR = new Zondy.Service.ClassBufferBySingleRing({
//IGServer所在ip地址
ip: "develop.smaryun.com",
//IGServer请求端口号
port: "6163",
//允许根据属性字段设置缓冲区半径
isByAtt: true
});
clsBufBySR.fldName = "长度";
}
//调用Zondy.Service.ClassBufferBase基类公共属性
clsBufBySR.srcInfo = "gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/世界河流_1";
var resultname = "singleBuffAnalysisResultLayer" + self.getCurentTime();
clsBufBySR.desInfo = resultBaseUrl + resultname;
clsBufBySR.execute(function (res) {
console.log(res);
}, "post",function (error) {
console.log(error);
});
*/
class ClassBufferBySingleRing extends ClassBufferBase {
constructor(option) {
var options = option || {};
super(options);
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.leftRad
* @type {Number}
* @description 缓冲分析左半径
* @default 0.001
*/
this.leftRad = options.leftRad !== undefined ? options.leftRad : 0.001;
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.rightRad
* @type {Number}
* @description 缓冲分析右半径
* @default 0.001
*/
this.rightRad = options.rightRad !== undefined ? options.rightRad : 0.001;
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.isByAtt
* @type {Boolean}
* @description 是否根据属性字段设置缓冲区半径
* @default true
*/
this.isByAtt = options.isByAtt !== undefined ? options.isByAtt : true;
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.fldName
* @type {String}
* @description 属性字段名称,当isByAtt为true时使用
* @default null
*/
this.fldName = options.fldName !== undefined ? options.fldName : null;
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.dynPrjRad
* @type {Number}
* @description 动态投影半径,使用前必须设置父类Zondy.Service.ClassBufferBase公共属性 isDynPrj 为”true”
* @default 0
*/
this.dynPrjRad = options.dynPrjRad !== undefined ? options.dynPrjRad : 0;
/**
* @private
* @member Zondy.Service.ClassBufferBySingleRing.prototype.flowID
* @type {String}
* @description 矢量图层单圈缓冲区分析的工作流ID
* @default "600231"
*/
this.flowID = "600231";
}
}
export {
ClassBufferBySingleRing
};
Zondy.Service.ClassBufferBySingleRing = ClassBufferBySingleRing;