Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java @ 2423:ac528b883b47
Picked rev 4070,4074,4076,4080 from trunk.
flys-artifacts/tags/2.6.1@4083 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 17 Feb 2012 12:59:56 +0000 |
parents | 6f4a1f513e89 |
children | 00cf69edfcc0 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Feb 17 11:29:41 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Feb 17 12:59:56 2012 +0000 @@ -261,16 +261,19 @@ protected void writeCSVData(CSVWriter writer) { logger.info("WaterlevelExporter.writeData"); - WQ_MODE mode = FLYSUtils.getWQMode((FLYSArtifact)master); - boolean atGauge = mode == WQ_MODE.QGAUGE || mode == WQ_MODE.WGAUGE; - boolean isQ = mode == WQ_MODE.QGAUGE || mode == WQ_MODE.QFREE; + WQ_MODE mode = FLYSUtils.getWQMode((FLYSArtifact)master); + boolean atGauge = mode == WQ_MODE.QGAUGE || mode == WQ_MODE.WGAUGE; + boolean isQ = mode == WQ_MODE.QGAUGE || mode == WQ_MODE.QFREE; + FLYSUtils.WQ_INPUT input + = FLYSUtils.getWQInputMode((FLYSArtifact)master); + boolean isRange = input == FLYSUtils.WQ_INPUT.RANGE; writeCSVMeta(writer); writeCSVHeader(writer, atGauge, isQ); for (WQKms[] tmp: data) { for (WQKms wqkms: tmp) { - wQKms2CSV(writer, wqkms, atGauge, isQ); + wQKms2CSV(writer, wqkms, atGauge, isQ, isRange); } } } @@ -338,13 +341,22 @@ FLYSUtils.WQ_MODE wq = FLYSUtils.getWQMode(flys); if (wq == FLYSUtils.WQ_MODE.QFREE || wq == FLYSUtils.WQ_MODE.QGAUGE) { double[] qs = FLYSUtils.getQs(flys); + FLYSUtils.WQ_INPUT input = FLYSUtils.getWQInputMode(flys); - String lower = ""; - String upper = ""; + String data = ""; - if (qs != null && qs.length > 0) { - lower = String.valueOf(qs[0]); - upper = String.valueOf(qs[qs.length-1]); + if ((input == FLYSUtils.WQ_INPUT.ADAPTED || + input == FLYSUtils.WQ_INPUT.RANGE) && + qs != null && qs.length > 0) + { + data = String.valueOf(qs[0]); + data += " - " + String.valueOf(qs[qs.length-1]); + } + else if (input == FLYSUtils.WQ_INPUT.SINGLE && qs != null){ + data = String.valueOf(qs[0]); + for (int i = 1; i < qs.length; i++) { + data += ", " + String.valueOf(qs[i]); + } } else { logger.warn("Could not determine Q range!"); @@ -355,7 +367,7 @@ meta, CSV_META_Q, CSV_META_Q, - new Object[] { lower, upper }) + new Object[] {data}) }); } else { @@ -419,7 +431,8 @@ CSVWriter writer, WQKms wqkms, boolean atGauge, - boolean isQ + boolean isQ, + boolean isRange ) { logger.debug("WaterlevelExporter.wQKms2CSV"); @@ -456,11 +469,15 @@ result = wqkms.get(i, result); if (atGauge) { + String tmp = desc; + if (!isRange) { + tmp = FLYSUtils.getNamedMainValue((WINFOArtifact)flys, wqkms.getRawValue()); + } writer.writeNext(new String[] { kmf.format(result[2]), wf.format(result[0]), qf.format(result[1]), - desc, + tmp, FLYSUtils.getLocationDescription(flys, result[2]), result[2] >= a && result[2] <= b ? gaugeName