From 86994aaa1e6c13f20ed0a98a3d1c1e278f480df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dhji=28=EC=A7=80=EB=8C=80=ED=95=9C=29?= Date: Wed, 8 Nov 2023 19:26:23 +0900 Subject: [PATCH] =?UTF-8?q?dem(tiff)=20-=20=EC=A7=80=ED=98=95=EA=B3=A0?= =?UTF-8?q?=EB=8F=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/palnet/biz/config/InitRunner.java | 6 +++++- .../utils/DigitalElevationModelUtils.java | 20 +++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/pav-server/src/main/java/com/palnet/biz/config/InitRunner.java b/pav-server/src/main/java/com/palnet/biz/config/InitRunner.java index 71138ee..92c8188 100644 --- a/pav-server/src/main/java/com/palnet/biz/config/InitRunner.java +++ b/pav-server/src/main/java/com/palnet/biz/config/InitRunner.java @@ -13,7 +13,11 @@ public class InitRunner implements ApplicationRunner { public void run(ApplicationArguments args) throws Exception { log.info("===== InitRunner run ====="); // DEM(Digital Elevation Model load - DigitalElevationModelUtils.getInstance(); + try { + DigitalElevationModelUtils.getInstance(); + } catch (Exception e) { + log.warn("===== InitRunner run error : {}", e.getMessage()); + } } } diff --git a/pav-server/src/main/java/com/palnet/comn/utils/DigitalElevationModelUtils.java b/pav-server/src/main/java/com/palnet/comn/utils/DigitalElevationModelUtils.java index 0e2e7c7..2b7e21f 100644 --- a/pav-server/src/main/java/com/palnet/comn/utils/DigitalElevationModelUtils.java +++ b/pav-server/src/main/java/com/palnet/comn/utils/DigitalElevationModelUtils.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; import org.geotools.coverage.grid.GridCoordinates2D; import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.coverage.grid.GridGeometry2D; @@ -23,6 +24,7 @@ import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.util.StopWatch; import java.awt.image.Raster; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -63,20 +65,22 @@ public class DigitalElevationModelUtils { log.info("resource : {}", resource.getURL().getPath()); log.info("resource : {}", resource.getDescription()); log.info("================================"); - log.info("resource : {}", resource.getFile()); - log.info("resource : {}", resource.getFile().getName()); - log.info("resource : {}", resource.getFile().getPath()); - log.info("resource : {}", resource.getFile().getAbsolutePath()); - log.info("resource : {}", resource.getFile().getCanonicalPath()); - log.info("resource : {}", resource.getFile().toPath()); +// log.info("resource : {}", resource.getFile()); +// log.info("resource : {}", resource.getFile().getName()); +// log.info("resource : {}", resource.getFile().getPath()); +// log.info("resource : {}", resource.getFile().getAbsolutePath()); +// log.info("resource : {}", resource.getFile().getCanonicalPath()); +// log.info("resource : {}", resource.getFile().toPath()); if (!resource.isFile()) { log.info("this is not file : {}", resource.getFilename()); continue; } + File file = File.createTempFile("dem", ".tif"); + FileUtils.copyInputStreamToFile(resource.getInputStream(), file); - AbstractGridFormat format = GridFormatFinder.findFormat(resource.getFile().getPath()); - GridCoverage2DReader reader = format.getReader(resource.getFile().getAbsolutePath()); + AbstractGridFormat format = GridFormatFinder.findFormat(file); + GridCoverage2DReader reader = format.getReader(file); GridCoverage2D coverage = reader.read(null); Raster raster = coverage.getRenderedImage().getData();