From eaf2eddc15c08bc073c953630b727f6497dfee3a Mon Sep 17 00:00:00 2001 From: 张洋洋 <10611411+yang-yang-z@user.noreply.gitee.com> Date: 星期二, 18 二月 2025 09:53:46 +0800 Subject: [PATCH] [add]tif裁剪 --- src/main/java/com/se/simu/controller/SimuController.java | 114 ++++++++++++++++++++++---------------------------------- 1 files changed, 45 insertions(+), 69 deletions(-) diff --git a/src/main/java/com/se/simu/controller/SimuController.java b/src/main/java/com/se/simu/controller/SimuController.java index 86f333d..d58c7a1 100644 --- a/src/main/java/com/se/simu/controller/SimuController.java +++ b/src/main/java/com/se/simu/controller/SimuController.java @@ -336,12 +336,15 @@ return fail("闃叉睕鑼冨洿涓嶈兘涓虹┖", false); } } + if (StringUtils.isEmpty(vo.getSemUrl())){ + return fail("sem鏂囦欢鐢熸垚璺緞涓嶈兘涓虹┖锛�", false); + } List<GridDto> dtos = new ArrayList<>(); - dtos.add(new GridDto( vo.getMiny(),vo.getMinx())); - dtos.add(new GridDto(vo.getMaxy(),vo.getMinx())); - dtos.add(new GridDto(vo.getMaxy(),vo.getMaxx())); - dtos.add(new GridDto(vo.getMiny(),vo.getMaxx())); - createSem(tableName, dtos); + dtos.add(new GridDto(vo.getMiny(), vo.getMinx())); + dtos.add(new GridDto(vo.getMaxy(), vo.getMinx())); + dtos.add(new GridDto(vo.getMaxy(), vo.getMaxx())); + dtos.add(new GridDto(vo.getMiny(), vo.getMaxx())); + createSem(tableName, dtos, vo.getSemUrl()); // 寮�濮嬫ā鎷熻绠� boolean flag = simuFilesService.createByfiles(vo); return success(flag, flag ? "鎴愬姛" : "澶辫触"); @@ -350,28 +353,36 @@ } } - public R<Boolean> createSem(String tableName, List<GridDto> dtos) throws Exception { + public R<Boolean> createSem(String tableName, List<GridDto> dtos, String semUrl) throws Exception { + boolean ends = semUrl.endsWith("\\"); + if (!ends) { + semUrl = semUrl + "\\"; + } + File file = new File(semUrl); + if (!file.exists()) { + file.mkdirs(); + } //闄嶉洦鏂囦欢鐢熸垚 - saveZarr(tableName); + saveZarr(tableName,semUrl); String token = EntityLibraryUtils.login(); //绠$偣鐢熸垚 - pointTosem(dtos,token); + pointTosem(dtos, token,semUrl); //绠$嚎鐢熸垚 - lineToSem(dtos,token); + lineToSem(dtos, token,semUrl); //鍦板舰鐢熸垚 - terrainToSem(dtos); + terrainToSem(dtos,semUrl); //鑼冨洿鐢熸垚 - gridToCityJson(dtos); + gridToCityJson(dtos,semUrl); //娌虫祦鐢熸垚 - riverToSem(); + riverToSem(semUrl); //鍦熷湴鍒╃敤鐢熸垚 - landuseToSem(); + landuseToSem(semUrl); return success(true); } @ApiOperation(value = "tarr鏂囦欢缁勮") @GetMapping(value = "/saveZarr", produces = "application/json; charset=UTF-8") - public R<String> saveZarr(@RequestParam("name") String tableName) throws Exception { + public R<String> saveZarr(@RequestParam("name") String tableName,String semUrl) throws Exception { List<String> list = CsvToSQLiteUtils.getNameList(tableName); String path = outPath + "\\"; String rainfall = "rainfall\\"; @@ -428,16 +439,11 @@ FileWriter fileWriter = new FileWriter(path + tableName + "\\闄嶉洦閲�.json"); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(path + tableName + "\\闄嶉洦閲�.json", filePatn + "raingage.sem"); - return success(filePatn + "raingage.sem"); + SemUtils.cityJsonToSem(path + tableName + "\\闄嶉洦閲�.json", semUrl + "raingage.sem"); + return success(semUrl + "raingage.sem"); } - public R<String> pointTosem(List<GridDto> dtos,String token) throws Exception { + public R<String> pointTosem(List<GridDto> dtos, String token,String semUrl) throws Exception { String path = outPath + "\\point\\"; String publicKey = EntityLibraryUtils.getPublicKey(); JSONArray jsonArrayList = EntityLibraryUtils.getPointInfo(dtos, token); @@ -502,13 +508,8 @@ FileWriter fileWriter = new FileWriter(pointPath); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(pointPath, filePatn + "node.sem"); - return success(filePatn + "node.sem"); + SemUtils.cityJsonToSem(pointPath, semUrl + "node.sem"); + return success(semUrl + "node.sem"); } @ApiOperation(value = "绠$偣杞琧ityjson") @@ -560,7 +561,7 @@ return success(filePatn + "node.sem"); } - public R<String> lineToSem(List<GridDto> dtos,String token) throws Exception { + public R<String> lineToSem(List<GridDto> dtos, String token,String semUrl) throws Exception { String path = outPath + "\\line\\"; String publicKey = EntityLibraryUtils.getPublicKey(); JSONArray jsonArrayList = EntityLibraryUtils.getLineInfo(dtos, token); @@ -651,13 +652,8 @@ FileWriter fileWriter = new FileWriter(pointPath); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(pointPath, filePatn + "link.sem"); - return success(filePatn + "link.sem"); + SemUtils.cityJsonToSem(pointPath, semUrl + "link.sem"); + return success(semUrl + "link.sem"); } @ApiOperation(value = "绠$嚎杞琧ityjson") @@ -715,7 +711,7 @@ @ApiOperation(value = "鍦板舰杞瑂em") @PostMapping(value = "/terrainToSem", produces = "application/json; charset=UTF-8") - public R<String> terrainToSem(@RequestBody List<GridDto> dtos) throws Exception { + public R<String> terrainToSem(@RequestBody List<GridDto> dtos,String semUrl) throws Exception { long times = System.currentTimeMillis(); String path = outPath + "\\terrain\\" + times + "\\"; File dirFile = new File(path + "appearance"); @@ -752,13 +748,8 @@ FileWriter fileWriter = new FileWriter(path + "terrain.json"); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(path + "terrain.json", filePatn + "terrain.sem"); - return success(filePatn + "terrain.sem"); + SemUtils.cityJsonToSem(path + "terrain.json", semUrl + "terrain.sem"); + return success(semUrl + "terrain.sem"); } @ApiOperation(value = "鍦板舰杞琧ityjson") @@ -788,7 +779,7 @@ @ApiOperation(value = "grid杞琧ityjson") @PostMapping(value = "/gridToCityJson", produces = "application/json; charset=UTF-8") - public R<String> gridToCityJson(@RequestBody List<GridDto> dtos) throws Exception { + public R<String> gridToCityJson(@RequestBody List<GridDto> dtos,String semUrl) throws Exception { long times = System.currentTimeMillis(); String path = outPath + "\\grid\\" + times + "\\"; File dirFile = new File(path); @@ -809,18 +800,13 @@ FileWriter fileWriter = new FileWriter(path + "grid.json"); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(path + "grid.json", filePatn + "grid.sem"); - return success(filePatn + "grid.sem"); + SemUtils.cityJsonToSem(path + "grid.json", semUrl + "grid.sem"); + return success(semUrl + "grid.sem"); } @ApiOperation(value = "river杞瑂em") @GetMapping(value = "/riverToSem", produces = "application/json; charset=UTF-8") - public R<String> riverToSem() throws Exception { + public R<String> riverToSem(String semUrl) throws Exception { long times = System.currentTimeMillis(); String path = outPath + "\\river\\" + times + "\\"; File dirFile = new File(path); @@ -831,18 +817,13 @@ FileWriter fileWriter = new FileWriter(path + "river.json"); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(path + "river.json", filePatn + "river.sem"); - return success(filePatn + "river.sem"); + SemUtils.cityJsonToSem(path + "river.json", semUrl + "river.sem"); + return success(semUrl + "river.sem"); } @ApiOperation(value = "landuse杞瑂em") @GetMapping(value = "/landuseToSem", produces = "application/json; charset=UTF-8") - public R<String> landuseToSem() throws Exception { + public R<String> landuseToSem(String semUrl) throws Exception { long times = System.currentTimeMillis(); String path = outPath + "\\landuse\\" + times + "\\"; File dirFile = new File(path); @@ -853,13 +834,8 @@ FileWriter fileWriter = new FileWriter(path + "landuse.json"); fileWriter.write(jsonObject.toJSONString()); fileWriter.close(); - String filePatn = inPath + "\\tongzhou\\"; - File file = new File(filePatn); - if (!file.exists()) { - file.mkdirs(); - } - SemUtils.cityJsonToSem(path + "landuse.json", filePatn + "landuse.sem"); - return success(filePatn + "landuse.sem"); + SemUtils.cityJsonToSem(path + "landuse.json", semUrl + "landuse.sem"); + return success(semUrl + "landuse.sem"); } public JSONObject getModule(String moduleName) { -- Gitblit v1.9.3