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 :

http://dive4elements.wald.intevation.org