Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java @ 381:52b6de9d0ab4
The DischargeCurveGenerator uses public methods of FLYSArtifact to retrieve all necessary information of the current settings.
flys-artifacts/trunk@1797 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 02 May 2011 16:44:02 +0000 |
parents | 60f63539d004 |
children | fc3ac59c3c8b |
comparison
equal
deleted
inserted
replaced
380:5f55047a17e8 | 381:52b6de9d0ab4 |
---|---|
13 import org.jfree.data.xy.DefaultXYDataset; | 13 import org.jfree.data.xy.DefaultXYDataset; |
14 | 14 |
15 import de.intevation.artifacts.Artifact; | 15 import de.intevation.artifacts.Artifact; |
16 | 16 |
17 import de.intevation.flys.model.Gauge; | 17 import de.intevation.flys.model.Gauge; |
18 import de.intevation.flys.model.River; | |
18 | 19 |
19 import de.intevation.flys.artifacts.FLYSArtifact; | 20 import de.intevation.flys.artifacts.FLYSArtifact; |
20 import de.intevation.flys.artifacts.model.DischargeTables; | 21 import de.intevation.flys.artifacts.model.DischargeTables; |
21 import de.intevation.flys.artifacts.model.GaugesFactory; | 22 import de.intevation.flys.artifacts.model.GaugesFactory; |
22 | 23 |
73 return; | 74 return; |
74 } | 75 } |
75 | 76 |
76 FLYSArtifact flysArtifact = (FLYSArtifact) artifact; | 77 FLYSArtifact flysArtifact = (FLYSArtifact) artifact; |
77 | 78 |
78 String river = (String) flysArtifact.getData("river").getValue(); | 79 River river = flysArtifact.getRiver(); |
79 String from = (String) flysArtifact.getData("ld_from").getValue(); | 80 double[] distance = flysArtifact.getDistance(); |
80 String to = (String) flysArtifact.getData("ld_to").getValue(); | |
81 | |
82 double f = Double.parseDouble(from); | |
83 double t = Double.parseDouble(to); | |
84 | 81 |
85 List<double[]> ranges = new ArrayList<double[]>(); | 82 List<double[]> ranges = new ArrayList<double[]>(); |
86 ranges.add(new double [] { f, t }); | 83 ranges.add(distance); |
87 | 84 |
88 List<Gauge> gauges = GaugesFactory.getGauges(river); | 85 List<Gauge> gauges = GaugesFactory.getGauges(river); |
89 List<Gauge> filtered = GaugesFactory.filterRanges(gauges, ranges); | 86 List<Gauge> filtered = GaugesFactory.filterRanges(gauges, ranges); |
90 | 87 |
91 if (logger.isDebugEnabled()) { | 88 if (logger.isDebugEnabled()) { |
92 int numGauges = gauges != null ? gauges.size() : 0; | 89 int numGauges = gauges != null ? gauges.size() : 0; |
93 int numFiltered = filtered != null ? filtered.size() : 0; | 90 int numFiltered = filtered != null ? filtered.size() : 0; |
94 | 91 |
95 logger.debug("++++++++++++++++++++"); | 92 logger.debug("++++++++++++++++++++"); |
96 logger.debug("Search gauges for river: " + river); | 93 logger.debug("Search gauges for river: " + river.getName()); |
97 logger.debug("-> ... from range: " + from); | 94 logger.debug("-> ... from range: " + distance[0]); |
98 logger.debug("-> ... to range: " + to); | 95 logger.debug("-> ... to range: " + distance[1]); |
99 logger.debug("-> Found " + numGauges + " gauges in total."); | 96 logger.debug("-> Found " + numGauges + " gauges in total."); |
100 logger.debug("-> Found " + numFiltered + " gauges after filtering."); | 97 logger.debug("-> Found " + numFiltered + " gauges after filtering."); |
101 logger.debug("++++++++++++++++++++"); | 98 logger.debug("++++++++++++++++++++"); |
102 } | 99 } |
103 | 100 |
105 int idx = 0; | 102 int idx = 0; |
106 for (Gauge gauge: filtered) { | 103 for (Gauge gauge: filtered) { |
107 gaugeNames[idx++] = gauge.getName(); | 104 gaugeNames[idx++] = gauge.getName(); |
108 } | 105 } |
109 | 106 |
110 DischargeTables dt = new DischargeTables(river, gaugeNames); | 107 DischargeTables dt = new DischargeTables(river.getName(), gaugeNames); |
111 Map<String, double[][]> gaugeValues = dt.getValues(100d); | 108 Map<String, double[][]> gaugeValues = dt.getValues(100d); |
112 | 109 |
113 for (String gauge: gaugeNames) { | 110 for (String gauge: gaugeNames) { |
114 double[][] values = gaugeValues.get(gauge); | 111 double[][] values = gaugeValues.get(gauge); |
115 dataset.addSeries(gauge, values); | 112 dataset.addSeries(gauge, values); |