[PATCH] issue1633: Add info lines in SQ-relation CSV export

Wald Commits scm-commit at wald.intevation.org
Tue Jun 17 17:57:33 CEST 2014


# HG changeset patch
# User Tom Gottfried <tom at intevation.de>
# Date 1403020645 -7200
# Node ID a310b1f85ce0e7ab7453cac09612ac2639a96866
# Parent  5ef60ed15c254d6cf2e78800ba1640ea5810e484
issue1633: Add info lines in SQ-relation CSV export.

diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/java/org/dive4elements/river/exports/AbstractExporter.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/AbstractExporter.java	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/AbstractExporter.java	Tue Jun 17 17:57:25 2014 +0200
@@ -62,6 +62,8 @@
     /** The default separator for the CSV export. */
     public static final char DEFAULT_CSV_SEPARATOR = ';';
 
+    public static final String START_META_CHAR = "#";
+
     /** XPath that points to the desired export facet. */
     public static final String XPATH_FACET = "/art:action/@art:type";
 
@@ -103,6 +105,25 @@
 
 
     /**
+     * Write lines of informative content to CSV file.
+     * Usually this will be done above the column headers from within
+     * the implementation of writeCSVData in concret subclasses.
+     *
+     * @param writer The CSVWriter
+     * @param infolines Array of Strings with informative content.
+     * Each will be written to a separate line prefixed with START_META_CHAR.
+     */
+    protected void  writeCSVInfo(CSVWriter writer, String[] infolines) {
+        String[] metaline = new String[1];
+
+        for (String infoline: infolines) {
+            metaline[0] = START_META_CHAR + " " + infoline;
+            writer.writeNext(metaline);
+        }
+
+    }
+
+    /**
      * Concrete subclasses need to use this method to write their special data
      * objects into the PDF document.
      */
diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Tue Jun 17 17:57:25 2014 +0200
@@ -57,6 +57,47 @@
     private static final Logger logger =
         Logger.getLogger(SQRelationExporter.class);
 
+    public static final String INFO_COEFF_A =
+        "export.sqrelation.csv.info.coeff.a";
+
+    public static final String INFO_COEFF_B =
+        "export.sqrelation.csv.info.coeff.b";
+
+    public static final String INFO_QMAX =
+        "export.sqrelation.csv.info.qmax";
+
+    public static final String INFO_R2 =
+        "export.sqrelation.csv.info.r2";
+
+    public static final String INFO_NTOT =
+        "export.sqrelation.csv.info.ntot";
+
+    public static final String INFO_NOUTL =
+        "export.sqrelation.csv.info.noutl";
+
+    public static final String INFO_CFERGUSON =
+        "export.sqrelation.csv.info.cferguson";
+
+    public static final String INFO_CDUAN =
+        "export.sqrelation.csv.info.cduan";
+
+    public static final String INFO_PARAM_A =
+        "export.sqrelation.csv.info.param.a";
+
+    public static final String INFO_PARAM_B =
+        "export.sqrelation.csv.info.param.b";
+
+    public static final String INFO_PARAM_C =
+        "export.sqrelation.csv.info.param.c";
+
+    public static final String INFO_PARAM_D =
+        "export.sqrelation.csv.info.param.d";
+
+    public static final String INFO_PARAM_E =
+        "export.sqrelation.csv.info.param.e";
+
+    public static final String INFO_PARAM_F =
+        "export.sqrelation.csv.info.param.f";
 
     public static final String CSV_PARAMETER =
         "export.sqrelation.csv.header.parameter";
