Revision 28300 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/gridmath/GridMathProcess.java
GridMathProcess.java | ||
---|---|---|
53 | 53 |
import org.gvsig.raster.buffer.RasterBuffer; |
54 | 54 |
import org.gvsig.raster.buffer.WriterBufferServer; |
55 | 55 |
import org.gvsig.raster.dataset.GeoRasterWriter; |
56 |
import org.gvsig.raster.dataset.IBuffer; |
|
56 | 57 |
import org.gvsig.raster.dataset.IRasterDataSource; |
57 | 58 |
import org.gvsig.raster.dataset.InvalidSetViewException; |
58 | 59 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
... | ... | |
280 | 281 |
int dataType= ((Integer)data[1]).intValue(); |
281 | 282 |
double value=0; |
282 | 283 |
|
283 |
value = RemoteSensingUtils.getCellValueInLayerCoords(inputBuffer, x, y, 0); |
|
284 |
if(value!=inputBuffer.getNoDataValue()){ |
|
285 |
parser.setVarValue(varName,new Double(value)); |
|
286 |
i++; |
|
287 |
}else{ |
|
288 |
rasterResult.setElem(x, y, 0, rasterResult.noDataValue); |
|
289 |
break; |
|
290 |
} |
|
291 |
} |
|
292 |
// Evaluacion de la exprsion en el x,y. |
|
284 |
if(dataType==IBuffer.TYPE_BYTE){ |
|
285 |
value =(byte) RemoteSensingUtils.getCellValueInLayerCoords(inputBuffer, x, y, 0); |
|
286 |
if(value!=inputBuffer.getNoDataValue()){ |
|
287 |
parser.setVarValue(varName,new Double(value)); |
|
288 |
i++; |
|
289 |
}else{ |
|
290 |
rasterResult.setElem(y, x, 0, rasterResult.noDataValue); |
|
291 |
break; |
|
292 |
} |
|
293 |
}else{ |
|
294 |
value =RemoteSensingUtils.getCellValueInLayerCoords(inputBuffer, x, y, 0); |
|
295 |
if(value!=inputBuffer.getNoDataValue()){ |
|
296 |
parser.setVarValue(varName,new Double(value)); |
|
297 |
i++; |
|
298 |
}else{ |
|
299 |
rasterResult.setElem(y, x, 0, rasterResult.noDataValue); |
|
300 |
break; |
|
301 |
} |
|
302 |
} |
|
303 |
} |
|
304 |
// Evaluacion de la expresion en el x,y. |
|
293 | 305 |
if (i == params.size()){ |
294 | 306 |
rasterResult.setElem(y, x, 0, (double)parser.getValue()); |
295 |
percent = x*100/rasterResult.getHeight();
|
|
307 |
percent = x*100/rasterResult.getWidth();
|
|
296 | 308 |
} |
297 | 309 |
} |
298 | 310 |
|
Also available in: Unified diff