Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQ.java @ 2792:fe987587ebc9
Merged revisions 4539-4540,4543,4545-4546 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r4539 | teichmann | 2012-05-27 20:02:13 +0200 (So, 27 Mai 2012) | 1 line
FixA: Added forgotten csv/report facets/generators to conf.
........
r4540 | teichmann | 2012-05-27 20:11:31 +0200 (So, 27 Mai 2012) | 1 line
FixA: Fixed class cast bug in report facet.
........
r4543 | teichmann | 2012-05-28 20:35:01 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: Added facet to return delta w/t as CSV
........
r4545 | teichmann | 2012-05-28 22:59:27 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: Made Delta W/t calculation finally work
........
r4546 | teichmann | 2012-05-28 23:34:24 +0200 (Mo, 28 Mai 2012) | 1 line
FixA: corrected fitting (Q->W instead W->Q).
........
flys-artifacts/tags/2.7@4547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 29 May 2012 04:58:29 +0000 |
parents | 5ff481ab24a1 |
children | bcf25d8c183e |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.regex.Matcher; import java.util.regex.Pattern; import gnu.trove.TDoubleArrayList; import org.apache.log4j.Logger; public class WQ extends W { public static final Pattern NUMBERS_PATTERN = Pattern.compile("\\D*(\\d++.\\d*)\\D*"); private static Logger log = Logger.getLogger(WQ.class); protected TDoubleArrayList qs; public WQ() { this(""); } public WQ(String name) { super(name); qs = new TDoubleArrayList(); } public WQ(int capacity) { this(capacity, ""); } public WQ(int capacity, String name) { super(capacity, name); qs = new TDoubleArrayList(capacity); } public WQ(double [] qs, double [] ws) { this(qs, ws, ""); } public WQ(double [] qs, double [] ws, String name) { super(name); this.ws = new TDoubleArrayList(ws); this.qs = new TDoubleArrayList(qs); } public Double getRawValue() { if (name == null || name.length() == 0) { // this should never happen return null; } Matcher m = NUMBERS_PATTERN.matcher(name); if (m.matches()) { String raw = m.group(1); try { return Double.valueOf(raw); } catch (NumberFormatException nfe) { // do nothing } } return null; } public void add(double w, double q) { ws.add(w); qs.add(q); } public double getQ(int idx) { return qs.getQuick(idx); } @Override public double [] get(int idx) { return get(idx, new double [2]); } @Override public double [] get(int idx, double [] dst) { dst[0] = ws.getQuick(idx); dst[1] = qs.getQuick(idx); return dst; } public double [] getQs() { return qs.toNativeArray(); } @Override public void removeNaNs() { removeNaNs(new TDoubleArrayList [] { ws, qs }); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :