Mercurial > dive4elements > gnv-client
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 :