[Dive4elements-commits] [PATCH 06 of 10] ExtremeCurveFacet: Set suggestedMaxQ in curve to be max value in segment + 5%
Wald Commits
scm-commit at wald.intevation.org
Wed Oct 31 14:09:06 CET 2012
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1351688428 -3600
# Node ID 09993be04c5e0b661e1377049f20f25f9631b714
# Parent 5948de9788d56abd0df1fb0c52ad2f90cc2b9e29
ExtremeCurveFacet: Set suggestedMaxQ in curve to be max value in segment + 5%.
diff -r 5948de9788d5 -r 09993be04c5e flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCurveFacet.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCurveFacet.java Wed Oct 31 13:52:28 2012 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/extreme/ExtremeCurveFacet.java Wed Oct 31 14:00:28 2012 +0100
@@ -5,7 +5,7 @@
import de.intevation.flys.artifacts.FLYSArtifact;
-import de.intevation.flys.artifacts.access.FixAnalysisAccess;
+import de.intevation.flys.artifacts.access.ExtremeAccess;
import de.intevation.flys.artifacts.model.CalculationResult;
import de.intevation.flys.artifacts.model.DataFacet;
@@ -15,6 +15,7 @@
import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
import de.intevation.flys.utils.KMIndex;
+import de.intevation.flys.utils.DoubleUtil;
import org.apache.log4j.Logger;
@@ -60,6 +61,7 @@
logger.debug("ExtremeCurveFacet.getData");
if (artifact instanceof FLYSArtifact) {
FLYSArtifact flys = (FLYSArtifact)artifact;
+ ExtremeAccess access = new ExtremeAccess(flys);
CalculationResult res =
(CalculationResult) flys.compute(context,
@@ -76,7 +78,18 @@
if (curveEntry != null) {
logger.debug("A curve at km = " + currentKm);
- return curveEntry.getValue();
+ Curve c = curveEntry.getValue();
+ // Find segment in which the curr. km is located.
+ double[] ds = access.getValuesForRange(currentKm);
+
+ if (ds != null) {
+ double m = DoubleUtil.maxInArray(ds);
+ // Add 5 percent.
+ m *= 1.05d;
+ c.setSuggestedMaxQ(m);
+ }
+
+ return c;
}
else {
logger.debug("No curve at km = " + currentKm);
More information about the Dive4elements-commits
mailing list