From 906e2586e2e6e95830f93b50f8c5233189007715 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 16 十一月 2023 14:18:33 +0800 Subject: [PATCH] 完成坡度分析开发 --- src/main/java/com/moon/server/service/data/SlopeAnalysisService.java | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java b/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java index dfaecbd..d700398 100644 --- a/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java +++ b/src/main/java/com/moon/server/service/data/SlopeAnalysisService.java @@ -1,8 +1,9 @@ package com.moon.server.service.data; import com.moon.server.entity.all.StaticData; +import com.moon.server.entity.ctrl.CountEntity; import com.moon.server.entity.data.PointEntity; -import com.moon.server.helper.FileHelper; +import com.moon.server.helper.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.gdal.Dataset; @@ -12,11 +13,10 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; +import java.util.*; /** * 鏍呮牸鍒嗘瀽鏈嶅姟 @@ -28,6 +28,9 @@ @Value("${sys.path.slopFile}") private String filePath; + @Resource + protected PathHelper pathHelper; + private String xlsTemplate; private final static Log log = LogFactory.getLog(SlopeAnalysisService.class); @@ -37,7 +40,7 @@ */ private String getXlsTemplate() { if (null == xlsTemplate) { - xlsTemplate = FileHelper.getClassPath() + File.separator + "config" + File.separator + "slop.xlsx"; + xlsTemplate = FileHelper.getClassPath() + "config/slope.xlsx"; } return xlsTemplate; @@ -59,7 +62,13 @@ throw new Exception("鍒嗘瀽缁撴灉涓虹┖锛堟煡璇㈣寖鍥存棤鏁堬級"); } - // + String xlsFile = createXls(list, getXlsTemplate()); + if (null == xlsFile || !new File(xlsFile).exists()) { + throw new Exception("鍒涘缓鍧″害鍒嗘瀽Excel澶辫触"); + } + + String fileName = FileHelper.getFileName(xlsFile); + WebHelper.download(xlsFile, fileName, res); } finally { if (null != ds) { ds.delete(); @@ -97,11 +106,25 @@ ds.GetRasterBand(StaticData.I1).ReadRaster(x, y, 1, 1, values); if (!Double.isNaN(values[0])) { - list.add(new PointEntity(point.GetY(), point.GetX(), values[0])); + list.add(new PointEntity(point.GetX(), point.GetY(), values[0])); } } } return list; } + + /** + * 鍒涘缓Excel + */ + public String createXls(List<PointEntity> list, String template) { + String target = pathHelper.getTempPath() + File.separator + "slope_" + StringHelper.YMD2_FORMAT.format(new Date()) + ".xlsx"; + + Map<String, List<PointEntity>> map = new HashMap<>(1); + map.put("data", list); + + ExcelHelper.writeToTemplate(template, target, map); + + return target; + } } -- Gitblit v1.9.3