From a2ee6e0dcdcfd9d1b8011a3cecb4e0fc4f6eeea3 Mon Sep 17 00:00:00 2001
From: dcb <xgybdcb@163.com>
Date: 星期五, 06 六月 2025 18:10:32 +0800
Subject: [PATCH] 实时模拟功能实现

---
 src/main/java/com/se/nsl/domain/vo/ConfigVo.java |  174 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 141 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/se/nsl/domain/vo/ConfigVo.java b/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
index 4054306..cd8eafe 100644
--- a/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
+++ b/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
@@ -1,61 +1,169 @@
 package com.se.nsl.domain.vo;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 @SuppressWarnings("ALL")
 public class ConfigVo {
-    private List<Object> terrain;
+    private String terrain;
 
-    private List<Object> landuse;
+    private String landuse;
 
-    private List<Object> station;
+    private int station;
 
     private Integer kSt;
 
-    private String raingage;
+    private Integer initial_depth;
+
+    private Integer initial_xmomentum;
+
+    private Integer initial_ymomentum;
+
+    private List<String> raingage;
 
     private String infiltration;
 
     private Integer duration;
 
-    private Boolean save_state;
-
-    private List<String> save_variables;
-
-    private Integer save_interval;
-
-    private Integer save_frames;
-
-    private Integer save_start;
-
     private Double dt;
 
     private Boolean variable_dt;
 
+    private ResultVo result;
+
     public ConfigVo() {
-        terrain = new ArrayList<Object>(Arrays.asList("Data/Hillzone.tif", 1));
-        landuse = new ArrayList<Object>(Arrays.asList("Data/landuse.tif", 1));
-        station = new ArrayList<Object>(Arrays.asList("Data/station.tif", 1));
-        kSt = 40;
-        raingage = "Data/beijing.dat";
-        infiltration = "Data/landuse_to_infiltration.dat";
-        duration = 3600 * 24;
-        save_state = true;
-        save_variables = new ArrayList<>(Arrays.asList("depth"));
-        save_interval = 60;
-        save_frames = 60;
-        save_start = 0;
-        dt = 0.1;
-        variable_dt = true;
+//        this.terrain = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_f32.tif"));
+        // 1-Cropland,2-Forest,3-Shrub,4-Grassland,5-Water,6-Snow/Ice,7-Barren,8-Impervious,9-Wetland
+//        this.landuse = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_landuse_grassland.tif"));
+//        this.station = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_station.tif", 1));
+        this.station = 0;
+        this.kSt = 40;
+        this.initial_depth = 0;
+        this.initial_xmomentum = 0;
+        this.initial_ymomentum = 0;
+        this.infiltration = "case1/landuse_to_infiltration.dat";
+        this.dt = 0.1;
+        this.variable_dt = true;
     }
 
-    public ConfigVo(int hours, int frames) {
+    public ConfigVo(String terrain, String landuse, String station,
+                    String raingage, String saveName, int duration,
+                    int frames, String saveMode) {
         this();
 
-        duration = 3600 * hours;
-        save_frames = frames;
-        save_interval = duration / frames;
+//        this.terrain.set(0, terrain.replace("\\", "/")); // 鍦板舰楂樼▼鏁版嵁
+//        this.landuse.set(0, landuse.replace("\\", "/")); // 鍦熷湴鍒╃敤绫诲瀷
+//        this.station.set(0, station.replace("\\", "/")); // 闆ㄩ噺绔欑储寮�
+//        this.raingage = raingage.replace("\\", "/");
+        this.terrain = terrain;
+        this.landuse = landuse;
+        this.raingage = Arrays.asList(raingage, "mm/min");
+        this.duration = duration;
+        int saveInterval = duration / frames - 5; // 淇鏈�鍚庝竴甯у彲鑳戒负绌烘暟鎹�
+        this.result = new ResultVo(saveName, frames, saveInterval, saveMode);
+    }
+
+    public String getTerrain() {
+        return terrain;
+    }
+
+    public void setTerrain(String terrain) {
+        this.terrain = terrain;
+    }
+
+    public String getLanduse() {
+        return landuse;
+    }
+
+    public void setLanduse(String landuse) {
+        this.landuse = landuse;
+    }
+
+    public int getStation() {
+        return station;
+    }
+
+    public void setStation(int station) {
+        this.station = station;
+    }
+
+    public Integer getkSt() {
+        return kSt;
+    }
+
+    public void setkSt(Integer kSt) {
+        this.kSt = kSt;
+    }
+
+    public Integer getInitial_depth() {
+        return initial_depth;
+    }
+
+    public void setInitial_depth(Integer initial_depth) {
+        this.initial_depth = initial_depth;
+    }
+
+    public Integer getInitial_xmomentum() {
+        return initial_xmomentum;
+    }
+
+    public void setInitial_xmomentum(Integer initial_xmomentum) {
+        this.initial_xmomentum = initial_xmomentum;
+    }
+
+    public Integer getInitial_ymomentum() {
+        return initial_ymomentum;
+    }
+
+    public void setInitial_ymomentum(Integer initial_ymomentum) {
+        this.initial_ymomentum = initial_ymomentum;
+    }
+
+    public List<String> getRaingage() {
+        return raingage;
+    }
+
+    public void setRaingage(List<String> raingage) {
+        this.raingage = raingage;
+    }
+
+    public String getInfiltration() {
+        return infiltration;
+    }
+
+    public void setInfiltration(String infiltration) {
+        this.infiltration = infiltration;
+    }
+
+    public Integer getDuration() {
+        return duration;
+    }
+
+    public void setDuration(Integer duration) {
+        this.duration = duration;
+    }
+
+    public Double getDt() {
+        return dt;
+    }
+
+    public void setDt(Double dt) {
+        this.dt = dt;
+    }
+
+    public Boolean getVariable_dt() {
+        return variable_dt;
+    }
+
+    public void setVariable_dt(Boolean variable_dt) {
+        this.variable_dt = variable_dt;
+    }
+
+    public ResultVo getResult() {
+        return result;
+    }
+
+    public void setResult(ResultVo result) {
+        this.result = result;
     }
 }

--
Gitblit v1.9.3