From f31f0991c0d2036e563b886f57de4cf45d3c72cb Mon Sep 17 00:00:00 2001 From: dcb <xgybdcb@163.com> Date: 星期二, 01 七月 2025 14:51:59 +0800 Subject: [PATCH] 实时模拟异步功能实现 --- src/main/java/com/se/nsl/domain/vo/ConfigVo.java | 185 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 152 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..022994b 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,180 @@ 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 Object 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 double evaporation; + + 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; + this.evaporation = 0; } - public ConfigVo(int hours, int frames) { + public ConfigVo(String terrain, String landuse, String station, + String raingage, String saveName, int duration, + int frames, String saveMode, String startTime) { 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, startTime); + } + + 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 Object getStation() { + return station; + } + + public void setStation(Object 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; + } + + public double getEvaporation() { + return evaporation; + } + + public void setEvaporation(double evaporation) { + this.evaporation = evaporation; } } -- Gitblit v1.9.3