# HG changeset patch # User Sascha L. Teichmann # Date 1340298077 0 # Node ID 05a7298c4f2099ca32fe6f5f76be2cd959900476 # Parent 29022c93027d81559300a6ce0da0eda81d820742 Fix: add method to find discharge sector border for given river and km. flys-artifacts/trunk@4752 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 29022c93027d -r 05a7298c4f20 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Thu Jun 21 16:46:05 2012 +0000 +++ b/flys-artifacts/ChangeLog Thu Jun 21 17:01:17 2012 +0000 @@ -1,3 +1,25 @@ +2012-06-21 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java: + added method getSectorBorder(int). With this method you can figure + the three discharge sector borders. Returns NaN if border is + not there. Usage: + + GaugeFinderFactory ggf = GaugeFinderFactory.getInstance(); + GaugeFinder gf = ggf.getGaugeFinder("Elbe"); + if (gf == null) { /* FAIL */ } + GaugeRange gr = gf.find(km); // km is the km where you are. + if (gr == null) { /* FAIL */ } + + double m0 = gr.getSectorBorder(0); // Draw as marker if not NaN + double m1 = gr.getSectorBorder(1); // Draw as marker if not NaN + double m2 = gr.getSectorBorder(2); // Draw as marker if not NaN + + Labels should be: + '(MNQ+MQ)/2' for m0 + '(MQ+MHQ)/2' for m1 + 'HQ5' for m2 + 2012-06-21 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/model/GaugeFinderFactory.java: diff -r 29022c93027d -r 05a7298c4f20 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java Thu Jun 21 16:46:05 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java Thu Jun 21 17:01:17 2012 +0000 @@ -77,6 +77,15 @@ } } + public double getSectorBorder(int sector) { + for (Sector s: sectors) { + if (s.sector == sector) { + return s.value; + } + } + return Double.NaN; + } + public int classify(double value) { for (Sector sector: sectors) { if (value < sector.value) {