@@ -148,6 +189,23 @@
     protected void writeCSVData(CSVWriter writer) {
         logger.debug("writeCSVData");
 
+        writeCSVInfo(writer, new String[] {
+                msg(INFO_COEFF_A),
+                msg(INFO_COEFF_B),
+                msg(INFO_QMAX),
+                msg(INFO_R2),
+                msg(INFO_NTOT),
+                msg(INFO_NOUTL),
+                msg(INFO_CFERGUSON),
+                msg(INFO_CDUAN),
+                msg(INFO_PARAM_A),
+                msg(INFO_PARAM_B),
+                msg(INFO_PARAM_C),
+                msg(INFO_PARAM_D),
+                msg(INFO_PARAM_E),
+                msg(INFO_PARAM_F)
+            });
+
         writeCSVHeader(writer);
 
         for (SQResult [] results: data) {
diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/resources/messages.properties
--- a/artifacts/src/main/resources/messages.properties	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/resources/messages.properties	Tue Jun 17 17:57:25 2014 +0200
@@ -424,6 +424,20 @@
 export.sedimentload_ls.csv.header.suspsediment = susp. sediment
 export.sedimentload_ls.csv.header.suspsandbb = susp. sand (BB)
 export.sedimentload_ls.csv.header.total = total
+export.sqrelation.csv.info.coeff.a = a: coefficient of transport curve
+export.sqrelation.csv.info.coeff.b = b: exponent of transport curve
+export.sqrelation.csv.info.qmax = Q max, measured: maximum measured discharge [m\u00b3/s]
+export.sqrelation.csv.info.r2 = r^2: coefficient of determination
+export.sqrelation.csv.info.ntot = n total: number of measurements
+export.sqrelation.csv.info.noutl = n outliers: number of outliers
+export.sqrelation.csv.info.cferguson = CFERGUSON: bias correction (Ferguson, 1986)
+export.sqrelation.csv.info.cduan = CDUAN: bias correction (Duan, 1983)
+export.sqrelation.csv.info.param.a = Parameter A: transport of fine material (< 0.063 mm)
+export.sqrelation.csv.info.param.b = Parameter B: transport of suspended sand (0.063-2 mm)
+export.sqrelation.csv.info.param.c = Parameter C: transport of sand (0.063-2 mm)
+export.sqrelation.csv.info.param.d = Parameter D: transport of fine and medium gravel (2-16 mm)
+export.sqrelation.csv.info.param.e = Parameter E: transport of coarse gravel (> Mittelkies)(16-125 mm)
+export.sqrelation.csv.info.param.f = Parameter F: transport of bed load (0.063-125 mm)
 export.sqrelation.csv.header.parameter = Parameter
 export.sqrelation.csv.header.station = Station
 export.sqrelation.csv.header.km = River-Km
diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/resources/messages_de.properties
--- a/artifacts/src/main/resources/messages_de.properties	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/resources/messages_de.properties	Tue Jun 17 17:57:25 2014 +0200
@@ -426,6 +426,20 @@
 export.sedimentload_ls.csv.header.suspsandbb = susp.Sand(BB)
 export.sedimentload_ls.csv.header.suspsediment = Schwebst.
 export.sedimentload_ls.csv.header.total = Gesamt
+export.sqrelation.csv.info.coeff.a = a: Transportkurvenkoeffizient
+export.sqrelation.csv.info.coeff.b = b: Transportkurvenexponent
+export.sqrelation.csv.info.qmax = Q max, gemessen: maximal gemessener Abfluss [m\u00b3/s]
+export.sqrelation.csv.info.r2 = r^2: Bestimmtheitsma\u00d
+export.sqrelation.csv.info.ntot = n Gesamt: Anzahl Messwerte
+export.sqrelation.csv.info.noutl = n Ausrei\u00dfer: Anzahl Ausrei\u00dfer
+export.sqrelation.csv.info.cferguson = CFERGUSON: Bias Korrektur nach Ferguson 1986
+export.sqrelation.csv.info.cduan = CDUAN: Bias Korrektur nach Duan 1983
+export.sqrelation.csv.info.param.a = Parameter A: Sedimenttransport von Feinkornanteil (< 0.063 mm)
+export.sqrelation.csv.info.param.b = Parameter B: Sedimenttransport von Sand (Suspensionstransort)(0.063-2 mm)
+export.sqrelation.csv.info.param.c = Parameter C: Sedimenttransport von Sand (Geschiebetransport)          (0.063-2 mm)
+export.sqrelation.csv.info.param.d = Parameter D: Sedimenttransport von Fein- und Mittelkies (2-16 mm)
+export.sqrelation.csv.info.param.e = Parameter E: Sedimenttransport von Grobkornanteil (> Mittelkies)(16-125 mm)
+export.sqrelation.csv.info.param.f = Parameter F: Sedimenttransport von Geschiebtransportgesamt (0.063-125 mm)
 export.sqrelation.csv.header.parameter = Parameter
 export.sqrelation.csv.header.station = Station
 export.sqrelation.csv.header.km = Fluss-Km
diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/resources/messages_de_DE.properties
--- a/artifacts/src/main/resources/messages_de_DE.properties	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/resources/messages_de_DE.properties	Tue Jun 17 17:57:25 2014 +0200
@@ -422,6 +422,20 @@
 export.sedimentload_ls.csv.header.suspsandbb = susp.Sand(BB)
 export.sedimentload_ls.csv.header.suspsediment = Schwebst.
 export.sedimentload_ls.csv.header.total = Gesamt
+export.sqrelation.csv.info.coeff.a = a: Transportkurvenkoeffizient
+export.sqrelation.csv.info.coeff.b = b: Transportkurvenexponent
+export.sqrelation.csv.info.qmax = Q max, gemessen: maximal gemessener Abfluss [m\u00b3/s]
+export.sqrelation.csv.info.r2 = r^2: Bestimmtheitsma\u00d
+export.sqrelation.csv.info.ntot = n Gesamt: Anzahl Messwerte
+export.sqrelation.csv.info.noutl = n Ausrei\u00dfer: Anzahl Ausrei\u00dfer
+export.sqrelation.csv.info.cferguson = CFERGUSON: Bias Korrektur nach Ferguson 1986
+export.sqrelation.csv.info.cduan = CDUAN: Bias Korrektur nach Duan 1983
+export.sqrelation.csv.info.param.a = Parameter A: Sedimenttransport von Feinkornanteil (< 0.063 mm)
+export.sqrelation.csv.info.param.b = Parameter B: Sedimenttransport von Sand (Suspensionstransort)(0.063-2 mm)
+export.sqrelation.csv.info.param.c = Parameter C: Sedimenttransport von Sand (Geschiebetransport)          (0.063-2 mm)
+export.sqrelation.csv.info.param.d = Parameter D: Sedimenttransport von Fein- und Mittelkies (2-16 mm)
+export.sqrelation.csv.info.param.e = Parameter E: Sedimenttransport von Grobkornanteil (> Mittelkies)(16-125 mm)
+export.sqrelation.csv.info.param.f = Parameter F: Sedimenttransport von Geschiebtransportgesamt (0.063-125 mm)
 export.sqrelation.csv.header.parameter = Parameter
 export.sqrelation.csv.header.station = Station
 export.sqrelation.csv.header.km = Fluss-Km
diff -r 5ef60ed15c25 -r a310b1f85ce0 artifacts/src/main/resources/messages_en.properties
--- a/artifacts/src/main/resources/messages_en.properties	Tue Jun 17 17:50:59 2014 +0200
+++ b/artifacts/src/main/resources/messages_en.properties	Tue Jun 17 17:57:25 2014 +0200
@@ -428,6 +428,20 @@
 export.sedimentload_ls.csv.header.suspsand = susp. sand
 export.sedimentload_ls.csv.header.suspsediment = susp. sediment
 export.sedimentload_ls.csv.header.total = total
+export.sqrelation.csv.info.coeff.a = a: coefficient of transport curve
+export.sqrelation.csv.info.coeff.b = b: exponent of transport curve
+export.sqrelation.csv.info.qmax = Q max, measured: maximum measured discharge [m\u00b3/s]
+export.sqrelation.csv.info.r2 = r^2: coefficient of determination
+export.sqrelation.csv.info.ntot = n total: number of measurements
+export.sqrelation.csv.info.noutl = n outliers: number of outliers
+export.sqrelation.csv.info.cferguson = CFERGUSON: bias correction (Ferguson, 1986)
+export.sqrelation.csv.info.cduan = CDUAN: bias correction (Duan, 1983)
+export.sqrelation.csv.info.param.a = Parameter A: transport of fine material (< 0.063 mm)
+export.sqrelation.csv.info.param.b = Parameter B: transport of suspended sand (0.063-2 mm)
+export.sqrelation.csv.info.param.c = Parameter C: transport of sand (0.063-2 mm)
+export.sqrelation.csv.info.param.d = Parameter D: transport of fine and medium gravel (2-16 mm)
+export.sqrelation.csv.info.param.e = Parameter E: transport of coarse gravel (> Mittelkies)(16-125 mm)
+export.sqrelation.csv.info.param.f = Parameter F: transport of bed load (0.063-125 mm)
 export.sqrelation.csv.header.parameter = Parameter
 export.sqrelation.csv.header.station = Station
 export.sqrelation.csv.header.km = River-Km


More information about the Dive4Elements-commits mailing list