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) {

http://dive4elements.wald.intevation.org