[PATCH 4 of 4] Moved most of the functionality of FlowVelocityGenerator to LongitudinalSectionGenerator on the way to longitudinal-section symmetry. ToDos left
Wald Commits
scm-commit at wald.intevation.org
Fri Aug 9 12:12:51 CEST 2013
# HG changeset patch
# User Tom Gottfried <tom at intevation.de>
# Date 1376043113 -7200
# Branch longitudinal-symmetry
# Node ID 23ab795f2f0e7bf1b9b34b143bf1ab111e2cf4d8
# Parent bdbe704dd433bc4ee9c50acfa704b30fbc2c1ebd
Moved most of the functionality of FlowVelocityGenerator to LongitudinalSectionGenerator on the way to longitudinal-section symmetry. ToDos left.
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/FlowVelocityGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -37,7 +37,7 @@
/**
- * An OutGenerator that generates flow velocity curves.
+ * An OutGenerator that generates flow velocity diagramms.
*
* @author <a href="mailto:ingo.weinzierl at intevation.de">Ingo Weinzierl</a>
*/
@@ -46,24 +46,21 @@
implements FacetTypes
{
public enum YAXIS {
- V(0),
- T(1),
- Q(2),
- D(3);
- /* TODO Q and Density will come as 4th and 3rd axis. */
+ V(0), // flow velocity
+ T(1), // tau (shear stress)
+ Q(2), // discharge
+ O(3), // diameter
+ W(4), // waterlevel
+ D(5); // waterlevel-difference
protected int idx;
private YAXIS(int c) {
- idx = c;
+ idx = c;
}
}
/** The logger that is used in this generator. */
private static Logger logger = Logger.getLogger(FlowVelocityGenerator.class);
- /** Key to look up internationalized String for annotations label. */
- public static final String I18N_ANNOTATIONS_LABEL =
- "chart.flow_velocity.annotations.label";
-
/**
* Key to look up internationalized String for LongitudinalSection diagrams
* titles.
@@ -71,298 +68,10 @@
public static final String I18N_CHART_TITLE =
"chart.flow_velocity.section.title";
- /**
- * Key to look up internationalized String for LongitudinalSection diagrams
- * subtitles.
+ /** TODO:
+ * are the following defined somewhere else too?
+ * remove them here!
*/
- public static final String I18N_CHART_SUBTITLE =
- "chart.flow_velocity.section.subtitle";
-
- /**
- * Key to look up internationalized String for LongitudinalSection diagrams
- * short subtitles.
- */
- public static final String I18N_CHART_SHORT_SUBTITLE =
- "chart.flow_velocity.section.shortsubtitle";
-
- public static final String I18N_YAXIS_LABEL =
- "chart.flow_velocity.section.yaxis.label";
-
- public static final String I18N_2YAXIS_LABEL =
- "chart.flow_velocity.section.yaxis.second.label";
-
- public static final String I18N_3YAXIS_LABEL =
- "chart.flow_velocity.section.yaxis.third.label";
- public static final String I18N_4YAXIS_LABEL = "chart.bedquality.yaxis.label.diameter";
-
- public static final String I18N_CHART_TITLE_DEFAULT = "Geschwindigkeit- und Schubspannung";
- public static final String I18N_YAXIS_LABEL_DEFAULT = "Geschwindigkeit v [m/s]";
- public static final String I18N_2YAXIS_LABEL_DEFAULT = "Schubspannung Tau [N]";
- public static final String I18N_3YAXIS_LABEL_DEFAULT = "Q [m³/s]";
- public static final String I18N_4YAXIS_LABEL_DEFAULT = "Durchmesser [mm]";
-
- @Override
- protected YAxisWalker getYAxisWalker() {
- return new YAxisWalker() {
- @Override
- public int length() {
- return YAXIS.values().length;
- }
-
- @Override
- public String getId(int idx) {
- YAXIS[] yaxes = YAXIS.values();
- return yaxes[idx].toString();
- }
- };
- }
-
-
- /**
- * Returns the default title for this chart.
- *
- * @return the default title for this chart.
- */
- @Override
- public String getDefaultChartTitle() {
- Object[] args = new Object[] {
- getRiverName()
- };
-
- return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT, args);
- }
-
-
- /**
- * Get internationalized label for the x axis.
- */
- @Override
- protected String getDefaultXAxisLabel() {
- D4EArtifact flys = (D4EArtifact) master;
-
- return msg(
- I18N_XAXIS_LABEL,
- I18N_XAXIS_LABEL_DEFAULT,
- new Object[] { RiverUtils.getRiver(flys).getName() });
- }
-
-
- @Override
- protected String getDefaultYAxisLabel(int index) {
- String label = "default";
-
- if (index == YAXIS.V.idx) {
- label = getVAxisLabel();
- }
- else if (index == YAXIS.T.idx) {
- label = getTAxisLabel();
- }
- else if (index == YAXIS.Q.idx) {
- label = getQAxisLabel();
- }
- else if (index == YAXIS.D.idx) {
- label = getDAxisLabel();
- }
-
- return label;
- }
-
-
- /**
- * Get internationalized label for the y axis.
- */
- protected String getVAxisLabel() {
- return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT);
- }
-
-
- /**
- * Get internationalized label for the y axis.
- */
- protected String getQAxisLabel() {
- return msg(I18N_3YAXIS_LABEL, I18N_3YAXIS_LABEL_DEFAULT);
- }
-
- /**
- * Get internationalized label for the y axis.
- */
- protected String getTAxisLabel() {
- return msg(I18N_2YAXIS_LABEL, I18N_2YAXIS_LABEL_DEFAULT);
- }
-
- /**
- * Get internationalized label for the y axis.
- */
- protected String getDAxisLabel() {
- return msg(I18N_4YAXIS_LABEL, I18N_4YAXIS_LABEL_DEFAULT);
- }
-
- /**
- * Produce output.
- * @param artifactAndFacet current facet.
- * @param attr theme for facet
- * @param visible Whether this facets data is actually visible or not.
- */
- public void doOut(
- ArtifactAndFacet artifactAndFacet,
- Document attr,
- boolean visible
- ) {
- String name = artifactAndFacet.getFacetName();
-
- logger.debug("FlowVelocityGenerator.doOut: " + name);
-
- if (name == null) {
- logger.error("No facet name for doOut(). No output generated!");
- return;
- }
-
- Facet facet = artifactAndFacet.getFacet();
-
- if (facet == null) {
- return;
- }
-
- if (getXBounds(0) != null && getDomainAxisRange() != null) {
- logger.debug(Arrays.toString(getDomainAxisRangeFromRequest()));
- Bounds bounds =
- calculateZoom(getXBounds(0), getDomainAxisRange());
- context.putContextValue("startkm", bounds.getLower());
- context.putContextValue("endkm", bounds.getUpper());
- }
- else if (getXBounds(0) != null && getDomainAxisRange() == null) {
- context.putContextValue("startkm", getXBounds(0).getLower());
- context.putContextValue("endkm", getXBounds(0).getUpper());
- }
- else if (getXBounds(0) == null && getDomainAxisRange() == null) {
- D4EArtifact artifact = (D4EArtifact)artifactAndFacet.getArtifact();
- FlowVelocityAccess access = new FlowVelocityAccess(artifact);
- context.putContextValue("startkm", access.getLowerKM());
- context.putContextValue("endkm", access.getUpperKM());
- }
- else if (getXBounds(0) == null && getDomainAxisRange() != null){
- D4EArtifact artifact = (D4EArtifact)artifactAndFacet.getArtifact();
- FlowVelocityAccess access = new FlowVelocityAccess(artifact);
- Bounds b = new DoubleBounds(access.getLowerKM(), access.getUpperKM());
- Bounds bounds =
- calculateZoom(b, getDomainAxisRange());
- context.putContextValue("startkm", bounds.getLower());
- context.putContextValue("endkm", bounds.getUpper());
- }
- if (name.equals(FLOW_VELOCITY_MAINCHANNEL)) {
- doMainChannelOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL)) {
- doTotalChannelOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_MAINCHANNEL_FILTERED)) {
- doMainChannelOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL_FILTERED)) {
- doTotalChannelOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_DISCHARGE)) {
- doQOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_TAU)) {
- doTauOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_TAU_FILTERED)) {
- doTauOut(
- (FlowVelocityData) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
-
- else if (name.equals(FLOW_VELOCITY_ANNOTATION)) {
- doAnnotations(
- (RiverAnnotation) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (FacetTypes.IS.AREA(name)) {
- doArea(
- artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (FacetTypes.IS.MANUALPOINTS(name)) {
- doPoints(
- artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible,
- YAXIS.V.idx);
- }
- else if (name.equals(LONGITUDINAL_ANNOTATION)) {
- doAnnotations(
- (RiverAnnotation) artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(FLOW_VELOCITY_MEASUREMENT)) {
- doVPointOut(
- artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(BED_QUALITY_BED_DIAMETER_SUBLAYER)) {
- doBedQualitySubLayerOut(
- (BedDiameterResult)artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(BED_QUALITY_BED_DIAMETER_TOPLAYER)) {
- doBedQualityTopLayerOut(
- (BedDiameterResult)artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else if (name.equals(BED_QUALITY_BEDLOAD_DIAMETER)) {
- doBedQualityLoadDiameter(
- (BedloadDiameterResult)artifactAndFacet.getData(context),
- artifactAndFacet,
- attr,
- visible);
- }
- else {
- logger.warn("Unknown facet name: " + name);
- return;
- }
- }
-
-
private void doBedQualityLoadDiameter(
BedloadDiameterResult data,
ArtifactAndFacet aandf,
@@ -397,155 +106,5 @@
StyledSeriesBuilder.addPoints(series, data.getDiameterSubData(), true);
addAxisSeries(series, YAXIS.D.idx, visible);
}
-
-
- /**
- * Process the output for W facets in a longitudinal section curve.
- *
- * @param data A FlowVelocityData object
- * @param aandf The facet. 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 doMainChannelOut(
- FlowVelocityData data,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doMainChannelOut");
-
- XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
- StyledSeriesBuilder.addPoints(series, data.getMainChannelPoints(), true);
-
- addAxisSeries(series, YAXIS.V.idx, visible);
- }
-
-
- /** Handle VWQKms. */
- protected void doVPointOut (
- Object data,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doVPointOut");
-
- XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
- FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue
- value = (FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue)
- data;
-
- StyledSeriesBuilder.addPoints(series, new double[][] {{value.getStation()},{value.getV()}}, true);
-
- addAxisSeries(series, YAXIS.V.idx, visible);
- }
-
-
- /**
- * Add items to dataseries which describes the differences.
- */
- protected void doTotalChannelOut(
- FlowVelocityData data,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doTotalChannelOut");
-
- if (data == null) {
- logger.warn("No data to add to FlowVelocity chart.");
- return;
- }
-
- XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
- StyledSeriesBuilder.addPoints(series, data.getTotalChannelPoints(), true);
-
- addAxisSeries(series, YAXIS.V.idx, visible);
- }
-
-
-
- /**
- * @param data A FlowVelocityData object
- * @param aandf The facet. 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(
- FlowVelocityData data,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doTauOut");
-
- XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
- StyledSeriesBuilder.addPoints(series, data.getQPoints(), true);
-
- addAxisSeries(series, YAXIS.Q.idx, visible);
- }
-
- /**
- * @param data A FlowVelocityData object
- * @param aandf The facet. 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 doTauOut(
- FlowVelocityData data,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doTauOut");
-
- XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
-
- StyledSeriesBuilder.addPoints(series, data.getTauPoints(), true);
-
- addAxisSeries(series, YAXIS.T.idx, visible);
- }
-
-
- /** Look up the axis identifier for a given facet type. */
- public int axisIdxForFacet(String facetName) {
- if (FacetTypes.IS.V(facetName)) {
- return YAXIS.V.idx;
- }
- else if (FacetTypes.IS.T(facetName)) {
- return YAXIS.T.idx;
- }
- else {
- logger.warn("Could not find axis for facet " + facetName);
- return YAXIS.V.idx;
- }
- }
-
-
- /**
- * Do Area out.
- * @param theme styling information.
- * @param visible whether or not visible.
- */
- protected void doArea(
- Object o,
- ArtifactAndFacet aandf,
- Document theme,
- boolean visible
- ) {
- logger.debug("FlowVelocityGenerator.doArea");
- logger.warn("TODO: Implement FlowVelocityGenerator.doArea");
- }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -8,6 +8,8 @@
package org.dive4elements.river.exports;
+import java.util.Arrays;
+
import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
import org.dive4elements.artifactdatabase.state.Facet;
import org.dive4elements.river.artifacts.D4EArtifact;
@@ -23,6 +25,12 @@
import org.dive4elements.river.exports.process.BedheightProcessor;
import org.dive4elements.river.exports.process.WOutProcessor;
+import org.dive4elements.river.artifacts.access.FlowVelocityAccess;
+import org.dive4elements.river.artifacts.model.FlowVelocityData;
+import org.dive4elements.river.model.FlowVelocityMeasurementValue;
+
+import org.dive4elements.river.jfree.Bounds;
+import org.dive4elements.river.jfree.DoubleBounds;
import org.dive4elements.river.jfree.RiverAnnotation;
import org.dive4elements.river.jfree.StyledAreaSeriesCollection;
import org.dive4elements.river.jfree.StyledXYSeries;
@@ -46,9 +54,12 @@
implements FacetTypes
{
public enum YAXIS {
- W(0),
- D(1),
- Q(2);
+ W(0), // waterlevel
+ D(1), // waterlevel-difference
+ Q(2), // discharge
+ V(3), // flow velocity
+ T(4), // tau (shear stress)
+ O(3); // diameter
protected int idx;
private YAXIS(int c) {
idx = c;
@@ -67,8 +78,13 @@
* Key to look up internationalized String for LongitudinalSection diagrams
* titles.
*/
+ /** TODO:
+ * create a class which extends this one to avoid following definition here
+ */
public static final String I18N_CHART_TITLE =
"chart.longitudinal.section.title";
+ public static final String I18N_CHART_TITLE_DEFAULT =
+ "L\u00e4ngsschnitt";
/**
* Key to look up internationalized String for LongitudinalSection diagrams
@@ -84,24 +100,32 @@
public static final String I18N_CHART_SHORT_SUBTITLE =
"chart.longitudinal.section.shortsubtitle";
+ /**
+ * Key to look up internationalized String for LongitudinalSection diagrams
+ * X-axis title.
+ */
public static final String I18N_XAXIS_LABEL =
"chart.longitudinal.section.xaxis.label";
+ public static final String I18N_XAXIS_LABEL_DEFAULT =
+ "km";
- public static final String I18N_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.label";
+ /**
+ * Key to look up internationalized String for LongitudinalSection diagrams
+ * Y-axis titles.
+ */
+ public static final String I18N_YAXIS_LABEL_W =
+ "chart.longitudinal.section.yaxis.label.w";
+ public static final String I18N_YAXIS_LABEL_Q =
+ "chart.longitudinal.section.yaxis.label.q";
+ public static final String I18N_YAXIS_LABEL_D =
+ "chart.w_differences.yaxis.label";
+ public static final String I18N_YAXIS_LABEL_V =
+ "chart.flow_velocity.section.yaxis.label";
+ public static final String I18N_YAXIS_LABEL_T =
+ "chart.flow_velocity.section.yaxis.second.label";
+ public static final String I18N_YAXIS_LABEL_DEFAULT =
+ "Y-axis";
- public static final String I18N_2YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.second.label";
-
- public static final String I18N_CHART_TITLE_DEFAULT = "W-L\u00e4ngsschnitt";
- public static final String I18N_XAXIS_LABEL_DEFAULT = "km";
- public static final String I18N_YAXIS_LABEL_DEFAULT = "W [NN + m]";
- public static final String I18N_2YAXIS_LABEL_DEFAULT = "Q [m\u00b3/s]";
-
- public final static String I18N_WDIFF_YAXIS_LABEL =
- "chart.w_differences.yaxis.label";
-
- public final static String I18N_WDIFF_YAXIS_LABEL_DEFAULT = "m";
public LongitudinalSectionGenerator() {
super();
@@ -218,36 +242,43 @@
}
- @Override
- protected String getDefaultYAxisLabel(int index) {
- String label = "default";
-
- if (index == YAXIS.W.idx) {
- label = getWAxisLabel();
- }
- else if (index == YAXIS.Q.idx) {
- label = msg(getQAxisLabelKey(), getQAxisDefaultLabel());
- }
- else if (index == YAXIS.D.idx) {
- label = msg(I18N_WDIFF_YAXIS_LABEL, I18N_WDIFF_YAXIS_LABEL_DEFAULT);
- }
-
- return label;
- }
-
-
/**
* Get internationalized label for the y axis.
*/
- protected String getWAxisLabel() {
+ @Override
+ protected String getDefaultYAxisLabel(int index) {
+
D4EArtifact flys = (D4EArtifact) master;
-
String unit = RiverUtils.getRiver(flys).getWstUnit().getName();
- return msg(
- I18N_YAXIS_LABEL,
- I18N_YAXIS_LABEL_DEFAULT,
- new Object[] { unit });
+ if (index == YAXIS.W.idx) {
+ return msg(
+ I18N_YAXIS_LABEL_W,
+ I18N_YAXIS_LABEL_DEFAULT,
+ new Object[] { unit });
+ }
+ if (index == YAXIS.Q.idx) {
+ return msg(
+ I18N_YAXIS_LABEL_Q,
+ I18N_YAXIS_LABEL_DEFAULT);
+ }
+ if (index == YAXIS.D.idx) {
+ return msg(
+ I18N_YAXIS_LABEL_D,
+ I18N_YAXIS_LABEL_DEFAULT);
+ }
+ if (index == YAXIS.V.idx) {
+ return msg(
+ I18N_YAXIS_LABEL_V,
+ I18N_YAXIS_LABEL_DEFAULT);
+ }
+ if (index == YAXIS.T.idx) {
+ return msg(
+ I18N_YAXIS_LABEL_T,
+ I18N_YAXIS_LABEL_DEFAULT);
+ }
+
+ return "default";
}
@@ -272,23 +303,6 @@
/**
- * Get default value for the second Y-Axis' label (if no translation was
- * found).
- */
- protected String getQAxisDefaultLabel() {
- return I18N_2YAXIS_LABEL_DEFAULT;
- }
-
-
- /**
- * Get key for internationalization of the second Y-Axis' label.
- */
- protected String getQAxisLabelKey() {
- return I18N_2YAXIS_LABEL;
- }
-
-
- /**
* Trigger inversion.
*/
@Override
@@ -399,6 +413,92 @@
visible,
YAXIS.W.idx);
}
+
+ /* output for flow velocity */
+ if (getXBounds(0) != null && getDomainAxisRange() != null) {
+ logger.debug(Arrays.toString(getDomainAxisRangeFromRequest()));
+ Bounds bounds =
+ calculateZoom(getXBounds(0), getDomainAxisRange());
+ context.putContextValue("startkm", bounds.getLower());
+ context.putContextValue("endkm", bounds.getUpper());
+ }
+ else if (getXBounds(0) != null && getDomainAxisRange() == null) {
+ context.putContextValue("startkm", getXBounds(0).getLower());
+ context.putContextValue("endkm", getXBounds(0).getUpper());
+ }
+ else if (getXBounds(0) == null && getDomainAxisRange() == null) {
+ D4EArtifact artifact = (D4EArtifact)artifactAndFacet.getArtifact();
+ FlowVelocityAccess access = new FlowVelocityAccess(artifact);
+ context.putContextValue("startkm", access.getLowerKM());
+ context.putContextValue("endkm", access.getUpperKM());
+ }
+ else if (getXBounds(0) == null && getDomainAxisRange() != null){
+ D4EArtifact artifact = (D4EArtifact)artifactAndFacet.getArtifact();
+ FlowVelocityAccess access = new FlowVelocityAccess(artifact);
+ Bounds b = new DoubleBounds(access.getLowerKM(), access.getUpperKM());
+ Bounds bounds =
+ calculateZoom(b, getDomainAxisRange());
+ context.putContextValue("startkm", bounds.getLower());
+ context.putContextValue("endkm", bounds.getUpper());
+ }
+ if (name.equals(FLOW_VELOCITY_MAINCHANNEL)) {
+ doMainChannelOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL)) {
+ doTotalChannelOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_MAINCHANNEL_FILTERED)) {
+ doMainChannelOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_TOTALCHANNEL_FILTERED)) {
+ doTotalChannelOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_DISCHARGE)) {
+ doQOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_TAU)) {
+ doTauOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_TAU_FILTERED)) {
+ doTauOut(
+ (FlowVelocityData) artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+ else if (name.equals(FLOW_VELOCITY_MEASUREMENT)) {
+ doVPointOut(
+ artifactAndFacet.getData(context),
+ artifactAndFacet,
+ attr,
+ visible);
+ }
+
+
else {
logger.warn("Unknown facet name: " + name);
return;
@@ -521,6 +621,12 @@
else if (FacetTypes.IS.Q(facetName)) {
return YAXIS.Q.idx;
}
+ else if (FacetTypes.IS.V(facetName)) {
+ return YAXIS.V.idx;
+ }
+ else if (FacetTypes.IS.T(facetName)) {
+ return YAXIS.T.idx;
+ }
else {
logger.warn("Could not find axis for facet " + facetName);
return YAXIS.W.idx;
@@ -627,5 +733,123 @@
// Add area to the respective axis.
addAreaSeries(area, axisIdxForFacet(data.getRootFacetName()), visible);
}
+
+
+ /**
+ * flow velocity specific outs
+ */
+
+ /**
+ * Process the output for flow velocity in main channel in a longitudinal section curve.
+ *
+ * @param data A FlowVelocityData object
+ * @param aandf The facet. 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 doMainChannelOut(
+ FlowVelocityData data,
+ ArtifactAndFacet aandf,
+ Document theme,
+ boolean visible
+ ) {
+ logger.debug("FlowVelocityGenerator.doMainChannelOut");
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ StyledSeriesBuilder.addPoints(series, data.getMainChannelPoints(), true);
+
+ addAxisSeries(series, YAXIS.V.idx, visible);
+ }
+
+ /**
+ * Process the output for flow velocity in total channel in a longitudinal section curve.
+ */
+ protected void doTotalChannelOut(
+ FlowVelocityData data,
+ ArtifactAndFacet aandf,
+ Document theme,
+ boolean visible
+ ) {
+ logger.debug("FlowVelocityGenerator.doTotalChannelOut");
+
+ if (data == null) {
+ logger.warn("No data to add to FlowVelocity chart.");
+ return;
+ }
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ StyledSeriesBuilder.addPoints(series, data.getTotalChannelPoints(), true);
+
+ addAxisSeries(series, YAXIS.V.idx, visible);
+ }
+
+ /**
+ * @param data A FlowVelocityData object
+ * @param aandf The facet. 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 doTauOut(
+ FlowVelocityData data,
+ ArtifactAndFacet aandf,
+ Document theme,
+ boolean visible
+ ) {
+ logger.debug("FlowVelocityGenerator.doTauOut");
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ StyledSeriesBuilder.addPoints(series, data.getTauPoints(), true);
+
+ addAxisSeries(series, YAXIS.T.idx, visible);
+ }
+
+ protected void doVPointOut (
+ Object data,
+ ArtifactAndFacet aandf,
+ Document theme,
+ boolean visible
+ ) {
+ logger.debug("FlowVelocityGenerator.doVPointOut");
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue
+ value = (FlowVelocityMeasurementValue.FastFlowVelocityMeasurementValue)
+ data;
+
+ StyledSeriesBuilder.addPoints(series, new double[][] {{value.getStation()},{value.getV()}}, true);
+
+ addAxisSeries(series, YAXIS.V.idx, visible);
+ }
+
+ /**
+ * @param data A FlowVelocityData object
+ * @param aandf The facet. 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(
+ FlowVelocityData data,
+ ArtifactAndFacet aandf,
+ Document theme,
+ boolean visible
+ ) {
+ logger.debug("FlowVelocityGenerator.doTauOut");
+
+ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
+
+ StyledSeriesBuilder.addPoints(series, data.getQPoints(), true);
+
+ addAxisSeries(series, YAXIS.Q.idx, visible);
+ }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -64,7 +64,7 @@
public static final String I18N_CHART_TITLE_DEFAULT = "Mittlere Sohlhöhe";
public static final String I18N_YAXIS_LABEL_DEFAULT = "mittlere Sohlhöhen [müNN]";
public static final String I18N_W_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.label";
+ "chart.longitudinal.section.yaxis.label.w";
public static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
public static final String I18N_P_YAXIS_LABEL_DEFAULT = "Gepeilte Breite [m]";
public static final String I18N_P_YAXIS_LABEL =
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixLongitudinalSectionGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixLongitudinalSectionGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixLongitudinalSectionGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -64,10 +64,10 @@
"chart.fixings.longitudinalsection.yaxis.label";
public static final String I18N_W_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.label";
+ "chart.longitudinal.section.yaxis.label.w";
public static final String I18N_Q_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.second.label";
+ "chart.longitudinal.section.yaxis.label.q";
public static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
public static final String I18N_Q_YAXIS_LABEL_DEFAULT = "Q [m\u00b3/s]";
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceEpochGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -62,7 +62,7 @@
"chart.fixings.longitudinalsection.yaxis.label";
private static final String I18N_W_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.label";
+ "chart.longitudinal.section.yaxis.label.w";
private static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java
--- a/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceYearGenerator.java Fri Aug 09 12:11:53 2013 +0200
@@ -63,7 +63,7 @@
public static final String I18N_DW_YAXIS_LABEL =
"chart.fixings.longitudinalsection.yaxis.label";
private static final String I18N_W_YAXIS_LABEL =
- "chart.longitudinal.section.yaxis.label";
+ "chart.longitudinal.section.yaxis.label.w";
private static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]";
@Override
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/resources/messages.properties
--- a/artifacts/src/main/resources/messages.properties Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/resources/messages.properties Fri Aug 09 12:11:53 2013 +0200
@@ -153,8 +153,8 @@
chart.longitudinal.section.subtitle = Range: {0}-km {1,number,#.###} - {2,number,#.###}
chart.longitudinal.section.shortsubtitle = {0}
chart.longitudinal.section.xaxis.label = {0}-km
-chart.longitudinal.section.yaxis.label = W [{0}]
-chart.longitudinal.section.yaxis.second.label = Q [m\u00b3/s]
+chart.longitudinal.section.yaxis.label.w = W [{0}]
+chart.longitudinal.section.yaxis.label.q = Q [m\u00b3/s]
chart.longitudinal.annotations.label = {0}.km
chart.cross_section.title = Cross Section for river {0}
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/resources/messages_de.properties
--- a/artifacts/src/main/resources/messages_de.properties Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/resources/messages_de.properties Fri Aug 09 12:11:53 2013 +0200
@@ -159,8 +159,8 @@
chart.longitudinal.section.subtitle = Bereich: {0}-km {1,number,#.###} - {2,number,#.###}
chart.longitudinal.section.shortsubtitle = {0}
chart.longitudinal.section.xaxis.label = {0}-km
-chart.longitudinal.section.yaxis.label = W [{0}]
-chart.longitudinal.section.yaxis.second.label = Q [m\u00b3/s]
+chart.longitudinal.section.yaxis.label.w = W [{0}]
+chart.longitudinal.section.yaxis.label.q = Q [m\u00b3/s]
chart.longitudinal.annotations.label = {0}.km
chart.discharge.curve.title = Abflusskurve
chart.discharge.curve.xaxis.label = Q [m\u00b3/s]
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/resources/messages_de_DE.properties
--- a/artifacts/src/main/resources/messages_de_DE.properties Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/resources/messages_de_DE.properties Fri Aug 09 12:11:53 2013 +0200
@@ -158,8 +158,8 @@
chart.longitudinal.section.subtitle = Bereich: {0}-km {1,number,#.###} - {2,number,#.###}
chart.longitudinal.section.shortsubtitle = {0}
chart.longitudinal.section.xaxis.label = {0}-km
-chart.longitudinal.section.yaxis.label = W [{0}]
-chart.longitudinal.section.yaxis.second.label = Q [m\u00b3/s]
+chart.longitudinal.section.yaxis.label.w = W [{0}]
+chart.longitudinal.section.yaxis.label.q = Q [m\u00b3/s]
chart.longitudinal.annotations.label = {0}.km
chart.discharge.curve.title = Abflusskurve
chart.discharge.curve.xaxis.label = Q [m\u00b3/s]
diff -r bdbe704dd433 -r 23ab795f2f0e artifacts/src/main/resources/messages_en.properties
--- a/artifacts/src/main/resources/messages_en.properties Thu Aug 08 17:36:44 2013 +0200
+++ b/artifacts/src/main/resources/messages_en.properties Fri Aug 09 12:11:53 2013 +0200
@@ -158,8 +158,8 @@
chart.longitudinal.section.subtitle = Range: {0}-km {1,number,#.###} - {2,number,#.###}
chart.longitudinal.section.shortsubtitle = {0}
chart.longitudinal.section.xaxis.label = {0}-km
-chart.longitudinal.section.yaxis.label = W [{0}]
-chart.longitudinal.section.yaxis.second.label = Q [m\u00b3/s]
+chart.longitudinal.section.yaxis.label.w = W [{0}]
+chart.longitudinal.section.yaxis.label.q = Q [m\u00b3/s]
chart.longitudinal.annotations.label = {0}.km
chart.computed.discharge.curve.gauge = Discharge curve at gauge {0} (km {1})
chart.discharge.curve.title = Discharge Curve
More information about the Dive4elements-commits
mailing list