diff artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java @ 7981:45cced06490c facet-metadata

merged with default.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 30 Jun 2014 11:29:45 +0200
parents e844be34a606 43f18dc56c5a
children b5cba2690347
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java	Wed May 21 11:43:10 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/FlowVelocityProcessor.java	Mon Jun 30 11:29:45 2014 +0200
@@ -15,7 +15,11 @@
 
 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
 import org.dive4elements.artifacts.CallContext;
+import org.dive4elements.river.artifacts.D4EArtifact;
+import org.dive4elements.river.artifacts.access.RiverAccess;
+import org.dive4elements.river.artifacts.context.RiverContext;
 import org.dive4elements.river.artifacts.model.FacetTypes;
+import org.dive4elements.river.artifacts.model.ZoomScale;
 import org.dive4elements.river.exports.DiagramGenerator;
 import org.dive4elements.river.exports.StyledSeriesBuilder;
 import org.dive4elements.river.jfree.StyledXYSeries;
@@ -23,6 +27,7 @@
 
 import org.dive4elements.river.model.FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue;
 import org.dive4elements.river.artifacts.model.FlowVelocityData;
+import org.dive4elements.river.artifacts.resources.Resources;
 
 public class FlowVelocityProcessor extends DefaultProcessor {
 
@@ -33,6 +38,8 @@
         "chart.flow_velocity.section.yaxis.label";
     public static final String I18N_AXIS_LABEL_DEFAULT =
         "Geschwindigkeit v [m/s]";
+    public static final String I18N_SUBTITLE_RADIUS =
+        "chart.subtitle.radius";
 
 
     protected String yAxisLabel;
@@ -76,7 +83,24 @@
             return;
         }
         StyledSeriesBuilder.addPoints(series, points, true);
+        Double start = (Double)context.getContextValue("startkm");
+        Double end = (Double)context.getContextValue("endkm");
+        if (start != null && end != null) {
+            logger.debug("start: " + start + " end: " + end);
+            D4EArtifact artifact = (D4EArtifact)bundle.getArtifact();
+            RiverContext fc = (RiverContext)context.globalContext();
+            // Adaptive smoothing, based on zoom factor/diagram extents.
+            ZoomScale scales = (ZoomScale)fc.get("zoomscale");
+            RiverAccess access = new RiverAccess((D4EArtifact)artifact);
+            String river = access.getRiverName();
 
+            double radius = scales.getRadius(river, start, end);
+            logger.debug("add a subtitle");
+            generator.addSubtitle(Resources.getMsg(
+                context.getMeta(),
+                    I18N_SUBTITLE_RADIUS,
+                    new Object[] { radius }));
+        }
         generator.addAxisSeries(series, axisName, visible);
     }
 

http://dive4elements.wald.intevation.org