dcb
2025-06-06 a2ee6e0dcdcfd9d1b8011a3cecb4e0fc4f6eeea3
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;
    }
}