Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/process/SedimentLoadLSProcessor.java @ 8472:3f505fba522f
(issue1772) Use 0.001km tolarance instead of 0.1 to find matching km.
There is no sense to use a define here. I will not write
static final double NULLPOINTNULLNULLONE=0.001 if i just want to use that
value and not any other value which may make sense in some other place.
Using hardcoded values can have its merits and makes the code easier to
read.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 18 Nov 2014 15:24:40 +0100 |
parents | c657ddcf1fa6 |
children | 1cc7653ca84f 0a5239a1e46e |
rev | line source |
---|---|
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesanstalt für Gewässerkunde |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 * |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
7 */ |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
8 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.exports.process; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
10 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
11 import org.apache.log4j.Logger; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
12 import org.jfree.data.xy.XYSeries; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
13 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
15 import org.dive4elements.artifacts.CallContext; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
16 import org.dive4elements.river.exports.DiagramGenerator; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
17 import org.dive4elements.river.exports.StyledSeriesBuilder; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
18 import org.dive4elements.river.jfree.StyledXYSeries; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
19 import org.dive4elements.river.themes.ThemeDocument; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
20 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
21 // Base class for SedimantLoad$UNITProcessors |
8204
c657ddcf1fa6
Sediment loads at measurement stations and longitudinal sections need different processing and styling for diagrams.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
22 public class SedimentLoadLSProcessor extends DefaultProcessor |
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
23 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8154
diff
changeset
|
24 private final static Logger log = |
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
25 Logger.getLogger(SedimentLoadProcessor.class); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
26 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
27 @Override |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
28 public void doOut( |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
29 DiagramGenerator generator, |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
30 ArtifactAndFacet bundle, |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 ThemeDocument theme, |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 boolean visible) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8154
diff
changeset
|
33 log.debug("doOut " + bundle.getFacetName()); |
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
34 CallContext context = generator.getCallContext(); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
36 false, // Handle NaN |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
37 theme); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
38 Object data = bundle.getData(context); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
39 String facetName = bundle.getFacetName(); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
40 double [][] points; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
41 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8154
diff
changeset
|
42 log.debug("Do out for: " + facetName); |
8148 | 43 if (facetName.startsWith("sedimentload.")) { |
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
44 points = (double[][]) data; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
45 } else { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8154
diff
changeset
|
46 log.error("Unknown facet name: " + facetName); |
7685
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
47 return; |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
48 } |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
49 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
50 StyledSeriesBuilder.addPoints(series, points, false); // Keep NaN |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 generator.addAxisSeries(series, axisName, visible); |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 } |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 } |
270946b97539
(issue1614) Handle NaN in Styled Series created by SedimentLoadProcessors
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 |