public Reach(DataRow rchInfoRow, ScenarioResult scenario) : base(rchInfoRow, scenario) { RowItem item = new RowItem(rchInfoRow); _id = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_RCH); _area = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2); if (scenario.Subbasins.ContainsKey(_id)) _sub = scenario.Subbasins[_id] as Subbasin; }
public HRU(DataRow hruInfoRow, ScenarioResult scenario) : base(hruInfoRow,scenario) { RowItem item = new RowItem(hruInfoRow); _id = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU); _seqIdInSubbasin = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU_SEQ); _area = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2); _area_fr_sub = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_SUB); _area_fr_wshd = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_WSHD); //connect hru and subbasin int subid = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_SUB); if (scenario.Subbasins.ContainsKey(subid)) { _sub = scenario.Subbasins[subid] as Subbasin; if (_sub != null) _sub.addHRU(this); } }
private Dictionary<int, SWATUnit> readUnitBasicInfo(SWATUnitType type) { Dictionary<int, SWATUnit> units = new Dictionary<int, SWATUnit>(); List<int> ids = new List<int>(); DataTable dt = GetDataTable("select * from " + getInfoTableFromType(type)); foreach (DataRow r in dt.Rows) { SWATUnit unit = null; switch (type) { case SWATUnitType.HRU: unit = new HRU(r, this); break; case SWATUnitType.SUB: unit = new Subbasin(r, this); break; case SWATUnitType.RCH: unit = new Reach(r, this); break; case SWATUnitType.RES: unit = new Reservoir(r, this); break; } if (unit != null && unit.ID != ScenarioResultStructure.UNKONWN_ID && !units.ContainsKey(unit.ID)) { units.Add(unit.ID, unit); ids.Add(unit.ID); } } _units.Add(type,units); _unitIds.Add(type, ids); return units; }