Revision 11237 trunk/libraries/libRaster/src/org/gvsig/raster/buffer/BufferFactory.java
BufferFactory.java | ||
---|---|---|
237 | 237 |
return drawableBands; |
238 | 238 |
} |
239 | 239 |
|
240 |
/* |
|
241 |
* (non-Javadoc) |
|
242 |
* @see org.gvsig.fmap.dataaccess.IQueryableRaster#setAreaOfInterest(double, double, double, double) |
|
240 |
/** |
|
241 |
* Asigna el ?rea de interes en coordenadas del mundo real. Si las coordenadas exceden del tama?o de la imagen |
|
242 |
* estas coordenadas son ajustadas el extent. |
|
243 |
* @param x Coordenada X, esquina superior izquierda |
|
244 |
* @param y Coordenada Y, esquina superior izquierda |
|
245 |
* @param w Ancho del ?rea |
|
246 |
* @param h Alto del ?rea |
|
247 |
* @param adjustToExtent Flag que dice si el extent solicitado debe ajustarse al extent del raster o no. |
|
248 |
* @throws ArrayIndexOutOfBoundsException |
|
243 | 249 |
*/ |
244 | 250 |
public void setAreaOfInterest(double x, double y, double w, double h, boolean adjustToExtent) throws ArrayIndexOutOfBoundsException{ |
245 | 251 |
dataExtent = new Extent(x, y, x + w, y - h); |
... | ... | |
257 | 263 |
rasterBuf = mDataset.getWindowRaster(dataExtent.getMin().getX(), dataExtent.getMax().getY(), w, h, adjustToExtent); |
258 | 264 |
} |
259 | 265 |
|
260 |
/* |
|
261 |
* (non-Javadoc) |
|
262 |
* @see org.gvsig.fmap.dataaccess.IQueryableRaster#setAreaOfInterest(double, double, double, double, int, int) |
|
266 |
/** |
|
267 |
* Asigna el ?rea de interes en coordenadas del mundo real. Si las coordenadas exceden del tama?o de la imagen |
|
268 |
* estas coordenadas son ajustadas el extent. |
|
269 |
* @param x Coordenada X, esquina superior izquierda |
|
270 |
* @param y Coordenada Y, esquina superior izquierda |
|
271 |
* @param w Ancho del ?rea |
|
272 |
* @param h Alto del ?rea |
|
273 |
* @param bufWidth Ancho del buffer |
|
274 |
* @param bufHeight Alto del buffer |
|
275 |
* @param adjustToExtent Flag que dice si el extent solicitado debe ajustarse al extent del raster o no. |
|
276 |
* @return En caso de que el buffer sea mayor que el tama?o seleccionado de raster se produce supersampleo. La funci?n devuelve |
|
277 |
* un array de dos elementos que representan el desplazamiento en pixels de X e Y de la esquina superior izquierda. |
|
278 |
* @throws ArrayIndexOutOfBoundsException |
|
263 | 279 |
*/ |
264 | 280 |
public int[] setAreaOfInterest(double minX, double minY, double maxX, double maxY, int bufWidth, int bufHeight, boolean adjustToExtent) throws ArrayIndexOutOfBoundsException{ |
265 | 281 |
//TODO: VALIDACI?N: Comprobaci?n de exceso de memoria reservada |
... | ... | |
289 | 305 |
return null; |
290 | 306 |
} |
291 | 307 |
|
292 |
/* |
|
293 |
* (non-Javadoc) |
|
294 |
* @see org.gvsig.fmap.dataaccess.IQueryableRaster#setAreaOfInterest(int, int, int, int) |
|
308 |
/** |
|
309 |
* Asigna el ?rea de interes en coordenadas pixel. Si las coordenadas exceden del tama?o de la imagen |
|
310 |
* lanza una excepci?n. |
|
311 |
* @param x Coordenada X, esquina superior izquierda |
|
312 |
* @param y Coordenada Y, esquina superior izquierda |
|
313 |
* @param w Ancho del ?rea |
|
314 |
* @param h Alto del ?rea |
|
315 |
* @throws ArrayIndexOutOfBoundsException |
|
295 | 316 |
*/ |
296 | 317 |
public void setAreaOfInterest(int x, int y, int w, int h) throws ArrayIndexOutOfBoundsException{ |
297 | 318 |
if((x + w) > getWidth() || (y + h) > getHeight()) |
... | ... | |
301 | 322 |
rasterBuf = mDataset.getWindowRaster(x, y, w, h); |
302 | 323 |
} |
303 | 324 |
|
304 |
/* |
|
305 |
* (non-Javadoc) |
|
306 |
* @see org.gvsig.fmap.dataaccess.IQueryableRaster#setAreaOfInterest() |
|
325 |
/** |
|
326 |
* Asigna el ?rea de inter?s a toda la extensi?n del raster. |
|
307 | 327 |
*/ |
308 | 328 |
public void setAreaOfInterest() { |
309 | 329 |
dataExtent = mDataset.getExtent(); |
310 | 330 |
rasterBuf = mDataset.getWindowRaster(0, 0, (int)mDataset.getWidth()[0], (int)mDataset.getHeight()[0]); |
311 | 331 |
} |
312 | 332 |
|
313 |
/* |
|
314 |
* (non-Javadoc) |
|
315 |
* @see org.gvsig.fmap.dataaccess.IQueryableRaster#setAreaOfInterest(int, int, int, int, int, int) |
|
333 |
/** |
|
334 |
* Asigna el ?rea de interes en coordenadas pixel. Esta operaci?n cargar? un RasterBuffer con los datos solicitados por |
|
335 |
* lo que, si al acabar hacemos getRasterBuf obtendremos la matriz de datos. Si las coordenadas exceden del tama?o |
|
336 |
* de la imagen lanza una excepci?n. |
|
337 |
* @param x Coordenada X, esquina superior izquierda |
|
338 |
* @param y Coordenada Y, esquina superior izquierda |
|
339 |
* @param w Ancho del ?rea |
|
340 |
* @param h Alto del ?rea |
|
341 |
* @param bufWidth Ancho del buffer |
|
342 |
* @param bufHeight Alto del buffer |
|
343 |
* @throws ArrayIndexOutOfBoundsException |
|
316 | 344 |
*/ |
317 | 345 |
public void setAreaOfInterest(int x, int y, int w, int h, int bufWidth, int bufHeight) throws ArrayIndexOutOfBoundsException{ |
318 | 346 |
//TODO: VALIDACI?N: Comprobaci?n de exceso de memoria reservada |
Also available in: Unified diff