Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationResult.java @ 9443:515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
author | mschaefer |
---|---|
date | Mon, 20 Aug 2018 18:50:33 +0200 |
parents | e8b1255fc89e |
children | 853f2dafc16e |
rev | line source |
---|---|
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
2 * Software engineering by |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
3 * Björnsen Beratende Ingenieure GmbH |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
5 * |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
8 * documentation coming with Dive4Elements River for details. |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
9 */ |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
10 package org.dive4elements.river.artifacts.uinfo.salix; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
11 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
12 import java.text.NumberFormat; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
13 import java.util.ArrayList; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
14 import java.util.Collection; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
15 import java.util.List; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
16 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
17 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult; |
9364 | 18 import org.dive4elements.river.artifacts.common.AbstractExportContext; |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
19 import org.dive4elements.river.artifacts.common.ExportContextCSV; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
20 import org.dive4elements.river.artifacts.common.ExportContextPDF; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
21 import org.dive4elements.river.artifacts.common.GeneralResultType; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
22 import org.dive4elements.river.artifacts.common.IExportContext; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
23 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
24 import org.dive4elements.river.artifacts.common.ResultRow; |
9443
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.Calculation; |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
26 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
27 import org.dive4elements.river.artifacts.uinfo.common.UInfoResultType; |
9429
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
28 import org.dive4elements.river.artifacts.uinfo.salix.SalixLineCrossSectionIndexData.SalixWaterlevel; |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
29 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
30 import gnu.trove.TDoubleArrayList; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
31 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
32 /** |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
33 * @author Domenico Nardi Tironi |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
34 */ |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
35 class SalixLineCalculationResult extends AbstractCalculationExportableResult { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
36 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
37 private static final long serialVersionUID = 1L; |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
38 |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
39 private static final String JASPER_FILE = "/jasper/templates/uinfo.salixline.jrxml"; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
40 |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
41 private static final double STATION_TOLERANCE = 0.1d; |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
42 |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
43 private final String[] scenarioLabels; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
44 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
45 private final String partialRangeString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
46 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
47 private final String deltaWString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
48 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
49 public SalixLineCalculationResult(final String label, final Collection<ResultRow> rows) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
50 this(label, new String[] {}, "", "", rows); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
51 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
52 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
53 public SalixLineCalculationResult(final String label, final String[] scenarioLabels, final String partialRangeString, final String deltaWString, |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
54 final Collection<ResultRow> rows) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
55 super(label, rows); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
56 this.scenarioLabels = scenarioLabels; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
57 this.partialRangeString = partialRangeString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
58 this.deltaWString = deltaWString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
59 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
60 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
61 public final int getScenarioCount() { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
62 return (this.scenarioLabels != null) ? this.scenarioLabels.length : 0; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
63 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
64 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
65 public String getScenarioLabel(final int i) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
66 if ((this.scenarioLabels != null) && (i < this.scenarioLabels.length)) |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
67 return this.scenarioLabels[i]; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
68 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
69 return ""; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
70 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
71 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
72 public String getPartialRangeString() { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
73 return this.partialRangeString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
74 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
75 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
76 public String getDeltaWString() { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
77 return this.deltaWString; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
78 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
79 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
80 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
81 public void writeCSVHeader(final ExportContextCSV exportContextCSV, final RiverInfo river) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
82 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
83 final Collection<String> header = new ArrayList<>(); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
84 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
85 header.add(exportContextCSV.formatCsvHeader(GeneralResultType.station)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
86 header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salixline)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
87 header.add(exportContextCSV.formatCsvHeader(UInfoResultType.salix_mw_mnw)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
88 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
89 for (int i = 1; i <= getScenarioCount(); i++) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
90 header.add(exportContextCSV.msg(SalixScenario.getDeltaWHeader())); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
91 header.add(exportContextCSV.msg(SalixScenario.getScenarioValueHeader())); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
92 } |
9397 | 93 header.add(exportContextCSV.formatCsvHeader(GeneralResultType.gaugeLabel)); |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
94 exportContextCSV.writeCSVLine(header.toArray(new String[header.size()])); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
95 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
96 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
97 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
98 protected String[] formatCSVRow(final ExportContextCSV exportContextCSV, final ResultRow row) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
99 return formatRow(exportContextCSV, row); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
100 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
101 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
102 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
103 protected String[] formatPDFRow(final ExportContextPDF exportContextPDF, final ResultRow row) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
104 return formatRow(exportContextPDF, row); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
105 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
106 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
107 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
108 protected String getJasperFile() { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
109 return JASPER_FILE; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
110 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
111 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
112 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
113 protected void addJRTableHeader(final ExportContextPDF exportContextPDF, final MetaAndTableJRDataSource source) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
114 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
115 /* additional column headings */ |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
116 exportContextPDF.addJRMetadata(source, "station_header", GeneralResultType.station); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
117 exportContextPDF.addJRMetadata(source, "salix_line", UInfoResultType.salixline); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
118 exportContextPDF.addJRMetadata(source, "salix_delta_mw", UInfoResultType.salix_mw_mnw); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
119 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
120 for (int i = 1; i <= this.getScenarioCount(); i++) { |
9406 | 121 // TODO Spaltenueberschriften der Scenarios (falls gefordert) |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
122 } |
9397 | 123 exportContextPDF.addJRMetadata(source, "gauge_header", GeneralResultType.gaugeLabel); |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
124 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
125 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
126 private String[] formatRow(final IExportContext context, final ResultRow row) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
127 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
128 final Collection<String> lines = new ArrayList<>(); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
129 lines.add(context.formatRowValue(row, GeneralResultType.station)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
130 lines.add(context.formatRowValue(row, UInfoResultType.salixline)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
131 lines.add(context.formatRowValue(row, UInfoResultType.salix_mw_mnw)); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
132 |
9406 | 133 if (context instanceof ExportContextCSV) { |
134 final NumberFormat formatter = ((AbstractExportContext) context).getSalixScenFormatter(); | |
135 final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixScenarios); | |
136 for (int i = 1; i <= this.getScenarioCount(); i++) { | |
137 if (i > scenarios.size()) | |
138 break; | |
139 if (scenarios.get(i - 1) != null) { | |
140 lines.add(scenarios.get(i - 1).getDeltaWFormatted()); | |
141 lines.add(scenarios.get(i - 1).getSalixValueFormatted(formatter)); | |
142 } else { | |
143 lines.add(""); | |
144 lines.add(""); | |
145 } | |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
146 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
147 } |
9397 | 148 lines.add(context.formatRowValue(row, GeneralResultType.gaugeLabel)); |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
149 return lines.toArray(new String[lines.size()]); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
150 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
151 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
152 @Override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
153 protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
154 // do nothing. subclass may override |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
155 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
156 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
157 /** |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
158 * Gets a longitudinal section of the salix value of a scenario |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
159 */ |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
160 public final double[][] getScenarioPoints(final int dataIndex) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
161 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
162 final Collection<ResultRow> rows = getRows(); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
163 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
164 final TDoubleArrayList xPoints = new TDoubleArrayList(rows.size()); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
165 final TDoubleArrayList yPoints = new TDoubleArrayList(rows.size()); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
166 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
167 for (final ResultRow row : rows) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
168 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
169 final double station = row.getDoubleValue(GeneralResultType.station); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
170 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
171 final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixScenarios); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
172 if (dataIndex <= scenarios.size() - 1) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
173 final SalixScenario salixScenario = scenarios.get(dataIndex); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
174 if (salixScenario != null) { |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
175 final double value = salixScenario.getSalixValue(); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
176 xPoints.add(station); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
177 yPoints.add(value); |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
178 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
179 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
180 } |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
181 |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
182 return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() }; |
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
183 } |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
184 |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
185 public final double getSalixValue(final double currentKm, final double nextKm, final double prevKm) { |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
186 |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
187 final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
188 if (row == null) |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
189 return Double.NaN; |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
190 |
9430 | 191 return row.getDoubleValue(UInfoResultType.salixw); |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
192 } |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
193 |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
194 public final double getSalixScenarioValue(final double currentKm, final double nextKm, final double prevKm, final int scenarioIndex) { |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
195 final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
196 if (row == null) |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
197 return Double.NaN; |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
198 |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
199 final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixScenarios); |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
200 final SalixScenario salixScenario = scenarios.get(scenarioIndex); |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
201 if (salixScenario == null) |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
202 return Double.NaN; |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
203 |
9430 | 204 return salixScenario.getSalixW(); |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
205 } |
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
206 |
9429
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
207 public final double getWaterlevelValue(final double currentKm, final double nextKm, final double prevKm, final SalixWaterlevel waterlevel) { |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
208 |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
209 final ResultRow row = getRowForStation(currentKm, STATION_TOLERANCE); |
9429
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
210 if (row == null) |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
211 return Double.NaN; |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
212 |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
213 switch (waterlevel) { |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
214 case mnw: |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
215 return row.getDoubleValue(UInfoResultType.waterlevelMNW); |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
216 case mw: |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
217 return row.getDoubleValue(UInfoResultType.waterlevelMW); |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
218 case mhw: |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
219 return row.getDoubleValue(UInfoResultType.waterlevelMHW); |
9430 | 220 case hw5: |
9429
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
221 return row.getDoubleValue(UInfoResultType.waterlevelMH5); |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
222 |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
223 default: |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
224 throw new UnsupportedOperationException(); |
bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
gernotbelger
parents:
9426
diff
changeset
|
225 } |
9426
b6e595f1696f
Activated cross section output mode for salix line and implemented some themes preliminary.
gernotbelger
parents:
9406
diff
changeset
|
226 } |
9443
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
227 |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
228 /** |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
229 * Computes the height of a vegetation zone type for a station and a salix calculation result |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
230 */ |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
231 public double computeVegetationZoneHeight(final double station, final int vegetationZoneType, final SalixLineCalculationResult result) { |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
232 |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
233 final Calculation problems = new Calculation(); |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
234 |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
235 final SalixLineCalculator calculator = new SalixLineCalculator(null); |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
236 return calculator.computeVegetationZoneHeight(problems, station, vegetationZoneType, result); |
515643b2c49a
Added computation of uinfo salix line vegetation zone height (not yet connected to the cross section facet)
mschaefer
parents:
9430
diff
changeset
|
237 } |
9361
2aec052d4088
Refactoring on SalixLineCalculationResult etc., calculation using MQ etc., scenario (regional+supra) csv columns and meta data added
mschaefer
parents:
diff
changeset
|
238 } |