Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java @ 9528:55c187a0a31e
Fixed: consistent gauge assignment with downstream gauge as reference gauge for calc range starting at a gauge range limit
author | mschaefer |
---|---|
date | Tue, 02 Oct 2018 16:39:51 +0200 |
parents | 3f230fe8eb19 |
children | 3fa8551c3d1b |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java Tue Oct 02 13:25:52 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java Tue Oct 02 16:39:51 2018 +0200 @@ -35,6 +35,7 @@ import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils; import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; import org.dive4elements.river.artifacts.sinfo.util.WstInfo; +import org.dive4elements.river.artifacts.states.WaterlevelData; import org.dive4elements.river.exports.WaterlevelDescriptionBuilder; import org.dive4elements.river.model.BedHeightValueType; import org.dive4elements.river.model.River; @@ -93,13 +94,19 @@ // Calculate the wspl for the selected river range as in fixa awspl bunduartifact.addStringData("wq_isq", "true"); final WinfoArtifactWrapper winfo = new WinfoArtifactWrapper(bunduartifact); - final RiverInfoProvider riverInfoProvider = RiverInfoProvider.forRange(this.context, river, access.getRange(), true); + final RiverInfoProvider riverInfoProvider = RiverInfoProvider.forRange(this.context, river, access.getRange()); final FixRealizingResult fixResult = calculateWspl(bunduartifact, problems); if (fixResult == null) return new CalculationResult(results, problems); final WQKms wqkms = fixResult.getWQKms()[0]; - final WstInfo wstInfo = new WstInfo(wqkms.getName(), 0, riverInfoProvider.getReferenceGauge(), true); + // We have no wst year as the wst is created by a calculation; we do not need it though + final int wspYear = -1; + // Remark: showAllGauges true for Fixierungsanalyse, false for WInfo, so true here as well + final boolean showAllGauges = true; + final WaterlevelData waterlevel = new WaterlevelData(wqkms, wspYear, showAllGauges, true); + final RiverInfoProvider riverInfoProvider2 = riverInfoProvider.forWaterlevel(waterlevel); + final WstInfo wstInfo = new WstInfo(wqkms.getName(), 0, riverInfoProvider2.getReferenceGauge(), true); // Fetch the bed heights of the selected sounding final Integer bedHeightId = access.getBedHeightID(); @@ -113,7 +120,7 @@ // Compute the result rows for (int i = 0; i <= wqkms.size() - 1; i++) { - this.rows.add(createRow(wqkms.getKm(i), wqkms.getW(i), wqkms.getQ(i), bedHeightsFinder, channelFinder, riverInfoProvider, wstInfo)); + this.rows.add(createRow(wqkms.getKm(i), wqkms.getW(i), wqkms.getQ(i), bedHeightsFinder, channelFinder, riverInfoProvider2, wstInfo)); } // Compute the missing volumes