public static void writeTimeSeriesData(Config config, CsvData csv, HecDss dssFile, String file) throws Exception { TimeSeriesContainer ts = new TimeSeriesContainer(); ts.fullName = config.path; ts.fileName = file; ts.times = new int[csv.data.size()]; for (int i = 0; i < csv.data.size(); i++) { ts.times[i] = calcTime(csv.data.get(i).name, i == 0 ? true : false); } ts.startTime = ts.times[0]; ts.endTime = ts.times[ts.times.length - 1]; ts.values = csv.columns[0]; ts.numberValues = ts.values.length; if (config.getParameter() != null) { ts.parameter = config.getParameter(); // partE; } if (config.getLocation() != null) { ts.location = config.getLocation(); // partE; } ts.type = config.getXtype(); ts.units = config.getUnits(); dssFile.put(ts); }
public static void writePairedData(Config config, CsvData data, HecDss dssFile) throws Exception { PairedDataContainer pdc = new PairedDataContainer(); if (config.label != null) { pdc.labels = new String[] {"", config.label}; } if (config.date != null) { pdc.date = config.date; } if (config.location != null) { pdc.location = config.location; } if (config.xunits != null) { pdc.xunits = config.xunits; } if (config.xtype != null) { pdc.xtype = pdc.xtype; } if (config.xparameter != null) { pdc.xparameter = pdc.xparameter; } pdc.xOrdinate = config.xOrdinate; if (config.yunits != null) { pdc.yunits = config.yunits; } if (config.ytype != null) { pdc.ytype = config.ytype; } if (config.yparameter != null) { pdc.yparameter = config.yparameter; } pdc.yOrdinate = config.yOrdinate; pdc.fullName = config.path; pdc.xOrdinates = data.firstColumn; pdc.yOrdinates = data.columns; pdc.numberCurves = config.numberCurves; pdc.numberOrdinates = pdc.xOrdinates.length; dssFile.put(pdc); }
public static HecDss open(String file) throws Exception { HecDSSUtilities.setMessageLevel(0); return HecDss.open(file); }
public static void exportJson(HecDss dssFile, String directory, String regex) throws Exception { int count = 0; HashMap<String, HashMap<String, Integer>> map = new HashMap<String, HashMap<String, Integer>>(); Vector<CondensedReference> v = dssFile.getCondensedCatalog(); ObjectMapper mapper = new ObjectMapper(); cleanDirectory(new File(directory)); new File(directory).mkdir(); for (CondensedReference path : v) { CwsContainer ts = new CwsContainer(); DataContainer dc; String name; String parameter; try { String hecpath = path.getNominalPathname(); if (!regex.contentEquals("") && regex != null) { if (!hecpath.matches(regex)) continue; } dc = dssFile.get(hecpath, true); if (dc instanceof TimeSeriesContainer) { ts.timeSeriesContainer = (TimeSeriesContainer) dc; name = ts.timeSeriesContainer.getLocationName(); parameter = ts.timeSeriesContainer.getParameterName(); if (ts.timeSeriesContainer.times == null) { System.out.println("Ignoring: " + path.getNominalPathname()); continue; } for (int i = 0; i < ts.timeSeriesContainer.times.length; i++) { ts.dates.add(Dss.calcDate(ts.timeSeriesContainer.times[i])); } } else { ts.pairedDataContainer = (PairedDataContainer) dc; parameter = "pairedData"; name = ts.pairedDataContainer.location; } } catch (Exception e2) { continue; } mapper.writeValue(new File(directory + File.separatorChar + count + ".json"), ts); if (!map.containsKey(name)) { map.put(name, new HashMap<String, Integer>()); } map.get(name).put(parameter, count); count += 1; } mapper.writeValue(new File(directory + File.separatorChar + "index.json"), map); }