Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/GaugeRange.java @ 5379:61bf64b102bc mapgenfix
Merge with default branch
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Fri, 22 Mar 2013 11:25:54 +0100 |
parents | f987d25627aa |
children |
comparison
equal
deleted
inserted
replaced
5175:cfc5540a4eec | 5379:61bf64b102bc |
---|---|
7 import java.util.List; | 7 import java.util.List; |
8 import java.util.Map; | 8 import java.util.Map; |
9 | 9 |
10 import org.apache.log4j.Logger; | 10 import org.apache.log4j.Logger; |
11 | 11 |
12 /** | |
13 * Gauge, km-range, main values. | |
14 */ | |
12 public class GaugeRange | 15 public class GaugeRange |
13 extends Range | 16 extends Range |
14 { | 17 { |
15 private static Logger log = Logger.getLogger(GaugeRange.class); | 18 private static Logger log = Logger.getLogger(GaugeRange.class); |
16 | 19 |
27 | 30 |
28 protected String name; | 31 protected String name; |
29 | 32 |
30 protected int gaugeId; | 33 protected int gaugeId; |
31 | 34 |
35 /** Certain main value. */ | |
32 protected Map<String, Double> mainValues; | 36 protected Map<String, Double> mainValues; |
37 | |
33 protected List<Sector> sectors; | 38 protected List<Sector> sectors; |
39 | |
34 | 40 |
35 public GaugeRange() { | 41 public GaugeRange() { |
36 } | 42 } |
37 | 43 |
44 | |
38 public GaugeRange(double start, double end, int gaugeId) { | 45 public GaugeRange(double start, double end, int gaugeId) { |
39 this(start, end, null, gaugeId); | 46 this(start, end, null, gaugeId); |
40 } | 47 } |
48 | |
41 | 49 |
42 public GaugeRange( | 50 public GaugeRange( |
43 double start, | 51 double start, |
44 double end, | 52 double end, |
45 String name, | 53 String name, |
50 this.gaugeId = gaugeId; | 58 this.gaugeId = gaugeId; |
51 mainValues = new HashMap<String, Double>(); | 59 mainValues = new HashMap<String, Double>(); |
52 sectors = new ArrayList<Sector>(3); | 60 sectors = new ArrayList<Sector>(3); |
53 } | 61 } |
54 | 62 |
63 | |
55 public void addMainValue(String label, Double value) { | 64 public void addMainValue(String label, Double value) { |
56 int idx = label.indexOf('('); | 65 int idx = label.indexOf('('); |
57 if (idx >= 0) { | 66 if (idx >= 0) { |
58 label = label.substring(0, idx); | 67 label = label.substring(0, idx); |
59 } | 68 } |
60 mainValues.put(label, value); | 69 mainValues.put(label, value); |
61 } | 70 } |
71 | |
62 | 72 |
63 protected Double getMainValue(String label) { | 73 protected Double getMainValue(String label) { |
64 Double v = mainValues.get(label); | 74 Double v = mainValues.get(label); |
65 if (v == null) { | 75 if (v == null) { |
66 log.warn("Missing main value '" | 76 log.warn("Missing main value '" |
67 + label + "' for gauge " + gaugeId); | 77 + label + "' for gauge " + gaugeId); |
68 } | 78 } |
69 return v; | 79 return v; |
70 } | 80 } |
81 | |
82 | |
83 public Map<String, Double> getMainValues() { | |
84 return mainValues; | |
85 } | |
86 | |
71 | 87 |
72 public void buildClasses() { | 88 public void buildClasses() { |
73 Double mnq = getMainValue("MNQ"); | 89 Double mnq = getMainValue("MNQ"); |
74 Double mq = getMainValue("MQ"); | 90 Double mq = getMainValue("MQ"); |
75 Double mhq = getMainValue("MHQ"); | 91 Double mhq = getMainValue("MHQ"); |
87 sectors.add(new Sector(c, value)); | 103 sectors.add(new Sector(c, value)); |
88 } | 104 } |
89 } | 105 } |
90 } | 106 } |
91 | 107 |
108 | |
92 public double getSectorBorder(int sector) { | 109 public double getSectorBorder(int sector) { |
93 for (Sector s: sectors) { | 110 for (Sector s: sectors) { |
94 if (s.sector == sector) { | 111 if (s.sector == sector) { |
95 return s.value; | 112 return s.value; |
96 } | 113 } |
97 } | 114 } |
98 return Double.NaN; | 115 return Double.NaN; |
99 } | 116 } |
117 | |
100 | 118 |
101 public int classify(double value) { | 119 public int classify(double value) { |
102 for (Sector sector: sectors) { | 120 for (Sector sector: sectors) { |
103 if (value < sector.value) { | 121 if (value < sector.value) { |
104 return sector.sector; | 122 return sector.sector; |
105 } | 123 } |
106 } | 124 } |
107 return sectors.size(); | 125 return sectors.size(); |
108 } | 126 } |
109 | 127 |
128 | |
110 public String getName() { | 129 public String getName() { |
111 return name; | 130 return name; |
112 } | 131 } |
113 | 132 |
133 | |
114 public void setName(String name) { | 134 public void setName(String name) { |
115 this.name = name; | 135 this.name = name; |
116 } | 136 } |
137 | |
117 | 138 |
118 public String toString() { | 139 public String toString() { |
119 StringBuilder sb = new StringBuilder("sectors: ["); | 140 StringBuilder sb = new StringBuilder("sectors: ["); |
120 | 141 |
121 for (int i = 0, S = sectors.size(); i < S; ++i) { | 142 for (int i = 0, S = sectors.size(); i < S; ++i) { |