comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthExporter.java @ 8882:f762fadc5313

Further work on SINFO-FlowDepth
author gernotbelger
date Fri, 09 Feb 2018 16:11:47 +0100
parents 64ca63f79f6f
children 7a8c12706834
comparison
equal deleted inserted replaced
8881:6b93a2498e06 8882:f762fadc5313
26 import org.dive4elements.river.artifacts.resources.Resources; 26 import org.dive4elements.river.artifacts.resources.Resources;
27 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource; 27 import org.dive4elements.river.artifacts.sinfo.util.MetaAndTableJRDataSource;
28 import org.dive4elements.river.exports.AbstractExporter; 28 import org.dive4elements.river.exports.AbstractExporter;
29 import org.dive4elements.river.model.River; 29 import org.dive4elements.river.model.River;
30 import org.dive4elements.river.model.Unit; 30 import org.dive4elements.river.model.Unit;
31 import org.dive4elements.river.utils.RiverUtils;
31 32
32 import au.com.bytecode.opencsv.CSVWriter; 33 import au.com.bytecode.opencsv.CSVWriter;
33 import net.sf.jasperreports.engine.JRDataSource; 34 import net.sf.jasperreports.engine.JRDataSource;
34 import net.sf.jasperreports.engine.JRException; 35 import net.sf.jasperreports.engine.JRException;
35 import net.sf.jasperreports.engine.JasperExportManager; 36 import net.sf.jasperreports.engine.JasperExportManager;
85 86
86 private static final String CSV_META_HEADER_SOUNDING_YEAR = "sinfo.export.flow_depth.csv.meta.header.sounding.year"; 87 private static final String CSV_META_HEADER_SOUNDING_YEAR = "sinfo.export.flow_depth.csv.meta.header.sounding.year";
87 88
88 private static final String CSV_META_HEADER_SOUNDING_TYPE = "sinfo.export.flow_depth.csv.meta.header.sounding.type"; 89 private static final String CSV_META_HEADER_SOUNDING_TYPE = "sinfo.export.flow_depth.csv.meta.header.sounding.type";
89 90
91 private static final String CSV_META_HEADER_SOUNDING_EVALUATOR = "sinfo.export.flow_depth.csv.meta.header.sounding.evaluator";
92
90 private static final String CSV_META_HEADER_SOUNDING_PRJ = "sinfo.export.flow_depth.csv.meta.header.sounding.prj"; 93 private static final String CSV_META_HEADER_SOUNDING_PRJ = "sinfo.export.flow_depth.csv.meta.header.sounding.prj";
91 94
92 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel"; 95 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel";
93 96
94 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL_ORIGINAL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel.original"; 97 private static final String CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL_ORIGINAL = "sinfo.export.flow_depth.csv.meta.header.sounding.elevationmodel.original";
95 98
96 private static final String CSV_META_HEADER_WATERLEVEL = "sinfo.export.flow_depth.csv.meta.header.waterlevel"; 99 private static final String CSV_META_HEADER_WATERLEVEL = "sinfo.export.flow_depth.csv.meta.header.waterlevel";
97 100
98 private static final String CSV_META_HEADER_WATERLEVEL_NAME = "sinfo.export.flow_depth.csv.meta.header.waterlevel.name"; 101 private static final String CSV_META_HEADER_WATERLEVEL_NAME = "sinfo.export.flow_depth.csv.meta.header.waterlevel.name";
99 102
100 private static final String CSV_META_HEADER_WATERLEVEL_EVALUATOR = "sinfo.export.flow_depth.csv.meta.header.waterlevel.evaluator";
101 103
102 private static final String CSV_META_HEADER_WATERLEVEL_GAUGE = "sinfo.export.flow_depth.csv.meta.header.waterlevel.gauge"; 104 private static final String CSV_META_HEADER_WATERLEVEL_GAUGE = "sinfo.export.flow_depth.csv.meta.header.waterlevel.gauge";
103 105
104 private static final String CSV_META_HEADER_WATERLEVEL_YEAR = "sinfo.export.flow_depth.csv.meta.header.waterlevel.year"; 106 private static final String CSV_META_HEADER_WATERLEVEL_YEAR = "sinfo.export.flow_depth.csv.meta.header.waterlevel.year";
105 107
173 175
174 // "# Jahr der Peilung: " 176 // "# Jahr der Peilung: "
175 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_YEAR, Integer.toString(sounding.getYear())); 177 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_YEAR, Integer.toString(sounding.getYear()));
176 // "# Aufnahmeart: " 178 // "# Aufnahmeart: "
177 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_TYPE, sounding.getType()); 179 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_TYPE, sounding.getType());
180 // "# Auswerter: "
181 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_EVALUATOR, sounding.getEvaluationBy());
178 // "# Lagesystem: " 182 // "# Lagesystem: "
179 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_PRJ, sounding.getLocationSystem()); 183 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_PRJ, sounding.getLocationSystem());
180 // "# Höhensystem: " 184 // "# Höhensystem: "
181 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL, sounding.getCurElevationModelUnit()); 185 writeCSVMetaEntry(writer, CSV_META_HEADER_SOUNDING_ELEVATIOIN_MODEL, sounding.getCurElevationModelUnit());
182 // "# ursprüngliches Höhensystem: " 186 // "# ursprüngliches Höhensystem: "
185 189
186 // "##METADATEN WASSERSPIEGELLAGE" 190 // "##METADATEN WASSERSPIEGELLAGE"
187 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL); 191 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL);
188 // "# Bezeichnung der Wasserspiegellage: " 192 // "# Bezeichnung der Wasserspiegellage: "
189 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_NAME, wst.getLabel()); 193 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_NAME, wst.getLabel());
190 // "# Auswerter: "
191 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_EVALUATOR, wst.getSource());
192 // "# Bezugspegel: " 194 // "# Bezugspegel: "
193 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_GAUGE, wst.getGauge()); 195 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_GAUGE, wst.getGauge());
194 // "# Jahr/Zeitraum der Wasserspiegellage: " 196 // "# Jahr/Zeitraum der Wasserspiegellage: "
195 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_YEAR, Integer.toString(wst.getYear())); 197 writeCSVMetaEntry(writer, CSV_META_HEADER_WATERLEVEL_YEAR, Integer.toString(wst.getYear()));
196 198
301 // Q [m³/s] 303 // Q [m³/s]
302 final double discharge = row.getDischarge(); 304 final double discharge = row.getDischarge();
303 if( Double.isNaN(discharge)) 305 if( Double.isNaN(discharge))
304 lines.add(StringUtils.EMPTY); 306 lines.add(StringUtils.EMPTY);
305 else 307 else
306 lines.add(getQFormatter().format(discharge)); 308 {
309 final double roundedDischarge = RiverUtils.roundQ(discharge);
310 lines.add(getQFormatter().format(roundedDischarge));
311 }
307 312
308 // Bezeichnung 313 // Bezeichnung
309 lines.add(row.getWaterlevelLabel()); 314 lines.add(row.getWaterlevelLabel());
310 315
311 // Bezugspegel 316 // Bezugspegel

http://dive4elements.wald.intevation.org