Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java @ 721:7298d58a1f5a
Generate facets for "Abflusskurven am Pegel". Not working by now. :-/
flys-artifacts/trunk@2198 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 22 Jun 2011 09:19:16 +0000 |
parents | 45cd58a2a2bb |
children | 8900966ad945 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java Wed Jun 22 06:51:36 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java Wed Jun 22 09:19:16 2011 +0000 @@ -23,9 +23,8 @@ import de.intevation.flys.model.TimeInterval; import de.intevation.flys.artifacts.FLYSArtifact; -import de.intevation.flys.artifacts.model.DischargeTables; -import de.intevation.flys.artifacts.model.GaugesFactory; +import de.intevation.flys.artifacts.model.WQKms; /** * An OutGenerator that generates discharge curves. @@ -98,49 +97,43 @@ logger.debug("DischargeCurveGenerator.doOut: " + facet.getName()); if (!(artifact instanceof FLYSArtifact)) { - logger.error("Artifact is no instance of FLYSArtifact."); + logger.debug("Artifact is no instance of FLYSArtifact."); return; } FLYSArtifact flysArtifact = (FLYSArtifact) artifact; - River river = flysArtifact.getRiver(); - double[] distance = flysArtifact.getDistance(); - - List<double[]> ranges = new ArrayList<double[]>(); - ranges.add(distance); - - List<Gauge> gauges = GaugesFactory.getGauges(river); - List<Gauge> filtered = GaugesFactory.filterRanges(gauges, ranges); + facet = flysArtifact.getNativeFacet(facet); - if (logger.isDebugEnabled()) { - int numGauges = gauges != null ? gauges.size() : 0; - int numFiltered = filtered != null ? filtered.size() : 0; - - logger.debug("++++++++++++++++++++"); - logger.debug("Search gauges for river: " + river.getName()); - logger.debug("-> ... from range: " + distance[0]); - logger.debug("-> ... to range: " + distance[1]); - logger.debug("-> Found " + numGauges + " gauges in total."); - logger.debug("-> Found " + numFiltered + " gauges after filtering."); - logger.debug("++++++++++++++++++++"); + if (facet == null) { + logger.debug("no facet found"); + return; } - String[] gaugeNames = new String[filtered.size()]; - int idx = 0; - for (Gauge gauge: filtered) { - gaugeNames[idx++] = gauge.getName(); + WQKms wqkms = (WQKms)facet.getData(flysArtifact, context); + + String gaugeName = wqkms.getName(); + + River river = flysArtifact.getRiver(); + + if (river == null) { + logger.debug("no river found"); + return; } - DischargeTables dt = new DischargeTables(river.getName(), gaugeNames); - Map<String, double[][]> gaugeValues = dt.getValues(100d); + Gauge gauge = river.determineGaugeByName(gaugeName); - for (Gauge gauge: filtered) { - String gaugeName = gauge.getName(); + if (gauge == null) { + logger.debug("no gauge found"); + return; + } - double[][] values = gaugeValues.get(gaugeName); - dataset.addSeries(getSeriesName(gauge), values); - } + String seriesName = getSeriesName(gauge); + + double [][] values = new double [][] { + wqkms.getQs(), wqkms.getWs() }; + + dataset.addSeries(seriesName, values); }