diff gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java @ 474:ab29e4ff2fda

Added area interpolation needed for "Horizontalschnitt" gnv-artifacts/trunk@540 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 14 Jan 2010 10:34:05 +0000
parents 06887e2e3f7a
children 211cad2fb5ba
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Wed Jan 13 23:10:56 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java	Thu Jan 14 10:34:05 2010 +0000
@@ -3,10 +3,12 @@
  */
 package de.intevation.gnv.state.profile.horizontalcrosssection;
 
+import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.UnsupportedEncodingException;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
@@ -16,42 +18,53 @@
 import org.apache.log4j.Logger;
 
 import org.jfree.chart.ChartTheme;
+
 import org.w3c.dom.Node;
 
 import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jts.geom.Polygon;
-import com.vividsolutions.jts.io.ParseException;
-import com.vividsolutions.jts.io.WKTReader;
 
 import au.com.bytecode.opencsv.CSVWriter;
+
 import de.intevation.gnv.artifacts.cache.CacheFactory;
 import de.intevation.gnv.artifacts.context.GNVArtifactContext;
+
 import de.intevation.gnv.chart.Chart;
 import de.intevation.gnv.chart.ChartLabels;
+
 import de.intevation.gnv.geobackend.base.Result;
+
 import de.intevation.gnv.geobackend.base.query.QueryExecutor;
 import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory;
 import de.intevation.gnv.geobackend.base.query.exception.QueryException;
+
 import de.intevation.gnv.state.InputData;
+
 import de.intevation.gnv.state.exception.StateException;
+
 import de.intevation.gnv.state.timeseries.TimeSeriesOutputState;
+
 import de.intevation.gnv.statistics.Statistics;
+
 import de.intevation.gnv.utils.StringUtils;
 import de.intevation.gnv.utils.WKTUtils;
 
 import de.intevation.artifactdatabase.Config;
+
 import de.intevation.artifacts.CallContext;
 
+import de.intevation.gnv.geobackend.sde.datasources.RasterObject;
+
 /**
- * @author Tim Englich <tim.englich@intevation.de>
- * 
+ * @author Tim Englich         (tim.englich@intevation.de)
+ * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
  */
 public class HorizontalCrossSectionMeshOutputState 
-                                      extends TimeSeriesOutputState {
-
+extends      TimeSeriesOutputState
+{
     private static Logger log = Logger
-    .getLogger(HorizontalCrossSectionMeshOutputState.class);
+        .getLogger(HorizontalCrossSectionMeshOutputState.class);
     
     /**
      * The UID of this Class
@@ -95,23 +108,6 @@
         log.info("Chart not in cache yet.");
         
         log.warn("This sort of chart is not implemented yet.");
-        /* TODO Implement a special chart for this sort of charts.
-        chart = new HorizontalProfileChart(
-            chartLables,
-            chartTheme,
-            parameters,
-            measurements,
-            result,
-            dates,
-            locale
-        );
-        chart.generateChart();
-
-        if (CACHE_CHART) {
-            log.info("Put chart into cache.");
-            purifyChart(chart, uuid);
-        }
-        */
         
         InputData meshPolygon = inputData.get("mesh_polygon");
         String meshPolygonWkt = null;
@@ -226,11 +222,12 @@
      *      java.util.Collection)
      */
     @Override
-    protected void createCSV(OutputStream outputStream,
-                             Collection<Result> chartResult)
-                                            throws UnsupportedEncodingException,
-                                                   IOException,
-                                                   StateException {
+    protected void createCSV(
+        OutputStream       outputStream,
+        Collection<Result> chartResult
+    ) throws UnsupportedEncodingException, IOException, StateException 
+    {
+        /*
         if (chartResult != null) {
             try {
                 CSVWriter writer = new CSVWriter(new OutputStreamWriter(
@@ -260,6 +257,7 @@
             throw new StateException(
                     "No Data given for generating an CSV-File.");
         }
+        */
     }
     
     /**
@@ -282,4 +280,24 @@
             : GNVArtifactContext.DEFAULT_HORIZONTAL_CROSS_SECTION_SAMPLES;
     }
 
+    private static File shapefileDirectory(CallContext callContext) {
+        GNVArtifactContext context =
+            (GNVArtifactContext)callContext.globalContext();
+        File dir = (File)context.get(
+            GNVArtifactContext.HORIZONTAL_CROSS_SECTION_RESULT_SHAPEFILE_PATH_KEY);
+        return dir != null
+            ? dir
+            : GNVArtifactContext.DEFAULT_HORIZONTAL_CROSS_SECTION_PROFILE_SHAPEFILE_PATH;
+    }
+
+    private static int getGroundInterpolation(CallContext callContext) {
+        GNVArtifactContext context = 
+            (GNVArtifactContext)callContext.globalContext();
+
+        String interpolation = (String)context.get(
+            GNVArtifactContext.HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION_KEY);
+
+        return RasterObject.getInterpolationType(interpolation);
+    }
 }
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org