annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataFacet.java @ 8125:f01c65261963

(issue1448) Add WIP SedimentLoadDataFacet and use it in calculation. The unit handling is currently just a stub
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 25 Aug 2014 15:56:09 +0200
parents bb0d35d32b01
children 58e3fed51e9e
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: 5867
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: 5867
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
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
9 // TODO Aheinecke 15.8.2014
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
10 // This class was formerly known as SedimentLoadFacet.
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
11 // This class could be a base for the calculated sediment loads.
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
12 // If there is another facet for them remove this
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
13 // class altogether.
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
14 //
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
15 // The new SedimentLoadFacet is a new StaticFacet which only wraps
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
16 // static data from the database.
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
17
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
18 package org.dive4elements.river.artifacts.model.minfo;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
19
6382
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
20 import gnu.trove.TDoubleArrayList;
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
22 import org.dive4elements.artifactdatabase.state.Facet;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
23
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
24 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
25 import org.dive4elements.artifacts.CallContext;
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
26 import org.dive4elements.artifacts.CallMeta;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
27
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
28 import org.dive4elements.river.artifacts.resources.Resources;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
29 import org.dive4elements.river.artifacts.D4EArtifact;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
30
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
31 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
32 import org.dive4elements.river.artifacts.model.DataFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
33 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
34
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
35 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadDataResult;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
36 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadDataResult.Fraction;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
37
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
38 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
39
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
40 import org.dive4elements.river.model.MeasurementStation;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
41
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
42 import org.dive4elements.river.utils.RiverUtils;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
44 import java.util.ArrayList;
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
45 import java.util.Collections;
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
46 import java.util.List;
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
47 import java.util.Map;
6940
274948f91dd6 issue1466: Fix, sort stations before gap detection.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6679
diff changeset
48 import java.util.TreeSet;
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
49 import java.util.TreeMap;
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
50
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
51 import org.apache.log4j.Logger;
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
52
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53
5647
ddb2a4e982b8 Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5645
diff changeset
54 /** Facet to access various sediment loads. */
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
55 public class SedimentLoadDataFacet
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 extends DataFacet
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 {
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
58 /** Very own logger. */
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
59 private static Logger logger = Logger.getLogger(SedimentLoadDataFacet.class);
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
61 private static final String BASE_NAME = "sedimentload";
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
62
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
63 public String fraction;
5647
ddb2a4e982b8 Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5645
diff changeset
64
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
65 public SedimentLoadDataFacet() {
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
68 public SedimentLoadDataFacet(int idx, String fraction_name, String unit,
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
69 ComputeType type, String stateId, String hash, CallContext context) {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
70 super(idx, /*name*/"", ""/*description*/, type, hash, stateId);
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
71
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
72 this.fraction = fraction_name;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
73
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
74 String typeUnit; /* Gnah someone should unify unit strings,... */
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
75 String i18nUnit;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
76 if (unit != null && unit.equals("m3/a")) {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
77 typeUnit = "m3a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
78 i18nUnit = "m\u00b3/a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
79 } else {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
80 typeUnit = "ta";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
81 i18nUnit = "t/a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
82 }
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
83
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
84 name = BASE_NAME + "." + typeUnit + "." + fraction_name;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
85
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
86 CallMeta meta = context.getMeta();
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
87 description = Resources.getMsg(
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
88 meta,
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
89 "facet.sedimentload." + fraction_name,
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
90 "Error: please add l10n for facet.sedimentload." + fraction_name,
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
91 new Object[] { i18nUnit });
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
92
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
93 /* Is this necessary? */
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
94 metaData.put("X", "chart.longitudinal.section.xaxis.label");
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
95 metaData.put("Y", "");
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97
6679
0c593745bcd6 Added @Override annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6412
diff changeset
98 @Override
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 public Object getData(Artifact artifact, CallContext context) {
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
100 logger.debug("Get data for sediment load with fraction: " + fraction);
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
102 D4EArtifact flys = (D4EArtifact) artifact;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
104 CalculationResult res = (CalculationResult) flys.compute(context, hash, stateId, type, false);
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
105 Object payload = res.getData();
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
107 if (!(payload instanceof SedimentLoadDataResult)) {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
108 logger.error("Invalid result!");
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
109 }
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
110
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
111 SedimentLoadDataResult sdResult = (SedimentLoadDataResult) payload;
6382
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
112
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
113 Fraction frac = sdResult.getFractionByName(fraction);
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
114 if (frac == null) {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
115 logger.warn("No result for: " + fraction);
6382
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
116 }
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
117
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
118 return frac.getData();
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
119
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
120 /* Are gaps neccessary now?
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
121 for (int x = 0; x < values[0].length-1; x++) {
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
122 // Introduce gaps where no data in measurement station.
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
123 if (Math.abs(values[0][x+1] - values[0][x]) > 3*EPSILON
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
124 && values[1][x+1] != values[1][x]) {
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
125 values[0][x] = Double.NaN;
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
126 values[1][x] = Double.NaN;
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
127 }
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
128 }
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
129
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
130 return values; */
5648
4feda81c38bc SedimentLoadFacet: Minor refactor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5647
diff changeset
131 }
4feda81c38bc SedimentLoadFacet: Minor refactor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5647
diff changeset
132
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 /** Copy deeply. */
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 @Override
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 public Facet deepCopy() {
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
136 SedimentLoadDataFacet copy = new SedimentLoadDataFacet();
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 copy.set(this);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 copy.type = type;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 copy.hash = hash;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 copy.stateId = stateId;
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
141 copy.fraction = fraction;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 return copy;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org