Revision 28300 trunk/extensions/extRemoteSensing/src/org/gvsig/remotesensing/gridmath/GridMathProcess.java

View differences:

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