comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixResult.java @ 9360:ddcd52d239cd

Outliers in fixation calculation are now shown within the other 'B' event themes and get a separate symbol (triangle). Removed old outliers theme. Also consider showpoints property. Also consider pointsize property.
author gernotbelger
date Wed, 01 Aug 2018 17:13:52 +0200
parents a3f318347707
children 9744ce3c3853
comparison
equal deleted inserted replaced
9359:df6f1b5806f6 9360:ddcd52d239cd
6 * documentation coming with Dive4Elements River for details. 6 * documentation coming with Dive4Elements River for details.
7 */ 7 */
8 8
9 package org.dive4elements.river.artifacts.model.fixings; 9 package org.dive4elements.river.artifacts.model.fixings;
10 10
11 import org.apache.log4j.Logger;
12 import org.dive4elements.river.artifacts.model.Parameters;
13
14 import org.dive4elements.river.utils.KMIndex;
15
16 import java.io.Serializable; 11 import java.io.Serializable;
17 import java.util.Collection; 12 import java.util.Collection;
18 import java.util.Date; 13 import java.util.Date;
19 import java.util.Set; 14 import java.util.Set;
20 import java.util.TreeMap; 15 import java.util.TreeMap;
21 import java.util.TreeSet; 16 import java.util.TreeSet;
22 17
23 public class FixResult 18 import org.dive4elements.river.artifacts.model.Parameters;
24 implements Serializable 19 import org.dive4elements.river.utils.KMIndex;
20
21 public class FixResult implements Serializable
25 { 22 {
26 private static Logger log = 23 private static final long serialVersionUID = 1L;
27 Logger.getLogger(FixResult.class);
28 24
29 protected Parameters parameters; 25 protected Parameters parameters;
30 protected KMIndex<QWD []> referenced; 26 protected KMIndex<QWD []> fixings;
31 protected KMIndex<QWD []> outliers;
32 27
33 public FixResult() { 28 public FixResult() {
34 } 29 }
35 30
36 public FixResult( 31 public FixResult( final Parameters parameters, final KMIndex<QWD []> fixings ) {
37 Parameters parameters,
38 KMIndex<QWD []> referenced,
39 KMIndex<QWD []> outliers
40 ) {
41 this.parameters = parameters; 32 this.parameters = parameters;
42 this.referenced = referenced; 33 this.fixings = fixings;
43 this.outliers = outliers;
44 } 34 }
45 35
46 public KMIndex<QWD []> getReferenced() { 36 public KMIndex<QWD []> getFixings() {
47 return referenced; 37 return fixings;
48 } 38 }
49 39
50 public void setReferenced(KMIndex<QWD []> referenced) { 40 public void makeEventsDatesUnique() {
51 this.referenced = referenced;
52 }
53
54 public void makeReferenceEventsDatesUnique() {
55 final DateUniqueMaker dum = new DateUniqueMaker(); 41 final DateUniqueMaker dum = new DateUniqueMaker();
56 42
57 for (KMIndex.Entry<QWD []> entry: referenced) { 43 for (KMIndex.Entry<QWD []> entry: fixings) {
58 for (QWD ref: entry.getValue()) 44 for (QWD ref: entry.getValue())
59 dum.makeUnique(ref); 45 dum.makeUnique(ref);
60 } 46 }
61
62 // FIXME
63 // for (KMIndex.Entry<QWD []> entry: outliers) {
64 // for (QWD ref: entry.getValue())
65 // dum.makeUnique(ref);
66 // }
67 } 47 }
68 48
69 private Collection<Integer> getReferenceEventsIndices() { 49 private Collection<Integer> getEventsIndices() {
70 final TreeMap<Date, Integer> dates = new TreeMap<>(); 50 final TreeMap<Date, Integer> dates = new TreeMap<>();
71 51
72 for (KMIndex.Entry<QWD []> entry: referenced) { 52 for (KMIndex.Entry<QWD []> entry: fixings) {
73 for (QWD value: entry.getValue()) 53 for (QWD value: entry.getValue())
74 dates.put(value.date, value.index); 54 dates.put(value.date, value.index);
75 } 55 }
76 // FIXME
77 // for (KMIndex.Entry<QWD []> entry: outliers) {
78 // for (QWD value: entry.getValue())
79 // dates.put(value.date, value.index);
80 // }
81 56
82 return dates.values(); 57 return dates.values();
83 } 58 }
84 59
85 public void remapReferenceIndicesToRank() { 60 public void remapEventIndicesToRank() {
86 final RankRemapper remapper = new RankRemapper(); 61 final RankRemapper remapper = new RankRemapper();
87 for (Integer idx: getReferenceEventsIndices()) 62 for (Integer idx: getEventsIndices())
88 remapper.toMap(idx); 63 remapper.toMap(idx);
89 64
90 for (KMIndex.Entry<QWD []> entry: referenced) { 65 for (KMIndex.Entry<QWD []> entry: fixings) {
91 for (QWD value: entry.getValue()) 66 for (QWD value: entry.getValue())
92 remapper.remap(value); 67 remapper.remap(value);
93 } 68 }
94 // FIXME
95 // for (KMIndex.Entry<QWD []> entry: outliers) {
96 // for (QWD value: entry.getValue())
97 // remapper.remap(value);
98 // }
99 } 69 }
100 70
101 public Collection<Date> getReferenceEventsDates() { 71 public Collection<Date> getReferenceEventsDates() {
102 72
103 final Set<Date> dates = new TreeSet<>(); 73 final Set<Date> dates = new TreeSet<>();
104 74
105 for (final KMIndex.Entry<QWD []> entry: referenced) { 75 for (final KMIndex.Entry<QWD []> entry: fixings) {
106 for (final QWD qwd: entry.getValue()) 76 for (final QWD qwd: entry.getValue())
107 dates.add(qwd.date); 77 dates.add(qwd.date);
108 } 78 }
109 79
110 // FIXME, but not always...
111 // for (final KMIndex.Entry<QWD []> entry: outliers) {
112 // for (final QWD qwd: entry.getValue())
113 // dates.add(qwd.date);
114 // }
115
116 return dates; 80 return dates;
117 }
118
119
120 public KMIndex<QWD []> getOutliers() {
121 return outliers;
122 }
123
124 public void setOutliers(KMIndex<QWD []> outliers) {
125 this.outliers = outliers;
126 } 81 }
127 82
128 public Parameters getParameters() { 83 public Parameters getParameters() {
129 return parameters; 84 return parameters;
130 } 85 }
131
132 public void setParameters(Parameters parameters) {
133 this.parameters = parameters;
134 }
135 } 86 }
136 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org