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;