Revision 12490

View differences:

trunk/libraries/libRaster/src/org/gvsig/raster/dataset/MultiRasterDataset.java
390 390
		
391 391
		//Reservamos memoria para los buffers por dataset
392 392
		IBuffer[] bufferDatasets = mallocBuffersDatasets(bandList, width, height);
393
		
394
		//Si hemos redondeado los pixeles de la petici?n (p1 y p2) por arriba y por abajo deberemos calcular un extent mayor 
395
		//equivalente a los pixeles redondeados.
396
		Point2D wc1 = ((RasterDataset)files.get(0)).rasterToWorld(new Point2D.Double(Math.floor(p1.getX()), Math.floor(p1.getY())));
397
		Point2D wc2 = ((RasterDataset)files.get(0)).rasterToWorld(new Point2D.Double(Math.ceil(p2.getX()), Math.ceil(p2.getY())));
393 398
		for(int i = 0; i < getDatasetCount(); i++)
394
			bufferDatasets[i] = ((RasterDataset)files.get(i)).getWindowRaster(x, y, w, h, bandList, bufferDatasets[i], adjustToExtent);
399
			bufferDatasets[i] = ((RasterDataset)files.get(i)).getWindowRaster(wc1.getX(), wc1.getY(), Math.abs(wc2.getX() - wc1.getX()), Math.abs(wc2.getY() - wc1.getY()), bandList, bufferDatasets[i], adjustToExtent);
400
			//bufferDatasets[i] = ((RasterDataset)files.get(i)).getWindowRaster(x, y, w, h, bandList, bufferDatasets[i], adjustToExtent);
395 401
			
396 402
		//Mezclamos los buffers de cada dataset en un solo buffer
397 403
		mergeBuffers(raster, bufferDatasets, bandList);

Also available in: Unified diff