# HG changeset patch # User Felix Wolfsteller # Date 1344952948 0 # Node ID 76571c601d06a15f18c6ad2d70036a506e2947d0 # Parent 9dfbd36474b877a14b233eefb89a91e7f63d51e8 Add more discharge curve data to DC and W/Q diag. flys-artifacts/trunk@5204 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 9dfbd36474b8 -r 76571c601d06 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Tue Aug 14 13:32:49 2012 +0000 +++ b/flys-artifacts/ChangeLog Tue Aug 14 14:02:28 2012 +0000 @@ -1,3 +1,13 @@ +2012-08-13 Felix Wolfsteller + + * doc/conf/artifacts/fixanalysis.xml: Add discharge curve facet to + compat. list. + + * doc/conf/meta-data.xml: Show discharge curves for FixA WQ DC. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Handle discharge curve data. + 2012-08-13 Felix Wolfsteller * doc/conf/artifacts/fixanalysis.xml: Add more facets to compat. list. diff -r 9dfbd36474b8 -r 76571c601d06 flys-artifacts/doc/conf/artifacts/fixanalysis.xml --- a/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Tue Aug 14 13:32:49 2012 +0000 +++ b/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Tue Aug 14 14:02:28 2012 +0000 @@ -151,6 +151,7 @@ + diff -r 9dfbd36474b8 -r 76571c601d06 flys-artifacts/doc/conf/meta-data.xml --- a/flys-artifacts/doc/conf/meta-data.xml Tue Aug 14 13:32:49 2012 +0000 +++ b/flys-artifacts/doc/conf/meta-data.xml Tue Aug 14 14:02:28 2012 +0000 @@ -1618,7 +1618,7 @@ SELECT name AS facet_name, num as facet_num, description AS facet_description FROM facets - WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_wq%' OR name = 'fix_wq_curve' ) + WHERE out_id = ${out_id} and ( name LIKE 'fix_sector_average_wq%' OR name = 'fix_wq_curve' OR name LIKE 'fix_analysis_events_wq%' OR name LIKE 'fix_reference_events_wq%' ) ORDER BY num ASC, name DESC diff -r 9dfbd36474b8 -r 76571c601d06 flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Tue Aug 14 13:32:49 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Tue Aug 14 14:02:28 2012 +0000 @@ -4,12 +4,14 @@ import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.StaticWKmsArtifact; +import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.access.FixAnalysisAccess; import de.intevation.flys.artifacts.model.DateRange; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.NamedDouble; import de.intevation.flys.artifacts.model.QWDDateRange; import de.intevation.flys.artifacts.model.WKms; +import de.intevation.flys.artifacts.model.WQKms; import de.intevation.flys.artifacts.model.fixings.FixFunction; import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet; import de.intevation.flys.artifacts.model.fixings.QW; @@ -23,6 +25,10 @@ import de.intevation.flys.jfree.StickyAxisAnnotation; import de.intevation.flys.jfree.StyledXYSeries; import de.intevation.flys.utils.ThemeUtil; +import de.intevation.flys.utils.FLYSUtils; + +import de.intevation.flys.model.Gauge; +import de.intevation.flys.model.River; import org.jfree.chart.plot.Marker; import org.jfree.chart.plot.ValueMarker; @@ -129,6 +135,14 @@ else if(STATIC_WQ.equals(name)) { doWQOut(aaf.getData(context), aaf, doc, visible); } + else if (name.equals(DISCHARGE_CURVE)) { + doDischargeOut( + (WINFOArtifact) aaf.getArtifact(), + aaf.getData(context), + aaf.getFacetDescription(), + doc, + visible); + } else { logger.warn("Unknown facet name " + name); return; @@ -305,6 +319,41 @@ /** + * Add series with discharge curve to diagram. + */ + protected void doDischargeOut( + WINFOArtifact artifact, + Object o, + String description, + Document theme, + boolean visible) + { + WQKms wqkms = (WQKms) o; + + String gaugeName = wqkms.getName(); + + River river = FLYSUtils.getRiver(artifact); + + if (river == null) { + logger.debug("no river found"); + return; + } + + Gauge gauge = river.determineGaugeByName(gaugeName); + + if (gauge == null) { + logger.debug("no gauge found"); + return; + } + + XYSeries series = new StyledXYSeries(description, theme); + + StyledSeriesBuilder.addPointsQW(series, wqkms); + + addAxisSeries(series, YAXIS.W.idx, visible); + } + + /** * Add WQ Data to plot. * @param wqkms data as double[][] */