Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java @ 153:c97f9bc9b642
The out() operation of the WINFO artifact draws discharge tables for gauges specified by the user.
flys-artifacts/trunk@1590 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 28 Mar 2011 14:33:36 +0000 |
parents | c904d52cdfd0 |
children | 03362976fa0f |
comparison
equal
deleted
inserted
replaced
152:956445dd601d | 153:c97f9bc9b642 |
---|---|
40 public DischargeTables(String riverName, List<String> gaugeNames) { | 40 public DischargeTables(String riverName, List<String> gaugeNames) { |
41 this.riverName = riverName; | 41 this.riverName = riverName; |
42 this.gaugeNames = gaugeNames; | 42 this.gaugeNames = gaugeNames; |
43 } | 43 } |
44 | 44 |
45 public Map<String, double [][]> getValues() { | 45 public Map<String, double [][]> getValues(double scale) { |
46 if (values == null) { | 46 if (values == null) { |
47 values = loadValues(); | 47 values = loadValues(scale); |
48 } | 48 } |
49 return values; | 49 return values; |
50 } | 50 } |
51 | 51 |
52 protected Map<String, double [][]> loadValues() { | 52 protected Map<String, double [][]> loadValues(double scale) { |
53 Map<String, double [][]> values = new HashMap<String, double [][]>(); | 53 Map<String, double [][]> values = new HashMap<String, double [][]>(); |
54 | 54 |
55 SessionFactory sf = SessionFactoryProvider.getSessionFactory(); | 55 SessionFactory sf = SessionFactoryProvider.getSessionFactory(); |
56 Session session = sf.openSession(); | 56 Session session = sf.openSession(); |
57 | 57 |
86 | 86 |
87 double [][] vs = new double[2][dtvs.size()]; | 87 double [][] vs = new double[2][dtvs.size()]; |
88 | 88 |
89 int idx = 0; | 89 int idx = 0; |
90 for (DischargeTableValue dtv: dtvs) { | 90 for (DischargeTableValue dtv: dtvs) { |
91 vs[0][idx] = dtv.getW().doubleValue(); | 91 vs[0][idx] = dtv.getQ().doubleValue() * scale; |
92 vs[1][idx] = dtv.getQ().doubleValue(); | 92 vs[1][idx] = dtv.getW().doubleValue() * scale; |
93 ++idx; | 93 ++idx; |
94 } | 94 } |
95 | 95 |
96 values.put(gaugeName, vs); | 96 values.put(gaugeName, vs); |
97 } | 97 } |