Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/Porosity.java @ 8584:ce325339e9ba
(issue1754) Add range to W / Bed difference export.
This also fixes the Title layout in waterlevel report and
removes the year/epoch field from the english beddifference report.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 16 Mar 2015 17:38:08 +0100 |
parents | e84726b48484 |
children |
rev | line source |
---|---|
7846
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 * |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 */ |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import java.util.HashMap; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.Map; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 public class Porosity |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 private Map<Double, Double> pairs; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 public Porosity() { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 pairs = new HashMap<Double, Double>(); |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 public void add(double station, double porosity) { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 this.pairs.put(station, porosity); |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 public Map<Double, Double> getAll() { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 return this.pairs; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 public double[][] getAsArray() { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 double [][] array = new double[2][pairs.size()]; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 Double[] kms = pairs.keySet().toArray(new Double[pairs.size()]); |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 Double[] porosity = pairs.values().toArray(new Double[pairs.size()]); |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 int realIndex = 0; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 for (int i = 0; i < kms.length; i++) { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 if (kms[i] == null || porosity[i] == null) { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 continue; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 array[0][realIndex] = kms[i]; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 array[1][realIndex] = porosity[i]; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 realIndex++; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 return array; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 public Double getWidth(double station) { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 if (this.pairs.containsKey(station)) { |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 return this.pairs.get(station); |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 return null; |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 } |
e84726b48484
New Facet, datatype and data factory for porosities.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 } |