[PATCH 1 of 2] issue1455: Prepare MiddleBedHeightDiagram to show Q values
Wald Commits
scm-commit at wald.intevation.org
Tue Aug 27 12:36:57 CEST 2013
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1377596137 -7200
# Node ID bf191baa37e7c5c933bf58815186044311783e9e
# Parent 972ec1f6cf582d91463d5f81b52c26bb04fe53fd
issue1455: Prepare MiddleBedHeightDiagram to show Q values.
diff -r 972ec1f6cf58 -r bf191baa37e7 artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java Mon Aug 26 15:35:39 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java Tue Aug 27 11:35:37 2013 +0200
@@ -10,9 +10,12 @@
import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
import org.dive4elements.artifactdatabase.state.Facet;
+
import org.dive4elements.river.artifacts.D4EArtifact;
import org.dive4elements.river.artifacts.model.FacetTypes;
import org.dive4elements.river.artifacts.model.MiddleBedHeightData;
+import org.dive4elements.river.artifacts.model.WQKms;
+
import org.dive4elements.river.exports.process.BedheightProcessor;
import org.dive4elements.river.exports.process.Processor;
import org.dive4elements.river.exports.process.WOutProcessor;
@@ -35,7 +38,7 @@
implements FacetTypes
{
public enum YAXIS {
- H(0), W(1), P(2);
+ H(0), W(1), P(2), Q(3);
protected int idx;
private YAXIS(int c) {
idx = c;
@@ -73,6 +76,9 @@
public static final String I18N_P_YAXIS_LABEL_DEFAULT = "Gepeilte Breite [m]";
public static final String I18N_P_YAXIS_LABEL =
"chart.bedheight_middle.sounding.yaxis.label";
+ public static final String I18N_Q_YAXIS_LABEL_DEFAULT = "Q [m\u00b3/s]";
+ public static final String I18N_Q_YAXIS_LABEL =
+ "chart.longitudinal.section.yaxis.second.label";
@Override
protected YAxisWalker getYAxisWalker() {
@@ -139,6 +145,9 @@
else if (index == YAXIS.P.idx) {
label = msg(I18N_P_YAXIS_LABEL, I18N_P_YAXIS_LABEL_DEFAULT);
}
+ else if (index = YAXIS.Q.idx) {
+ label = msg(I18N_Q_YAXIS_LABEL, I18N_Q_YAXIS_LABEL_DEFAULT);
+ }
return label;
}
@@ -226,6 +235,13 @@
attr,
visible);
}
+ else if (name.equals(STATIC_WQKMS_Q)) {
+ doQOut(
+ (WQKms) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
else if (bedp.canHandle(name)) {
bedp.doOut(this, artifactAndFacet, attr, visible, YAXIS.P.idx);
}
@@ -291,5 +307,39 @@
logger.debug("FlowVelocityGenerator.doArea");
logger.warn("TODO: Implement FlowVelocityGenerator.doArea");
}
+
+
+ // TODO method borrowed from LongitudinalSectionGenerator.
+ // Extract in an Processor
+ /**
+ * Process the output for Q facets in a longitudinal section curve.
+ *
+ * @param wqkms An array of WQKms values.
+ * @param aandf The facet and artifact. This facet does NOT support any data objects. Use
+ * D4EArtifact.getNativeFacet() instead to retrieve a Facet which supports
+ * data.
+ * @param theme The theme that contains styling information.
+ * @param visible The visibility of the curve.
+ */
+ protected void doQOut(
+ WQKms wqkms,
+ ArtifactAndFacet aandf,
+ ThemeDocument theme,
+ boolean visible
+ ) {
+ logger.debug("MiddleBedHeightGenerator.doQOut");
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ StyledSeriesBuilder.addStepPointsKmQ(series, wqkms);
+
+ addAxisSeries(series, YAXIS.Q.idx, visible);
+
+ /*
+ if (needInvertAxis(wqkms)) {
+ setInverted(true);
+ }
+ */
+ }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
More information about the Dive4elements-commits
mailing list