From d8d6c6327cc561ed9f56334c8a17cfef0e8ba710 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 17 十月 2024 14:22:37 +0800
Subject: [PATCH] 1

---
 src/main/java/com/se/simu/service/ResultService.java |   41 ++++++++++++++++++++++++-----------------
 src/main/java/com/se/simu/domain/dto/WaterDto.java   |    4 ++--
 src/main/java/com/se/simu/domain/dto/TerrainDto.java |   13 +++++++------
 3 files changed, 33 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/se/simu/domain/dto/TerrainDto.java b/src/main/java/com/se/simu/domain/dto/TerrainDto.java
index 49022c9..0b095b5 100644
--- a/src/main/java/com/se/simu/domain/dto/TerrainDto.java
+++ b/src/main/java/com/se/simu/domain/dto/TerrainDto.java
@@ -1,5 +1,6 @@
 package com.se.simu.domain.dto;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 import java.util.ArrayList;
@@ -14,14 +15,14 @@
 public class TerrainDto {
     private List<int[]> size;
 
-    @JsonIgnore
+    @JSONField(serialize = false)
     private String epsg;
 
-    @JsonIgnore
-    private double minHeight;
+    @JSONField(serialize = false)
+    private Double minHeight;
 
-    @JsonIgnore
-    private double maxHeight;
+    @JSONField(serialize = false)
+    private Double maxHeight;
 
     public TerrainDto() {
     }
@@ -33,7 +34,7 @@
         }
     }
 
-    public void setHeight(double minHeight, double maxHeight) {
+    public void setHeight(Double minHeight, Double maxHeight) {
         this.minHeight = minHeight;
         this.maxHeight = maxHeight;
     }
diff --git a/src/main/java/com/se/simu/domain/dto/WaterDto.java b/src/main/java/com/se/simu/domain/dto/WaterDto.java
index 9a9cce9..43ec4b8 100644
--- a/src/main/java/com/se/simu/domain/dto/WaterDto.java
+++ b/src/main/java/com/se/simu/domain/dto/WaterDto.java
@@ -1,6 +1,6 @@
 package com.se.simu.domain.dto;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.alibaba.fastjson.annotation.JSONField;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -12,7 +12,7 @@
  * @date   2024-09-30
  */
 public class WaterDto {
-    @JsonIgnore
+    @JSONField(serialize = false)
     private List<String> files;
 
     private List<Long> data;
diff --git a/src/main/java/com/se/simu/service/ResultService.java b/src/main/java/com/se/simu/service/ResultService.java
index c423289..347cf72 100644
--- a/src/main/java/com/se/simu/service/ResultService.java
+++ b/src/main/java/com/se/simu/service/ResultService.java
@@ -39,7 +39,7 @@
     @Resource
     PropertiesConfig config;
 
-    public final static double MAX_X_OFFSET = 0.002;
+    public final static double MAX_X_OFFSET = 0;
 
     public void process(DataPo data) throws Exception {
         String basePath = config.getInPath() + File.separator + data.getInPath() + File.separator;
@@ -76,7 +76,7 @@
         Dataset ds = null;
         try {
             ds = gdal.Open(dto.getTerrainFile(), gdalconst.GA_ReadOnly);
-            if (null == ds || 0 == ds.getRasterCount() || null == ds.GetSpatialRef()) return;
+            if (null == ds || 0 == ds.getRasterCount()) return;
 
             setTerrainInfo(ds, layer);
             setWaterInfo(dto, layer);
@@ -124,20 +124,25 @@
         }
     }
 
+    /**
+     * 閲嶉噰鏍�
+     */
     private static void Resample(Dataset ds, String dest, int width, int height, LayerDto layer) {
         Vector<String> vector = new Vector<>();
-        vector.add("-t_srs");
-        vector.add("EPSG:" + 4326);
+        //vector.add("-s_srs");
+        //vector.add("EPSG:" + 4548);
+        //vector.add("-t_srs");
+        //vector.add("EPSG:" + 4326);
         vector.add("-ts");
         vector.add("" + width);
         vector.add("" + height);
-        vector.add("-te");
-        vector.add("" + layer.getExtension().getMinx());
-        vector.add("" + layer.getExtension().getMiny());
-        vector.add("" + layer.getExtension().getMaxx());
-        vector.add("" + layer.getExtension().getMaxy());
-        vector.add("-te_srs");
-        vector.add("EPSG:" + 4326);
+        //vector.add("-te");
+        //vector.add("" + layer.getExtension().getMinx());
+        //vector.add("" + layer.getExtension().getMiny());
+        //vector.add("" + layer.getExtension().getMaxx());
+        //vector.add("" + layer.getExtension().getMaxy());
+        //vector.add("-te_srs");
+        //vector.add("EPSG:" + 4326);
         vector.add("-r");
         vector.add("bilinear");
         vector.add("-of");
@@ -317,7 +322,7 @@
             Dataset ds = null;
             try {
                 ds = gdal.Open(file, gdalconst.GA_ReadOnly);
-                if (null == ds || 0 == ds.getRasterCount() || null == ds.GetSpatialRef()) return;
+                if (null == ds || 0 == ds.getRasterCount()) return;
 
                 double[] mm = new double[2];
                 ds.GetRasterBand(1).ComputeRasterMinMax(mm, 0);
@@ -335,7 +340,7 @@
             Dataset ds = null;
             try {
                 ds = gdal.Open(files.get(i), gdalconst.GA_ReadOnly);
-                if (null == ds || 0 == ds.getRasterCount() || null == ds.GetSpatialRef()) return;
+                if (null == ds || 0 == ds.getRasterCount()) return;
 
                 createWaterPng(dto, ds, layer, layer.getWaters().getData().get(i));
             } finally {
@@ -384,8 +389,8 @@
 
                     double X = transform[0] + x * transform[1] + y * transform[2];
                     double Y = transform[3] + x * transform[4] + y * transform[5];
-                    BuildingDto building = intersects(dto, X, Y);
-                    if (null != building) continue;
+                    //BuildingDto building = intersects(dto, X, Y);
+                    //if (null != building) continue;
 
                     int r = 0, g, b;
                     if (buffer[offset] - layer.getExtension().getMaxHeight() > 0) {
@@ -426,7 +431,7 @@
             Dataset ds = null;
             try {
                 ds = gdal.Open(files.get(i), gdalconst.GA_ReadOnly);
-                if (null == ds || 0 == ds.getRasterCount() || null == ds.GetSpatialRef()) return;
+                if (null == ds || 0 == ds.getRasterCount()) return;
 
                 createFlowPng(dto, ds, layer, layer.getWaters().getData().get(i));
             } finally {
@@ -508,8 +513,10 @@
      */
     private void copeLayerJson(ResultDto dto, LayerDto layer) throws IOException {
         layer.getWaters().setFiles(null);
-        //String json = JSONUtil.toJsonPrettyStr(layer);
+        layer.getTerrain().setEpsg(null);
+
         String json = JSON.toJSONString(layer);
+        //String json = JSONUtil.toJsonPrettyStr(layer);
         String filePath = dto.getOutPath() + File.separator + "layer.json";
 
         FileWriter fw = new FileWriter(filePath);

--
Gitblit v1.9.3