Revision 11182 trunk/libraries/libRaster/src/org/gvsig/raster/dataset/properties/DatasetStatistics.java
DatasetStatistics.java | ||
---|---|---|
193 | 193 |
*/ |
194 | 194 |
public void calcFullStatistics() throws FileNotOpenException, RasterDriverException{ |
195 | 195 |
long t2; |
196 |
long t1 = new Date().getTime();
|
|
196 |
long t1 = new Date().getTime();
|
|
197 | 197 |
int type = grf.getDataType(); |
198 | 198 |
max = new double[grf.getBandCount()]; |
199 | 199 |
min = new double[grf.getBandCount()]; |
... | ... | |
227 | 227 |
case IBuffer.TYPE_DOUBLE: d = (double[])buf;break; |
228 | 228 |
} |
229 | 229 |
|
230 |
for(int col = 0; col < grf.getWidth(); col ++){ |
|
230 |
for (int col = 0; col < grf.getWidth(); col ++){
|
|
231 | 231 |
double z = (b != null) ? (b[col] & 0xff) : ((s != null) ? (s[col] & 0xffff) : ((i != null) ? (i[col] & 0xffffff) : (f != null) ? f[col] : d[col])); |
232 |
if(line == 0 && col == 0){ |
|
232 |
if (line == 0 && col == 0){
|
|
233 | 233 |
min[iBand] = z; |
234 | 234 |
secondMin[iBand] = z; |
235 | 235 |
max[iBand] = z; |
236 | 236 |
secondMax[iBand] = z; |
237 | 237 |
continue; |
238 | 238 |
} |
239 |
if( min[iBand] > z ){ |
|
239 |
if ( min[iBand] > z ){
|
|
240 | 240 |
secondMin[iBand] = min[iBand]; |
241 | 241 |
min[iBand] = z; |
242 | 242 |
} |
243 | 243 |
|
244 |
if( secondMin[iBand] == min[iBand] && min[iBand] < z) |
|
244 |
if ( secondMin[iBand] == min[iBand] && min[iBand] < z)
|
|
245 | 245 |
secondMin[iBand] = z; |
246 | 246 |
|
247 |
if( max[iBand] < z ){ |
|
247 |
if ( max[iBand] < z ){
|
|
248 | 248 |
secondMax[iBand] = max[iBand]; |
249 | 249 |
max[iBand] = z; |
250 | 250 |
} |
251 | 251 |
|
252 |
if( secondMax[iBand] == max[iBand] && max[iBand] > z) |
|
252 |
if ( secondMax[iBand] == max[iBand] && max[iBand] > z)
|
|
253 | 253 |
secondMax[iBand] = z; |
254 | 254 |
|
255 | 255 |
mean[iBand] += z; |
Also available in: Unified diff