Revision 859 org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/GridReader.java

View differences:

GridReader.java
21 21
 */
22 22
package org.gvsig.raster.impl.grid;
23 23

  
24
import org.gvsig.fmap.dal.coverage.RasterLibrary;
25 24
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
26 25
import org.gvsig.fmap.dal.coverage.datastruct.GridExtent;
26
import org.gvsig.fmap.dal.coverage.datastruct.NoData;
27 27
import org.gvsig.fmap.dal.coverage.exception.RasterBufferInvalidAccessException;
28 28
import org.gvsig.fmap.dal.coverage.exception.RasterBufferInvalidException;
29 29
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
......
43 43
	protected int 				dataType       = Buffer.TYPE_UNDEFINED;
44 44
	protected int[]				bands          = null;
45 45
	protected int				bandToOperate  = 0;
46
	protected double            defaultNoData  = RasterLibrary.defaultNoDataValue;
46
	protected NoData            defaultNoData  = null;
47 47
	
48 48
	/**
49 49
	 * Extent de la ventana que corresponde al Grid 
......
192 192
	 */
193 193
	public abstract double[] getBandsValuesAsDouble(int x, int y)  throws RasterBufferInvalidAccessException, RasterBufferInvalidException ;
194 194
	
195
	public boolean isNoDataValue (double dValue){
196
		if(rasterBuf != null)
197
			return (dValue == rasterBuf.getNoDataValue());
198
		else
199
			return (dValue == defaultNoData);
195
	public boolean isNoDataValue (double dValue) {
196
		if( rasterBuf != null && 
197
			rasterBuf.getNoDataValue() != null && 
198
			rasterBuf.getNoDataValue().isDefined())
199
			return (dValue == rasterBuf.getNoDataValue().getValue().doubleValue());
200
		else {
201
			if( defaultNoData != null && 
202
				defaultNoData.isDefined())
203
				return (dValue == defaultNoData.getValue().doubleValue());
204
		}
205
		return false;
200 206
	}
201 207
	
202
	public double getNoDataValue(){
203
		if(rasterBuf != null)
204
			return rasterBuf.getNoDataValue();
205
		else 
206
			return defaultNoData;
208
	public double getNoDataValue() {
209
		if( rasterBuf != null && 
210
			rasterBuf.getNoDataValue() != null && 
211
			rasterBuf.getNoDataValue().isDefined())
212
			return rasterBuf.getNoDataValue().getValue().doubleValue();
213
		else {
214
			if( defaultNoData != null && 
215
				defaultNoData.isDefined())
216
				return defaultNoData.getValue().doubleValue();
217
		}
218
		return -99999D;
207 219
	}
208 220
	
209 221
	public int getNY() {

Also available in: Unified diff