月球大数据地理空间分析展示平台-【后端】-月球后台服务
1
13693261870
2024-11-13 eb40365c9cffb2269fd3cbd31b050c33455bc84a
src/main/java/com/moon/server/entity/shujian/CreateLayerEntity.java
@@ -1,51 +1,30 @@
package com.moon.server.entity.shujian;
import java.io.Serializable;
import com.moon.server.helper.StringHelper;
/**
 * 数简.创建图层类
 * @author WWW
 * @date 2023-08-30
 */
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming")
public class CreateLayerEntity implements Serializable {
    private static final long serialVersionUID = 8392354493626395905L;
    /**
     * 图层信息
     */
    private Layer layer;
    /**
     * 影像目录列表
     */
    private ImagePathList[] image_path_list;
    private List<ImagePathList> image_path_list;
    /**
     * 影像列表
     */
    private ImageList[] image_list;
    /**
     * 金字塔配置
     */
    private ImageOvr image_ovr;
    /**
     * 创建服务
     */
    private Integer create_service;
    public CreateLayerEntity() {
        create_service = 0;
        layer = new Layer();
        image_ovr = new ImageOvr();
    }
    public CreateLayerEntity(int pathCount, int imageCount) {
        this();
        image_list = new ImageList[imageCount];
        image_path_list = new ImagePathList[pathCount];
        this.create_service = 0;
        this.layer = new Layer();
        this.image_ovr = new ImageOvr();
        this.image_path_list = new ArrayList<>();
    }
    public Layer getLayer() {
@@ -56,20 +35,12 @@
        this.layer = layer;
    }
    public ImagePathList[] getImage_path_list() {
    public List<ImagePathList> getImage_path_list() {
        return image_path_list;
    }
    public void setImage_path_list(ImagePathList[] image_path_list) {
    public void setImage_path_list(List<ImagePathList> image_path_list) {
        this.image_path_list = image_path_list;
    }
    public ImageList[] getImage_list() {
        return image_list;
    }
    public void setImage_list(ImageList[] image_list) {
        this.image_list = image_list;
    }
    public ImageOvr getImage_ovr() {
@@ -88,19 +59,13 @@
        this.create_service = create_service;
    }
    /**
     * 图层信息
     */
    public class Layer {
        /**
         * 名称
         */
        private String name;
        /**
         * nodata设置,数组,数组大小和波段数等同
         */
        private String[] nodata;
        private List<Integer> nodata;
        /**
         * 投影或者坐标:EPSG:4326
@@ -113,12 +78,12 @@
        private String trans_color;
        /**
         * 输出波段,默认:"1,2,3"
         * 输出波段,默认:"1,2,3",或为"3,2,1"
         */
        private String tile_rgb;
        /**
         * 图层类型。0:普通,1:DEM图层
         * 图层类型。0:普通,1:DEM图层,2:自定义
         */
        private Integer type;
@@ -145,17 +110,33 @@
        /**
         * 发布信息,默认为"{}"
         */
        private Object pub_config;
        private String pub_config;
        /**
         * 图层和影像相关的配置,默认"{}",配置内容包括但不限于:处理过程、边界控制方法
         */
        private Object config;
        private Config config;
        /**
         * 拉伸因子,配合 enhance_factor使用
         */
        private String enhance_factor;
        private Double enhance_factor;
        private Integer image_type = -1;
        private Integer sat_id = -1;
        private Integer sensor_id = -1;
        //private Integer pub_status = 0;
        private String type_i = "";
        private String type_ii = "";
        private String type_iii = "";
        private String type_iv = "";
        /**
         * 边界计算方式 0外包,1, 内接, 2 精准
@@ -163,13 +144,15 @@
        private Integer boundary_cal_mode;
        public Layer() {
            end_scale = 1.0;
            start_scale = 1000000000.0;
            stats_type = 0;
            enhance_type = 0;
            boundary_cal_mode = 0;
            config = new Object();
            pub_config = new Object();
            this.projection = "ESRI:104903";
            this.trans_color = "-1,-1,-1";
            this.tile_rgb = "1,2,3";
            this.end_scale = 1.0;
            this.start_scale = 1048576000.0;
            this.stats_type = 1;
            this.enhance_type = 0;
            this.enhance_factor = null;
            this.boundary_cal_mode = 0;
        }
        public String getName() {
@@ -180,11 +163,11 @@
            this.name = name;
        }
        public String[] getNodata() {
        public List<Integer> getNodata() {
            return nodata;
        }
        public void setNodata(String[] nodata) {
        public void setNodata(List<Integer> nodata) {
            this.nodata = nodata;
        }
@@ -252,27 +235,27 @@
            this.end_scale = end_scale;
        }
        public Object getPub_config() {
        public String getPub_config() {
            return pub_config;
        }
        public void setPub_config(Object pub_config) {
        public void setPub_config(String pub_config) {
            this.pub_config = pub_config;
        }
        public Object getConfig() {
        public Config getConfig() {
            return config;
        }
        public void setConfig(Object config) {
        public void setConfig(Config config) {
            this.config = config;
        }
        public String getEnhance_factor() {
        public Double getEnhance_factor() {
            return enhance_factor;
        }
        public void setEnhance_factor(String enhance_factor) {
        public void setEnhance_factor(Double enhance_factor) {
            this.enhance_factor = enhance_factor;
        }
@@ -282,6 +265,62 @@
        public void setBoundary_cal_mode(Integer boundary_cal_mode) {
            this.boundary_cal_mode = boundary_cal_mode;
        }
        public Integer getImage_type() {
            return image_type;
        }
        public void setImage_type(Integer image_type) {
            this.image_type = image_type;
        }
        public Integer getSat_id() {
            return sat_id;
        }
        public void setSat_id(Integer sat_id) {
            this.sat_id = sat_id;
        }
        public Integer getSensor_id() {
            return sensor_id;
        }
        public void setSensor_id(Integer sensor_id) {
            this.sensor_id = sensor_id;
        }
        public String getType_i() {
            return type_i;
        }
        public void setType_i(String type_i) {
            this.type_i = type_i;
        }
        public String getType_ii() {
            return type_ii;
        }
        public void setType_ii(String type_ii) {
            this.type_ii = type_ii;
        }
        public String getType_iii() {
            return type_iii;
        }
        public void setType_iii(String type_iii) {
            this.type_iii = type_iii;
        }
        public String getType_iv() {
            return type_iv;
        }
        public void setType_iv(String type_iv) {
            this.type_iv = type_iv;
        }
    }
@@ -312,7 +351,7 @@
        /**
         * 过滤器组列表:["a.tif|b.tif"]
         */
        private String[] filter;
        private List<String> filter;
        /**
         * 属性过滤
@@ -320,9 +359,9 @@
        private Object attr_filter;
        public ImagePathList() {
            datasource = "Local";
            recursion = 1;
            image_time = null;
            this.datasource = "Local";
            this.recursion = 0;
            this.filter = new ArrayList<>();
        }
        public String getDatasource() {
@@ -357,72 +396,12 @@
            this.image_time = image_time;
        }
        public String[] getFilter() {
        public List<String> getFilter() {
            return filter;
        }
        public void setFilter(String[] filter) {
        public void setFilter(List<String> filter) {
            this.filter = filter;
        }
        public Object getAttr_filter() {
            return attr_filter;
        }
        public void setAttr_filter(Object attr_filter) {
            this.attr_filter = attr_filter;
        }
    }
    /**
     * 影像列表
     */
    public class ImageList {
        /**
         * 数据源:当前只能为Local
         */
        private String datasource;
        /**
         * 影像目录
         */
        private String path;
        /**
         * 影像时间
         */
        private String image_time;
        /**
         * 属性过滤
         */
        private Object attr_filter;
        public ImageList() {
        }
        public String getDatasource() {
            return datasource;
        }
        public void setDatasource(String datasource) {
            this.datasource = datasource;
        }
        public String getPath() {
            return path;
        }
        public void setPath(String path) {
            this.path = path;
        }
        public String getImage_time() {
            return image_time;
        }
        public void setImage_time(String image_time) {
            this.image_time = image_time;
        }
        public Object getAttr_filter() {
@@ -454,9 +433,9 @@
        private Integer sample_type;
        public ImageOvr() {
            same_path = 1;
            force_del = 0;
            sample_type = 0;
            this.same_path = 1;
            this.force_del = 0;
            this.sample_type = 0;
        }
        public Integer getSame_path() {
@@ -483,4 +462,158 @@
            this.sample_type = sample_type;
        }
    }
    /**
     * 颜色表配置
     */
    public class Config {
        // private Process process
        private Integer optm;
        private List<Process> online_process;
        public Config(Integer colorTableId, Integer type, List<?> levels) {
            Process process = new Process(colorTableId, type, levels);
            this.online_process = new ArrayList<>();
            this.online_process.add(process);
            this.optm = 1;
        }
        public Integer getOptm() {
            return optm;
        }
        public void setOptm(Integer optm) {
            this.optm = optm;
        }
        public List<Process> getOnline_process() {
            return online_process;
        }
        public void setOnline_process(List<Process> online_process) {
            this.online_process = online_process;
        }
    }
    /**
     * 处理层级
     */
    public class Process {
        private String uuid;
        private String name;
        private Integer color_table_id;
        private Map<String, Object> config;
        public Process() {
            this.uuid = StringHelper.getGuid();
            this.name = "color_table";
            this.color_table_id = 0;
            this.config = new HashMap<>();
            this.config.put("default", new Default());
        }
        /**
         * 处理过程
         *
         * @param type   0-默认色板,1-渐变色板
         * @param levels 层级
         */
        public Process(Integer colorTableId, Integer type, List<?> levels) {
            this();
            this.color_table_id = colorTableId;
            this.config.put("type", type);
            this.config.put("levels", levels);
            if (type > 0) {
                this.config.put("gradation", "visibility");
            }
        }
        /**
         * 设置颜色表
         */
        public void SetColorTable(Integer type, List<?> levels) {
            config.put("type", type);
            config.put("levels", levels);
        }
        public String getUuid() {
            return uuid;
        }
        public void setUuid(String uuid) {
            this.uuid = uuid;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Integer getColor_table_id() {
            return color_table_id;
        }
        public void setColor_table_id(Integer color_table_id) {
            this.color_table_id = color_table_id;
        }
        public Map<String, Object> getConfig() {
            return config;
        }
        public void setConfig(Map<String, Object> config) {
            this.config = config;
        }
    }
    /**
     * 颜色表默认配置
     */
    public class Default {
        private Short r;
        private Short g;
        private Short b;
        public Default() {
            this.r = -1;
            this.b = -1;
            this.g = -1;
        }
        public Short getR() {
            return r;
        }
        public void setR(Short r) {
            this.r = r;
        }
        public Short getG() {
            return g;
        }
        public void setG(Short g) {
            this.g = g;
        }
        public Short getB() {
            return b;
        }
        public void setB(Short b) {
            this.b = b;
        }
    }
}