diff gnv-artifacts/src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java @ 1081:846b2b70b2e0

Implemented histogram creation for vectorial timeseries. gnv-artifacts/trunk@1183 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 09 Jun 2010 09:51:05 +0000
parents 9bb1979aabbe
children f953c9a559d8
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java	Wed Jun 09 09:37:57 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/VectorDataProcessor.java	Wed Jun 09 09:51:05 2010 +0000
@@ -1,19 +1,33 @@
 package de.intevation.gnv.utils;
 
+import de.intevation.artifacts.CallContext;
+
+import de.intevation.gnv.chart.Chart;
+import de.intevation.gnv.chart.ChartLabels;
+import de.intevation.gnv.chart.DefaultHistogram;
+
 import de.intevation.gnv.geobackend.base.DefaultResult;
 import de.intevation.gnv.geobackend.base.DefaultResultDescriptor;
 import de.intevation.gnv.geobackend.base.Result;
 import de.intevation.gnv.geobackend.base.ResultDescriptor;
 
+import de.intevation.gnv.histogram.HistogramHelper;
+
+import de.intevation.gnv.state.describedata.KeyValueDescibeData;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
 
+import org.jfree.chart.ChartTheme;
+
+
 /**
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
@@ -101,5 +115,31 @@
                      " columns");
         return desc;
     }
+
+
+    public static Chart[] getHistograms(
+        String                          uuid,
+        CallContext                     callContext,
+        Collection<KeyValueDescibeData> results,
+        ChartTheme                      theme,
+        Map                             requestParameter
+    ) {
+        Locale locale = (Locale) requestParameter.get("locale");
+
+        Object[][] data = HistogramHelper.prepareVectorialHistogramData(results);
+        int        size = data.length;
+
+        Chart[]    histograms = new Chart[size];
+
+        for (int i = 0; i < size; i++) {
+            ChartLabels labels = HistogramHelper.createHistogramLabels(
+                uuid, callContext, locale, data[i]);
+
+            histograms[i] = new DefaultHistogram(
+                labels, data[i], theme, requestParameter);
+        }
+
+        return histograms;
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org