[PATCH] (issue1667) Remove duplicate points in the same series in Diagram CSV export

Wald Commits scm-commit at wald.intevation.org
Wed Nov 27 18:50:26 CET 2013


# HG changeset patch
# User Andre Heinecke <aheinecke at intevation.de>
# Date 1385574621 -3600
# Node ID ef99781bcec72901ca2e22f51e28a6980b860ac4
# Parent  424c3d84e119fb16b3910ae8d9d67271788adb3e
(issue1667) Remove duplicate points in the same series in Diagram CSV export

diff -r 424c3d84e119 -r ef99781bcec7 artifacts/src/main/java/org/dive4elements/river/exports/ChartExportHelper.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/ChartExportHelper.java	Wed Nov 27 18:06:04 2013 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/ChartExportHelper.java	Wed Nov 27 18:50:21 2013 +0100
@@ -343,8 +343,28 @@
         int series = data.getSeriesCount();
         for (int i = 0; i < series; i++) {
             int items = data.getItemCount(i);
+            double lastX = java.lang.Double.MAX_VALUE;
+            double lastY = java.lang.Double.MAX_VALUE;
+
             for (int j = 0; j < items; j++) {
-                log.debug("write data: " + data.getX(i, j) + ", " + data.getY(i, j));
+                Number x = data.getX(i, j);
+                Number y = data.getY(i, j);
+                double xVal = data.getXValue(i, j);
+                double yVal = data.getYValue(i, j);
+
+                if (lastX == xVal && lastY == yVal) {
+                    // comparing equality is ok here as we want
+                    // to find data duplicates like they are added
+                    // for example by the StyledSeriesBuilder in
+                    // addStepPointsKmQ
+                    log.debug("removing duplicate point in series");
+                    continue;
+                }
+                lastX = xVal;
+                lastY = yVal;
+
+                log.debug("write data: " + x + ", " + y);
+
 
                 /*
                 // Skip (NaN,NaN) datapoints.
@@ -358,16 +378,16 @@
                 String yString;
 
                 try {
-                    xString = java.lang.Double.isNaN(data.getXValue(i,j))
+                    xString = java.lang.Double.isNaN(xVal)
                         ? ""
-                        : format.format(data.getX(i, j));
-                    yString = java.lang.Double.isNaN(data.getYValue(i, j))
+                        : format.format(x);
+                    yString = java.lang.Double.isNaN(yVal)
                         ? ""
-                        : format.format(data.getY(i, j));
+                        : format.format(y);
                 }
                 catch (NumberFormatException nfe) {
-                    xString = data.getX(i, j).toString();
-                    yString = data.getY(i, j).toString();
+                    xString = x.toString();
+                    yString = y.toString();
                 }
                 writer.writeNext(new String[] {
                     xString,


More information about the Dive4elements-commits mailing list