src/main/java/com/moon/server/controller/data/PublishController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/moon/server/entity/ctrl/PubEntity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/moon/server/entity/shujian/CreateLayerEntity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/moon/server/mapper/data/MetaMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/moon/server/service/data/MetaService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/moon/server/service/data/ShuJianService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/data/MetaMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/moon/server/controller/data/PublishController.java
@@ -193,6 +193,9 @@ if (StringHelper.isEmpty(entity.getType())) { return fail("发布类别为空", null); } if (!ShuJianService.TYPES.contains(entity.getType())) { return fail("发布类别不支持", null); } UserEntity ue = tokenService.getCurrentUser(req); if (null != ue) { src/main/java/com/moon/server/entity/ctrl/PubEntity.java
@@ -66,6 +66,16 @@ private String depcode; /** * NoData */ private Integer nodata; /** * 拉伸方式 0:不拉伸, 1 线性拉伸, 2 直方图均衡, 3 标准差拉伸, 4 伽马拉伸 */ private Integer enhanceType; /** * 元数据ID集合 */ private List<Integer> ids; @@ -152,6 +162,22 @@ this.depcode = depcode; } public Integer getNodata() { return nodata; } public void setNodata(Integer nodata) { this.nodata = nodata; } public Integer getEnhanceType() { return enhanceType; } public void setEnhanceType(Integer enhanceType) { this.enhanceType = enhanceType; } public List<Integer> getIds() { return ids; } src/main/java/com/moon/server/entity/shujian/CreateLayerEntity.java
@@ -46,10 +46,6 @@ create_service = 0; layer = new Layer(); image_ovr = new ImageOvr(); } public CreateLayerEntity(int pathCount, int imageCount) { this(); image_list = new ArrayList<>(); image_path_list = new ArrayList<>(); } @@ -106,7 +102,7 @@ /** * nodata设置,数组,数组大小和波段数等同 */ private String[] nodata; private List<String> nodata; /** * 投影或者坐标:EPSG:4326 @@ -185,11 +181,11 @@ this.name = name; } public String[] getNodata() { public List<String> getNodata() { return nodata; } public void setNodata(String[] nodata) { public void setNodata(List<String> nodata) { this.nodata = nodata; } @@ -317,7 +313,7 @@ /** * 过滤器组列表:["a.tif|b.tif"] */ private String[] filter; private List<String> filter; /** * 属性过滤 @@ -362,11 +358,11 @@ 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; } src/main/java/com/moon/server/mapper/data/MetaMapper.java
@@ -129,6 +129,14 @@ public MetaEntity selectById(int id); /** * 根据id字符串查询 * * @param ids id字符串 * @return 元数据集合 */ public List<MetaEntity> selectByIds(String ids); /** * 根据GUID查询 * * @param guid 文件GUID src/main/java/com/moon/server/service/data/MetaService.java
@@ -120,6 +120,11 @@ } @Override public List<MetaEntity> selectByIds(String ids) { return metaMapper.selectByIds(ids); } @Override public MetaEntity selectByGuid(String guid, String dircode, String tab) { return metaMapper.selectByGuid(guid, dircode, tab); } src/main/java/com/moon/server/service/data/ShuJianService.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.moon.server.entity.all.StaticData; import com.moon.server.entity.ctrl.PubEntity; import com.moon.server.entity.data.MetaEntity; import com.moon.server.entity.data.MetaPubEntity; import com.moon.server.entity.data.PublishEntity; import com.moon.server.entity.shujian.*; @@ -21,9 +22,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; /** * 数简.服务 @@ -32,15 +31,20 @@ @Service public class ShuJianService { @Value("${shujian.ak}") private String ak; String ak; @Value("${shujian.url}") private String sjUrl; String sjUrl; @Resource MetaService metaService; @Resource PublishService publishService; private final static Log log = LogFactory.getLog(ShuJianService.class); public final static List<String> TYPES = new ArrayList<>(Arrays.asList("DOM", "DEM")); /** * 分页查询数简的颜色表 @@ -84,21 +88,20 @@ /** * 创建图层实体类 */ public CreateLayerEntity createLayerEntity(PubEntity pubEntity) { CreateLayerEntity entity = new CreateLayerEntity(1, 3); public CreateLayerEntity createLayerEntity(PubEntity pub) { String epsg = getEpsg(pub); String ids = StringHelper.join(pub.getIds(), ","); List<MetaEntity> list = metaService.selectByIds(ids); CreateLayerEntity entity = new CreateLayerEntity(); entity.setCreate_service(0); CreateLayerEntity.Layer layer = entity.getLayer(); layer.setName(""); layer.setProjection("ESRI:" + StaticData.I104903); layer.setType(0); layer.setEnhance_type(0); String[] noData = new String[3]; noData[0] = "0"; noData[1] = "0"; noData[2] = "0"; layer.setNodata(noData); layer.setName(pub.getName()); layer.setProjection(epsg); layer.setType(TYPES.indexOf(pub.getType())); layer.setEnhance_type(pub.getEnhanceType()); layer.setNodata(getNoData(pub, list)); CreateLayerEntity.ImagePathList imagePathList = entity.getImage_path_list().get(0); imagePathList.setPath(""); @@ -110,6 +113,30 @@ return entity; } private List<String> getNoData(PubEntity pub, List<MetaEntity> metas) { int bands = 1; for (MetaEntity meta : metas) { if (StringHelper.isEmpty(meta.getBands())) { continue; } try { int b = Integer.parseInt(meta.getBands()); if (b > bands) { bands = b; } } catch (Exception e) { // } } List<String> list = new ArrayList<>(); for (int i = 0; i < bands; i++) { list.add(String.valueOf(pub.getNodata())); } return list; } /** * 发送图层实体类 */ src/main/resources/mapper/data/MetaMapper.xml
@@ -173,6 +173,13 @@ from lf.sys_meta a where id = #{id} </select> <select id="selectByIds" resultType="com.moon.server.entity.data.MetaEntity"> select * from lf.sys_meta where id in (${ids}) order by id desc; </select> <select id="selectByGuid" resultType="com.moon.server.entity.data.MetaEntity"> select st_astext(geom) "geom", a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName from lf.sys_meta a