annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataFacet.java @ 8142:d4e4dde1d5cb

With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
author Tom Gottfried <tom@intevation.de>
date Tue, 26 Aug 2014 17:16:21 +0200
parents 8eb25cbfe242
children ce35bdf3d750
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
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
20 import org.dive4elements.artifactdatabase.state.Facet;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
22 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
23 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
24 import org.dive4elements.artifacts.CallMeta;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
25
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.river.artifacts.resources.Resources;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
27 import org.dive4elements.river.artifacts.D4EArtifact;
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
28
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
29 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
30 import org.dive4elements.river.artifacts.model.DataFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
31
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
32 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
33
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
34 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5778
diff changeset
35
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
36 import java.util.List;
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
37
5778
4a1bd43e7aa6 Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5744
diff changeset
38 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
39
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40
5647
ddb2a4e982b8 Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5645
diff changeset
41 /** 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
42 public class SedimentLoadDataFacet
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 extends DataFacet
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 {
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
45 /** Very own logger. */
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
46 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
47
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
48 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
49
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
50 public String fraction;
5647
ddb2a4e982b8 Doc and cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5645
diff changeset
51
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
52 public SedimentLoadDataFacet() {
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
55 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
56 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
57 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
58
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
59 this.fraction = fraction_name;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
60
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
61 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
62 String i18nUnit;
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
63 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
64 typeUnit = "m3a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
65 i18nUnit = "m\u00b3/a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
66 } else {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
67 typeUnit = "ta";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
68 i18nUnit = "t/a";
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
69 }
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
70
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
71 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
72
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
73 CallMeta meta = context.getMeta();
8142
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
74 /* descriptions of real calculation results have to be distinguished
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
75 from simple fractions from the database */
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
76 String isCalculated = fraction_name.equals("total") ||
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
77 fraction_name.equals("bed_load") ||
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
78 fraction_name.equals("suspended_load") ? "calc." : "";
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
79 description = Resources.getMsg(
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
80 meta,
8142
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
81 "facet.sedimentload." + isCalculated + fraction_name,
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
82 "Error: please add l10n for facet.sedimentload." + fraction_name,
8142
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
83 /* TODO handle multiple periods per fraction */
d4e4dde1d5cb With the exception of real calculation results, descriptions of sediment loads can all follow the same pattern.
Tom Gottfried <tom@intevation.de>
parents: 8138
diff changeset
84 new Object[] { "period", i18nUnit });
8125
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 /* Is this necessary? */
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
87 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
88 metaData.put("Y", "");
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90
6679
0c593745bcd6 Added @Override annotation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6412
diff changeset
91 @Override
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 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
93 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
94
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
95 D4EArtifact flys = (D4EArtifact) artifact;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
97 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
98 Object payload = res.getData();
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
100 if (!(payload instanceof SedimentLoadDataResult)) {
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
101 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
102 }
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
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 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
105
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
106 List<Fraction> fractions = sdResult.getFractionsByName(fraction);
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
107 if (fractions == null) {
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
108 logger.warn("No result for: " + fraction);
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
109 return null;
6382
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
110 }
43ef4943e0c2 SedimentLoadFacet: Now that we have total load values with correct ranges in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6343
diff changeset
111
8132
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
112 /* TODO handle multiple periods per fraction */
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
113 if (fractions.size() > 1) {
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
114 logger.warn("Multiple periods not implemented.");
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
115 }
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
116
58e3fed51e9e GetFractionByName now returns a list as it can differ in Epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8125
diff changeset
117 return fractions.get(0).getData();
5645
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
118
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
119 /* Are gaps neccessary now?
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
120 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
121 // 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
122 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
123 && 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
124 values[0][x] = Double.NaN;
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
125 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
126 }
696d710470f5 flys/issue1077: Show loads as step line, therefore transform data in
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4372
diff changeset
127 }
5653
5231e6b849ce issue1077: Handle overlapping measurement station ranges, refactored Generator,
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5648
diff changeset
128
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
129 return values; */
5648
4feda81c38bc SedimentLoadFacet: Minor refactor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5647
diff changeset
130 }
4feda81c38bc SedimentLoadFacet: Minor refactor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5647
diff changeset
131
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 /** Copy deeply. */
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 @Override
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 public Facet deepCopy() {
8094
bb0d35d32b01 Rename the SedimentLoadDataFacet and add deprection comment
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8090
diff changeset
135 SedimentLoadDataFacet copy = new SedimentLoadDataFacet();
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 copy.set(this);
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 copy.type = type;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 copy.hash = hash;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 copy.stateId = stateId;
8125
f01c65261963 (issue1448) Add WIP SedimentLoadDataFacet and use it in calculation.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8094
diff changeset
140 copy.fraction = fraction;
4372
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 return copy;
19772b414d46 New facet and result set for sediment load.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 }
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org