Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/WOutProcessor.java @ 7081:3c4efd4b2c19 generator-refactoring
Simplyfy / unify "invert axis" logic
- DataUtil now can check if two datasets are in the same direction
- In the case of WKM data a no means that the Water flows Right to Left
- If the water flows from right to left do inversion of diagrams
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 20 Sep 2013 17:36:11 +0200 |
parents | 253d80af5b7f |
children | f0731aa7b735 |
comparison
equal
deleted
inserted
replaced
7080:02a704a37323 | 7081:3c4efd4b2c19 |
---|---|
70 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || | 70 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || |
71 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || | 71 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || |
72 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { | 72 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { |
73 /* Only use W values to check if the diagram should be inverted | 73 /* Only use W values to check if the diagram should be inverted |
74 * see flys/issue1290 for details */ | 74 * see flys/issue1290 for details */ |
75 generator.handleLTRWaterFlowInversion(wkms); | 75 generator.setInverted(wkms.guessRTLData()); |
76 } | 76 } |
77 } | 77 } |
78 | 78 |
79 @Override | 79 @Override |
80 public void doOut( | 80 public void doOut( |
114 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || | 114 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || |
115 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || | 115 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || |
116 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { | 116 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { |
117 /* Only use W values to check if the diagram should be inverted | 117 /* Only use W values to check if the diagram should be inverted |
118 * see flys/issue1290 for details */ | 118 * see flys/issue1290 for details */ |
119 invertAxis(generator, wkms); | 119 generator.setInverted(wkms.guessRTLData()); |
120 } | 120 } |
121 } | 121 } |
122 | 122 |
123 /** | 123 /** |
124 * Returns true if facettype is longitutinal_section.w . | 124 * Returns true if facettype is longitutinal_section.w . |
138 { | 138 { |
139 return true; | 139 return true; |
140 } | 140 } |
141 return false; | 141 return false; |
142 } | 142 } |
143 | |
144 /** | |
145 * This method determines - taking JFreeCharts auto x value ordering into | |
146 * account - if the x axis need to be inverted. Waterlines in these charts | |
147 * should decrease. | |
148 * | |
149 * @param wkms The data object that stores the x and y values used for this | |
150 * chart. | |
151 */ | |
152 // TODO Remove | |
153 public void invertAxis(XYChartGenerator generator, WKms wkms) { | |
154 boolean wsUp = wkms.guessWaterIncreasing(); | |
155 boolean kmUp = DataUtil.guessWaterIncreasing(wkms.allKms()); | |
156 int size = wkms.size(); | |
157 boolean inv = ((wsUp && kmUp) || (!wsUp && !kmUp)) && size > 1; | |
158 | |
159 if (logger.isDebugEnabled()) { | |
160 logger.debug("(Wkms)Values : " + size); | |
161 if (size > 0) { | |
162 logger.debug("Start km: " + wkms.getKm(0)); | |
163 logger.debug("End km: " + wkms.getKm(size-1)); | |
164 } | |
165 logger.debug("wsUp: " + wsUp); | |
166 logger.debug("kmUp: " + kmUp); | |
167 if (size == 1) { | |
168 logger.debug("InvertAxis not inverting because we have just one km"); | |
169 } | |
170 logger.debug("inv: " + inv); | |
171 } | |
172 generator.setInverted(inv); | |
173 } | |
174 } | 143 } |
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 144 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |