package com.moon.server.entity.shujian;
|
|
import com.moon.server.helper.StringHelper;
|
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 数简.创建图层类
|
* @author WWW
|
* @date 2023-08-30
|
*/
|
@SuppressWarnings("AlibabaLowerCamelCaseVariableNaming")
|
public class CreateLayerEntity implements Serializable {
|
private static final long serialVersionUID = 8392354493626395905L;
|
|
/**
|
* 图层信息
|
*/
|
private Layer layer;
|
|
/**
|
* 影像目录列表
|
*/
|
private List<ImagePathList> image_path_list;
|
|
/**
|
* 金字塔配置
|
*/
|
private ImageOvr image_ovr;
|
|
/**
|
* 创建服务
|
*/
|
private Integer create_service;
|
|
public CreateLayerEntity() {
|
create_service = 0;
|
layer = new Layer();
|
image_ovr = new ImageOvr();
|
image_path_list = new ArrayList<>();
|
}
|
|
public Layer getLayer() {
|
return layer;
|
}
|
|
public void setLayer(Layer layer) {
|
this.layer = layer;
|
}
|
|
public List<ImagePathList> getImage_path_list() {
|
return image_path_list;
|
}
|
|
public void setImage_path_list(List<ImagePathList> image_path_list) {
|
this.image_path_list = image_path_list;
|
}
|
|
public ImageOvr getImage_ovr() {
|
return image_ovr;
|
}
|
|
public void setImage_ovr(ImageOvr image_ovr) {
|
this.image_ovr = image_ovr;
|
}
|
|
public Integer getCreate_service() {
|
return create_service;
|
}
|
|
public void setCreate_service(Integer create_service) {
|
this.create_service = create_service;
|
}
|
|
/**
|
* 图层信息
|
*/
|
public class Layer {
|
/**
|
* 名称
|
*/
|
private String name;
|
|
/**
|
* nodata设置,数组,数组大小和波段数等同
|
*/
|
private List<Integer> nodata;
|
|
/**
|
* 投影或者坐标:EPSG:4326
|
*/
|
private String projection;
|
|
/**
|
* 透明色,默认:"-1,-1,-1"
|
*/
|
private String trans_color;
|
|
/**
|
* 输出波段,默认:"1,2,3",或为"3,2,1"
|
*/
|
private String tile_rgb;
|
|
/**
|
* 图层类型。0:普通,1:DEM图层
|
*/
|
private Integer type;
|
|
/**
|
* 拉伸方式 0:不拉伸, 1 线性拉伸, 2 直方图均衡, 3 标准差拉伸, 4 伽马拉伸
|
*/
|
private Integer enhance_type;
|
|
/**
|
* 直方图统计方式,0:普通,1:精细
|
*/
|
private Integer stats_type;
|
|
/**
|
* 图层起始比例尺:1000000000
|
*/
|
private Double start_scale;
|
|
/**
|
* 图层结束比例尺:1
|
*/
|
private Double end_scale;
|
|
/**
|
* 发布信息,默认为"{}"
|
*/
|
private String pub_config;
|
|
/**
|
* 图层和影像相关的配置,默认"{}",配置内容包括但不限于:处理过程、边界控制方法
|
*/
|
private Config config;
|
|
/**
|
* 拉伸因子,配合 enhance_factor使用
|
*/
|
private Double enhance_factor;
|
|
/**
|
* 边界计算方式 0外包,1, 内接, 2 精准
|
*/
|
private Integer boundary_cal_mode;
|
|
public Layer() {
|
projection = "ESRI:104903";
|
trans_color = "-1,-1,-1";
|
tile_rgb = "1,2,3";
|
end_scale = 1.0;
|
start_scale = 1048576000.0;
|
stats_type = 1;
|
enhance_type = 0;
|
enhance_factor = null;
|
boundary_cal_mode = 0;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public void setName(String name) {
|
this.name = name;
|
}
|
|
public List<Integer> getNodata() {
|
return nodata;
|
}
|
|
public void setNodata(List<Integer> nodata) {
|
this.nodata = nodata;
|
}
|
|
public String getProjection() {
|
return projection;
|
}
|
|
public void setProjection(String projection) {
|
this.projection = projection;
|
}
|
|
public String getTrans_color() {
|
return trans_color;
|
}
|
|
public void setTrans_color(String trans_color) {
|
this.trans_color = trans_color;
|
}
|
|
public String getTile_rgb() {
|
return tile_rgb;
|
}
|
|
public void setTile_rgb(String tile_rgb) {
|
this.tile_rgb = tile_rgb;
|
}
|
|
public Integer getType() {
|
return type;
|
}
|
|
public void setType(Integer type) {
|
this.type = type;
|
}
|
|
public Integer getEnhance_type() {
|
return enhance_type;
|
}
|
|
public void setEnhance_type(Integer enhance_type) {
|
this.enhance_type = enhance_type;
|
}
|
|
public Integer getStats_type() {
|
return stats_type;
|
}
|
|
public void setStats_type(Integer stats_type) {
|
this.stats_type = stats_type;
|
}
|
|
public Double getStart_scale() {
|
return start_scale;
|
}
|
|
public void setStart_scale(Double start_scale) {
|
this.start_scale = start_scale;
|
}
|
|
public Double getEnd_scale() {
|
return end_scale;
|
}
|
|
public void setEnd_scale(Double end_scale) {
|
this.end_scale = end_scale;
|
}
|
|
public String getPub_config() {
|
return pub_config;
|
}
|
|
public void setPub_config(String pub_config) {
|
this.pub_config = pub_config;
|
}
|
|
public Config getConfig() {
|
return config;
|
}
|
|
public void setConfig(Config config) {
|
this.config = config;
|
}
|
|
public Double getEnhance_factor() {
|
return enhance_factor;
|
}
|
|
public void setEnhance_factor(Double enhance_factor) {
|
this.enhance_factor = enhance_factor;
|
}
|
|
public Integer getBoundary_cal_mode() {
|
return boundary_cal_mode;
|
}
|
|
public void setBoundary_cal_mode(Integer boundary_cal_mode) {
|
this.boundary_cal_mode = boundary_cal_mode;
|
}
|
}
|
|
/**
|
* 影像目录列表
|
*/
|
public class ImagePathList {
|
/**
|
* 数据源:当前只能为Local
|
*/
|
private String datasource;
|
|
/**
|
* 目录
|
*/
|
private String path;
|
|
/**
|
* 0:不递归枷锁,1:递归检索
|
*/
|
private Integer recursion;
|
|
/**
|
* 影像时间
|
*/
|
private String image_time;
|
|
/**
|
* 过滤器组列表:["a.tif|b.tif"]
|
*/
|
private List<String> filter;
|
|
/**
|
* 属性过滤
|
*/
|
private Object attr_filter;
|
|
public ImagePathList() {
|
datasource = "Local";
|
recursion = 0;
|
filter = new ArrayList<>();
|
}
|
|
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 Integer getRecursion() {
|
return recursion;
|
}
|
|
public void setRecursion(Integer recursion) {
|
this.recursion = recursion;
|
}
|
|
public String getImage_time() {
|
return image_time;
|
}
|
|
public void setImage_time(String image_time) {
|
this.image_time = image_time;
|
}
|
|
public List<String> getFilter() {
|
return 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 ImageOvr {
|
/**
|
* 0:集中生成和存储金字塔,1:与数据在同一目录
|
*/
|
private Integer same_path;
|
|
/**
|
* 0:有金字塔忽略,1:强制删除金字塔重新创建
|
*/
|
private Integer force_del;
|
|
/**
|
* 采样算法,0:最近邻,1:双线性插值,2:三次卷积,3:三次样条插值
|
*/
|
private Integer sample_type;
|
|
public ImageOvr() {
|
same_path = 1;
|
force_del = 0;
|
sample_type = 0;
|
}
|
|
public Integer getSame_path() {
|
return same_path;
|
}
|
|
public void setSame_path(Integer same_path) {
|
this.same_path = same_path;
|
}
|
|
public Integer getForce_del() {
|
return force_del;
|
}
|
|
public void setForce_del(Integer force_del) {
|
this.force_del = force_del;
|
}
|
|
public Integer getSample_type() {
|
return sample_type;
|
}
|
|
public void setSample_type(Integer sample_type) {
|
this.sample_type = sample_type;
|
}
|
}
|
|
/**
|
* 颜色表配置
|
*/
|
public class Config {
|
private Process process;
|
|
public Config(Integer type, List<?> levels) {
|
process = new Process(type, levels);
|
}
|
|
public Process getProcess() {
|
return process;
|
}
|
|
public void setProcess(Process process) {
|
this.process = process;
|
}
|
}
|
|
/**
|
* 处理层级
|
*/
|
public class Process {
|
private String uuid;
|
|
private String name;
|
|
private Map<String, Object> config;
|
|
public Process() {
|
uuid = StringHelper.getGuid();
|
name = "color_table";
|
|
config = new HashMap<>();
|
config.put("default", new Default());
|
}
|
|
/**
|
* 处理过程
|
*
|
* @param type 0-默认色板,1-渐变色板
|
* @param levels 层级
|
*/
|
public Process(Integer type, List<?> levels) {
|
this();
|
config.put("type", type);
|
config.put("levels", levels);
|
}
|
|
/**
|
* 设置颜色表
|
*/
|
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 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() {
|
r = -1;
|
b = -1;
|
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;
|
}
|
}
|
}
|