From a6fe405947004d6571806edabd8f14357e144cfa Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 14 十月 2024 17:31:31 +0800 Subject: [PATCH] 1 --- src/main/java/com/se/simu/service/WaterService.java | 95 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 68 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/se/simu/service/WaterService.java b/src/main/java/com/se/simu/service/WaterService.java index 04e408c..e2ea59d 100644 --- a/src/main/java/com/se/simu/service/WaterService.java +++ b/src/main/java/com/se/simu/service/WaterService.java @@ -1,10 +1,13 @@ package com.se.simu.service; -import com.se.simu.domain.LayerVo; +import com.se.simu.config.PropertiesConfig; +import com.se.simu.domain.vo.*; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -18,37 +21,75 @@ @Slf4j @Service public class WaterService { - @Value("${sys.ver}") - String ver; + @Resource + PropertiesConfig config; - @Value("${sys.path.gdal}") - String gdalPath; + /** + * 鑾峰彇鍏冩暟鎹俊鎭� + */ + public byte[] getLayerJson(String serviceName) { + try { + String filePath = config.getOutPath() + File.separator + serviceName + File.separator + "layer.json"; - @Value("${sys.path.data}") - String dataPath; + File dat = new File(filePath); + if (!dat.exists()) { + return null; + } - public LayerVo getLayer(String serviceName) { - LayerVo layer = new LayerVo(); - layer.setVer(ver); - layer.setDuration(new LayerVo.Duration(1719812810225L, 1719812810225L)); - layer.setExtension(new LayerVo.Extension(2.11062743358, 0.53812160220, 2.11070827834, 0.53819799453, 1.151, 38.83)); - layer.setTerrain(new LayerVo.Terrain(10000, 10000)); + byte[] bytes = new byte[(int) dat.length()]; + + FileInputStream fs = new FileInputStream(filePath); + fs.read(bytes); + fs.close(); + + return bytes; + } catch (Exception ex) { + return null; + } + } + + /** + * 鑾峰彇鍦板舰楂樺害鍥� + */ + public String getTerraMap(String serviceName, Integer width, Integer height) { + return config.getOutPath() + File.separator + serviceName + File.separator + "terrain" + File.separator + width + "_" + height + ".png"; + } + + /** + * 鑾峰彇姘撮潰楂樺害鍥� + */ + public String getWaterMap(String serviceName, Integer width, Integer height, Long timestamp) { + return config.getOutPath() + File.separator + serviceName + File.separator + "waters" + File.separator + timestamp + File.separator + width + "_" + height + ".png"; + } + + /** + * 鑾峰彇姘存祦鍚戞祦閫熷浘 + */ + public String getFlowMap(String serviceName, Integer width, Integer height, Long timestamp) { + return config.getOutPath() + File.separator + serviceName + File.separator + "flows" + File.separator + timestamp + File.separator + width + "_" + height + ".png"; + } + + /** + * 鑾峰彇鍥惧眰 * + */ + public Layer getLayer(String serviceName) { + Layer layer = new Layer(); + layer.setVersion(config.getVer()); + layer.setDuration(new Duration(1719812810225L, 1719812810225L)); + layer.setExtension(new Extension(2.11062743358, 0.53812160220, 2.11070827834, 0.53819799453, 1.151, 38.83)); + + List<Integer[]> sizes = new ArrayList<>(); + sizes.add(new Integer[]{64, 64}); + sizes.add(new Integer[]{128, 128}); + sizes.add(new Integer[]{256, 256}); + sizes.add(new Integer[]{512, 512}); + sizes.add(new Integer[]{1024, 1024}); + sizes.add(new Integer[]{2048, 2048}); + layer.setTerrain(new Terrain(sizes)); List<Long> data = new ArrayList<>(Arrays.asList(1719812812225L, 1719812812225L, 1719812812225L, 1719812812225L, 1719812812225L, 1719812812225L)); - layer.setWater(new LayerVo.Water(10000, 10000, data)); + layer.setWaters(new Water(data)); return layer; - } - - public String getTerraMap(String serviceName, Integer width, Integer height) { - return "D:/simu/test/geo.png"; - } - - public String getWaterMap(String serviceName, Integer width, Integer height) { - return null; - } - - public String getFlowMap(String serviceName, Integer width, Integer height, Long timestamp) { - return null; } } -- Gitblit v1.9.3