annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiameterResult.java @ 8581:073ea4bcea58

(issue1755) Interpolate BedQuality Results This adds an interpolation function to each various bedQuality result class. Imho this is ok as the interpolation function can be seen as part of the result. The interpolation function is initalized on first use and can be accessed through get.*Interpol functions.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 16 Mar 2015 15:36:38 +0100
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: 3785
diff changeset
9 package org.dive4elements.river.artifacts.model.minfo;
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
11 import org.dive4elements.river.utils.DoubleUtil;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
12
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import gnu.trove.TDoubleArrayList;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
15 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
16
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
17 import org.apache.commons.math.ArgumentOutsideDomainException;
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 public class BedDiameterResult
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 extends BedQualityDiameterResult
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 protected TDoubleArrayList diameterCap;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 protected TDoubleArrayList diameterSub;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
25 protected PolynomialSplineFunction interpolSub;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
26 protected PolynomialSplineFunction interpolCap;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
27 protected boolean nonInterpolSub;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
28 protected boolean nonInterpolCap;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
29
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 public BedDiameterResult (
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 String type,
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 TDoubleArrayList diameterCap,
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 TDoubleArrayList diameterSub,
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 TDoubleArrayList km
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 ) {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 super(type, km);
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 this.diameterCap = diameterCap;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 this.diameterSub = diameterSub;
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
39 interpolSub = null;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
40 nonInterpolSub = false;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
41 interpolCap = null;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
42 nonInterpolCap = false;
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public double getDiameterCap(int ndx) {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 if (diameterCap != null) {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 return this.diameterCap.get(ndx);
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 return Double.NaN;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 public double getDiameterSub(int ndx) {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 if (diameterSub != null) {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 return this.diameterSub.get(ndx);
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 return Double.NaN;
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
59 public double getDiameterCap(double km) {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
60 if (kms.indexOf(km) >= 0) {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
61 return diameterCap.get(kms.indexOf(km));
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
62 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
63 return Double.NaN;
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
64 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
65
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
66 public double getDiameterCapInterpol(double km) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
67 if (nonInterpolCap) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
68 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
69 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
70 if (interpolCap == null) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
71 interpolCap = DoubleUtil.getLinearInterpolator(kms, diameterCap);
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
72 if (interpolCap == null) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
73 nonInterpolCap = true;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
74 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
75 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
76 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
77 try {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
78 return interpolCap.value(km);
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
79 } catch (ArgumentOutsideDomainException e) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
80 /* This is expected for many results. */
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
81 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
82 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
83 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
84
3785
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
85 public double getDiameterSub(double km) {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
86 if (kms.indexOf(km) >= 0) {
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
87 return diameterSub.get(kms.indexOf(km));
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
88 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
89 return Double.NaN;
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
90 }
a5f65e8983be Merged revisions 5501-5502,5504-5508,5511-5513,5516-5519 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3784
diff changeset
91
8581
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
92 public double getDiameterSubInterpol(double km) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
93 if (nonInterpolSub) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
94 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
95 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
96 if (interpolSub == null) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
97 interpolSub = DoubleUtil.getLinearInterpolator(kms, diameterSub);
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
98 if (interpolSub == null) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
99 nonInterpolSub = true;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
100 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
101 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
102 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
103 try {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
104 return interpolSub.value(km);
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
105 } catch (ArgumentOutsideDomainException e) {
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
106 /* This is expected for many results. */
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
107 return Double.NaN;
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
108 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
109 }
073ea4bcea58 (issue1755) Interpolate BedQuality Results
Andre Heinecke <andre.heinecke@intevation.de>
parents: 5994
diff changeset
110
3784
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 public double[][] getDiameterCapData() {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 return new double[][] {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 kms.toNativeArray(),
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 diameterCap.toNativeArray()
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 };
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 public double[][] getDiameterSubData() {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 return new double[][] {
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 kms.toNativeArray(),
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 diameterSub.toNativeArray()
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 };
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 }
9f9d5ada96ca Merged revisions 5498-5499 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }

http://dive4elements.wald.intevation.org