Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java @ 2183:a79d5cd26083
Render labels of manual points in a very primitive manner.
flys-artifacts/trunk@3787 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 27 Jan 2012 11:01:13 +0000 |
parents | 3f90f4d37c8d |
children | fc86fcfe503e |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Fri Jan 27 10:45:34 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Fri Jan 27 11:01:13 2012 +0000 @@ -1,5 +1,7 @@ package de.intevation.flys.exports; +import java.util.ArrayList; +import java.util.List; import org.apache.log4j.Logger; @@ -12,6 +14,8 @@ import org.w3c.dom.Document; +import org.jfree.chart.annotations.XYTextAnnotation; + import de.intevation.artifactdatabase.state.ArtifactAndFacet; import de.intevation.artifactdatabase.state.Facet; @@ -22,6 +26,7 @@ import de.intevation.flys.artifacts.model.WKms; import de.intevation.flys.artifacts.model.WQKms; +import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; import de.intevation.flys.jfree.FLYSAnnotation; import de.intevation.flys.jfree.StyledAreaSeriesCollection; import de.intevation.flys.jfree.StyledXYSeries; @@ -632,20 +637,29 @@ ) { XYSeries series = new StyledXYSeries(seriesName, theme); + // Add text annotations for single points. + List<XYTextAnnotation> xy = new ArrayList<XYTextAnnotation>(); + try { JSONArray points = new JSONArray((String) o); for (int i = 0; i < points.length(); i++) { JSONArray array = points.getJSONArray(i); - double x = array.getDouble(0); - double y = array.getDouble(1); + double x = array.getDouble(0); + double y = array.getDouble(1); + String name = array.getString(2); //logger.debug(" x " + x + " y " + y ); series.add(x, y, false); + xy.add(new CollisionFreeXYTextAnnotation(name, x, y)); } } catch(JSONException e){ logger.error("Could not decode json."); } + + FLYSAnnotation annotations = new FLYSAnnotation(seriesName, null, null, theme); + annotations.setTextAnnotations(xy); + doAnnotations(annotations, null, theme, visible); addAxisSeries(series, YAXIS.W.idx, visible); } }