Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MorphologicWidth.java @ 7995:2f88a98d9aae facet-metadata
Added missing facet.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 15:54:23 +0200 |
parents | af13ceeba52a |
children |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5778
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.minfo; |
5764
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import java.util.HashMap; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.Map; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 public class MorphologicWidth |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 private Map<Double, Double> pairs; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 public MorphologicWidth() { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 pairs = new HashMap<Double, Double>(); |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 public void add(double station, double width) { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 this.pairs.put(station, width); |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 public Map<Double, Double> getAll() { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 return this.pairs; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 public double[][] getAsArray() { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 double [][] array = new double[2][pairs.size()]; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 Double[] kms = pairs.keySet().toArray(new Double[pairs.size()]); |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 Double[] width = pairs.values().toArray(new Double[pairs.size()]); |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 int realIndex = 0; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 for (int i = 0; i < kms.length; i++) { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 if (kms[i] == null || width[i] == null) { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 continue; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 array[0][realIndex] = kms[i]; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 array[1][realIndex] = width[i]; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 realIndex++; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 return array; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 public Double getWidth(double station) { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 if (this.pairs.containsKey(station)) { |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 return this.pairs.get(station); |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 return null; |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 } |
7ac111db8a07
Model, factory, facet and static artifact for morphologic width.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 } |