Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
2182:5ff481ab24a1 | 2183:a79d5cd26083 |
---|---|
1 package de.intevation.flys.exports; | 1 package de.intevation.flys.exports; |
2 | 2 |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
3 | 5 |
4 import org.apache.log4j.Logger; | 6 import org.apache.log4j.Logger; |
5 | 7 |
6 import org.jfree.chart.JFreeChart; | 8 import org.jfree.chart.JFreeChart; |
7 import org.jfree.chart.axis.NumberAxis; | 9 import org.jfree.chart.axis.NumberAxis; |
10 import org.jfree.chart.plot.XYPlot; | 12 import org.jfree.chart.plot.XYPlot; |
11 import org.jfree.data.xy.XYSeries; | 13 import org.jfree.data.xy.XYSeries; |
12 | 14 |
13 import org.w3c.dom.Document; | 15 import org.w3c.dom.Document; |
14 | 16 |
17 import org.jfree.chart.annotations.XYTextAnnotation; | |
18 | |
15 import de.intevation.artifactdatabase.state.ArtifactAndFacet; | 19 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
16 import de.intevation.artifactdatabase.state.Facet; | 20 import de.intevation.artifactdatabase.state.Facet; |
17 | 21 |
18 import de.intevation.flys.artifacts.FLYSArtifact; | 22 import de.intevation.flys.artifacts.FLYSArtifact; |
19 | 23 |
20 import de.intevation.flys.artifacts.model.AreaFacet; | 24 import de.intevation.flys.artifacts.model.AreaFacet; |
21 import de.intevation.flys.artifacts.model.FacetTypes; | 25 import de.intevation.flys.artifacts.model.FacetTypes; |
22 import de.intevation.flys.artifacts.model.WKms; | 26 import de.intevation.flys.artifacts.model.WKms; |
23 import de.intevation.flys.artifacts.model.WQKms; | 27 import de.intevation.flys.artifacts.model.WQKms; |
24 | 28 |
29 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; | |
25 import de.intevation.flys.jfree.FLYSAnnotation; | 30 import de.intevation.flys.jfree.FLYSAnnotation; |
26 import de.intevation.flys.jfree.StyledAreaSeriesCollection; | 31 import de.intevation.flys.jfree.StyledAreaSeriesCollection; |
27 import de.intevation.flys.jfree.StyledXYSeries; | 32 import de.intevation.flys.jfree.StyledXYSeries; |
28 | 33 |
29 import de.intevation.flys.utils.FLYSUtils; | 34 import de.intevation.flys.utils.FLYSUtils; |
630 Document theme, | 635 Document theme, |
631 boolean visible | 636 boolean visible |
632 ) { | 637 ) { |
633 XYSeries series = new StyledXYSeries(seriesName, theme); | 638 XYSeries series = new StyledXYSeries(seriesName, theme); |
634 | 639 |
640 // Add text annotations for single points. | |
641 List<XYTextAnnotation> xy = new ArrayList<XYTextAnnotation>(); | |
642 | |
635 try { | 643 try { |
636 JSONArray points = new JSONArray((String) o); | 644 JSONArray points = new JSONArray((String) o); |
637 for (int i = 0; i < points.length(); i++) { | 645 for (int i = 0; i < points.length(); i++) { |
638 JSONArray array = points.getJSONArray(i); | 646 JSONArray array = points.getJSONArray(i); |
639 double x = array.getDouble(0); | 647 double x = array.getDouble(0); |
640 double y = array.getDouble(1); | 648 double y = array.getDouble(1); |
649 String name = array.getString(2); | |
641 //logger.debug(" x " + x + " y " + y ); | 650 //logger.debug(" x " + x + " y " + y ); |
642 series.add(x, y, false); | 651 series.add(x, y, false); |
652 xy.add(new CollisionFreeXYTextAnnotation(name, x, y)); | |
643 } | 653 } |
644 } | 654 } |
645 catch(JSONException e){ | 655 catch(JSONException e){ |
646 logger.error("Could not decode json."); | 656 logger.error("Could not decode json."); |
647 } | 657 } |
648 | 658 |
659 FLYSAnnotation annotations = new FLYSAnnotation(seriesName, null, null, theme); | |
660 annotations.setTextAnnotations(xy); | |
661 | |
662 doAnnotations(annotations, null, theme, visible); | |
649 addAxisSeries(series, YAXIS.W.idx, visible); | 663 addAxisSeries(series, YAXIS.W.idx, visible); |
650 } | 664 } |
651 } | 665 } |
652 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 666 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |