annotate artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java @ 7076:7f600001c807 generator-refactoring

Add LTR inversion code to diagram generator. This code is used in serveral diagrams and as it modifies a whole diagram it should be central. (This should also make maintenance easier). This function can be called by processors to make sure that their data is plotted with an LTR waterflow.
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 20 Sep 2013 16:33:22 +0200
parents 2c7a16d59f67
children 0a337f0005c2
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
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4929
diff changeset
9 package org.dive4elements.river.exports;
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.OutputStream;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.text.NumberFormat;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.ArrayList;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import java.util.List;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.w3c.dom.Document;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import org.apache.log4j.Logger;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import au.com.bytecode.opencsv.CSVWriter;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4929
diff changeset
22 import org.dive4elements.artifacts.CallContext;
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
24 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4929
diff changeset
25 import org.dive4elements.river.artifacts.model.CalculationResult;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4929
diff changeset
26 import org.dive4elements.river.artifacts.model.MiddleBedHeightData;
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
27 import org.dive4elements.river.utils.RiverUtils;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4929
diff changeset
28 import org.dive4elements.river.utils.Formatter;
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 /**
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 */
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 public class MiddleBedHeightExporter extends AbstractExporter {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
3042
2ff802d66b71 trivial doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2714
diff changeset
36 /** Private logger. */
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private static final Logger logger =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 Logger.getLogger(MiddleBedHeightExporter.class);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 public static final String CSV_KM =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 "export.bedheight_middle.csv.header.km";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 public static final String CSV_SOUNDING =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 "export.bedheight_middle.csv.header.sounding";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public static final String CSV_HEIGHT =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 "export.bedheight_middle.csv.header.height";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public static final String CSV_UNCERTAINTY =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 "export.bedheight_middle.csv.header.uncertainty";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 public static final String CSV_DATA_GAP =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 "export.bedheight_middle.csv.header.datagap";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 public static final String CSV_SOUNDING_WIDTH =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 "export.bedheight_middle.csv.header.soundingwidth";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 public static final String CSV_WIDTH =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 "export.bedheight_middle.csv.header.width";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 public static final String CSV_LOCATIONS =
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 "export.bedheight_middle.csv.header.locations";
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 protected List<MiddleBedHeightData[]> data;
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 public void init(Document request, OutputStream out, CallContext cc) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 super.init(request, out, cc);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 data = new ArrayList<MiddleBedHeightData[]>();
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 @Override
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 protected void addData(Object d) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 if (d instanceof CalculationResult) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 d = ((CalculationResult) d).getData();
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 if (d instanceof MiddleBedHeightData[]) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 logger.debug("Add new data of type MiddleBedHeightData");
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 data.add((MiddleBedHeightData[]) d);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 @Override
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 protected void writeCSVData(CSVWriter writer) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 logger.info("MiddleBedHeightExporter.writeCSVData");
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 logger.debug("CSV gets " + data.size() + " MiddleBedHeightData objects.");
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 writeCSVHeader(writer);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 for (MiddleBedHeightData[] d: data) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 data2CSV(writer, d);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 protected void writeCSVHeader(CSVWriter writer) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 writer.writeNext(new String[] {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 msg(CSV_KM, CSV_KM),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 msg(CSV_SOUNDING, CSV_SOUNDING),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 msg(CSV_HEIGHT, CSV_HEIGHT),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 msg(CSV_UNCERTAINTY, CSV_UNCERTAINTY),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 msg(CSV_DATA_GAP, CSV_DATA_GAP),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 msg(CSV_SOUNDING_WIDTH, CSV_SOUNDING_WIDTH),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 msg(CSV_WIDTH, CSV_WIDTH),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 msg(CSV_LOCATIONS, CSV_LOCATIONS)
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 });
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 protected void data2CSV(CSVWriter writer, MiddleBedHeightData[] mData) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 logger.debug("Add next MiddleBedHeightData to CSV");
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
117 D4EArtifact flys = (D4EArtifact) master;
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 NumberFormat kmF = Formatter.getMiddleBedHeightKM(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 NumberFormat heightF = Formatter.getMiddleBedHeightHeight(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121 NumberFormat uncertF = Formatter.getMiddleBedHeightUncert(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 NumberFormat gapF = Formatter.getMiddleBedHeightDataGap(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 NumberFormat soundF = Formatter.getMiddleBedHeightSounding(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 NumberFormat widthF = Formatter.getMiddleBedHeightWidth(context);
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125
4929
1366277655b9 Bedheights: Write sounding name and set max fraction digits in calculation output.
Raimund Renkert <rrenkert@intevation.de>
parents: 3042
diff changeset
126 heightF.setMaximumFractionDigits(1);
1366277655b9 Bedheights: Write sounding name and set max fraction digits in calculation output.
Raimund Renkert <rrenkert@intevation.de>
parents: 3042
diff changeset
127 soundF.setMaximumFractionDigits(1);
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 for (MiddleBedHeightData data: mData) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 for (int i = 0, n = data.size(); i < n; i++) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 int start = data.getStartYear();
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 int end = data.getEndYear();
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 if (start == end) {
6351
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
134 String uncert = !Double.isNaN(data.getUncertainty(i)) ?
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
135 uncertF.format(data.getUncertainty(i)) : "";
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
136 String gap = !Double.isNaN(data.getDataGap(i)) ?
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
137 gapF.format(data.getDataGap(i)) + "%" : "";
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
138 String sound = !Double.isNaN(data.getSoundingWidth(i)) ?
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
139 soundF.format(data.getSoundingWidth(i)) : "";
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 writer.writeNext(new String[] {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 kmF.format(data.getKM(i)),
4929
1366277655b9 Bedheights: Write sounding name and set max fraction digits in calculation output.
Raimund Renkert <rrenkert@intevation.de>
parents: 3042
diff changeset
142 data.getDescription(),
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 heightF.format(data.getMiddleHeight(i)),
6351
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
144 uncert,
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
145 gap,
2c7a16d59f67 Use Double.NaN for missing values in middle bedheight calculation and write empty strings in csv export.
Raimund Renkert <rrenkert@intevation.de>
parents: 5994
diff changeset
146 sound,
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 widthF.format(data.getWidth(i)),
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
148 RiverUtils.getLocationDescription(flys, data.getKM(i)),
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 });
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 else {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 writer.writeNext(new String[] {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 kmF.format(data.getKM(i)),
4929
1366277655b9 Bedheights: Write sounding name and set max fraction digits in calculation output.
Raimund Renkert <rrenkert@intevation.de>
parents: 3042
diff changeset
154 data.getDescription(),
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
155 heightF.format(data.getMiddleHeight(i)),
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 "",
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157 "",
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 "",
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 "",
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
160 RiverUtils.getLocationDescription(flys, data.getKM(i)),
2714
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161 });
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
167
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 @Override
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170 protected void writePDF(OutputStream out) {
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 logger.error("TODO: Implement FlowVelocityExporter.writePDF");
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
173 }
2952f6dee5cf Added an exporter for middle bed height values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org