import {
Zondy
} from '../../common/Base';
import {
ProjectBase
} from "./ProjectBase";
import {
extend
} from "../../common/Util";
/**
* 投影服务基类
* @class module:分析服务.ProjectByLayer
* @classdesc 投影服务基类
* @description Zondy.Service.ProjectByLayer
* @extends Zondy.Service.ProjectBase
* @param {Object} project 属性键值对
* @param {Number} [project.projTypeID = 23] 投影类型 0地理坐标系,1UTM,2兰伯特等角圆锥投影坐标系
* @param {Number} [project.sphereType = 2] 椭球体类型,2为西安80
* @param {Number} [project.projAngleUnit = 5] 弧度单位,1为毫米,2为米,3为秒,4为度,6为英尺,7为分,8为弧度
* @param {Number} [project.projType = 0] 坐标系类型,0为自定义坐标系、1地理坐标系,3投影平面直角坐标系
* @param {Number} [project.projZoneType = 0] 投影分带类型
* @param {Number} [project.projZoneNO = 0] 投影带号
* @param {Number} [project.projLon = 0] 中央子午线经度
* @param {Number} [project.projLat = 0] 投影原点纬度
* @param {Number} [project.projLat1 = 0] 第一标准维度
* @param {Number} [project.projLat2 = 0] 第二标准维度
* @param {Number} [project.projUnit = 2] 水平单位,1为毫米,2为米,3为秒,4为度,6为英尺,7为分,8为弧度,详细请参见EnumProjAngleUnit
* @param {Number} [project.projRate = 1] 水平比例尺
* @param {Number} [project.x = 0] 投影偏移x
* @param {Number} [project.y = 0] 投影偏移y
* @param {Object} option 属性键值对,用来拓展属性
* @example
//缓存结果图层的基地址
var resultBaseUrl = "gdbp://MapGisLocal/OpenLayerVecterMap/sfcls/";
//显示结果的图层名称
var resultname = resultBaseUrl + "overLayByPolyAnalysisResultLayer" + self.getCurentTime();
var projByLayer = new Zondy.Service.ProjectByLayer({
//设置服务ip
ip: "develop.smaryun.com",
//设置端口号
port: "6163",
//投影类型,0地理坐标系,1UTM,2兰伯特等角圆锥投影坐标系
projTypeID: 23,
//椭球体类型,2为西安80
sphereType: 2,
//弧度单位,1为毫米,2为米,3为秒,4为度,6为英尺,7为分,8为弧度
projAngleUnit: 5,
//坐标系类型,0为自定义坐标系、1地理坐标系,3投影平面直角坐标系
projType: 0,
//投影分带类型
projZoneType: 0,
//投影带号
projZoneNO: 0,
//中央子午线经度
projLon: 0,
//投影原点纬度
projLat: 0,
//第一标准维度
projLat1: 0,
//第二标准维度
projLat2: 0,
//水平单位,1为毫米,2为米,3为秒,4为度,6为英尺,7为分,8为弧度,详细请参见EnumProjAngleUnit
projUnit: 2,
//水平比例尺
projRate: 1,
x: 0,
y: 0,
resultName: "rel"
});
//需转换的要素类地址,继承于ProjectBase类属性
projByLayer.clsName = "gdbp://MapGisLocal/OpenLayerVecterMap/ds/世界地图经纬度/sfcls/世界政区";
//结果要素类地址,继承ProjectBase类属性
projByLayer.desClsName = resultname;
projByLayer.execute(function (res) {
console.log(res);
}, "post",function (error) {
console.log(error);
});
*/
class ProjectByLayer extends ProjectBase {
constructor(project, option) {
var options = option || {};
extend(options, project);
super(options);
/**
* @private
* @member Zondy.Service.ProjectByLayer.prototype.flowID
* @type {String}
* @description 工作流ID
* @default "600235"
*/
this.flowID = "600235";
}
}
export {
ProjectByLayer
};
Zondy.Service.ProjectByLayer = ProjectByLayer;