Revision 1047

View differences:

org.gvsig.raster.gdal/trunk/org.gvsig.raster.gdal/org.gvsig.raster.gdal.io/src/main/java/org/gvsig/raster/gdal/io/GdalProvider.java
44 44
import org.gvsig.fmap.dal.coverage.exception.ParsingException;
45 45
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
46 46
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
47
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
48 47
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
49 48
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
50 49
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
......
429 428
	
430 429
	/*
431 430
	 * (non-Javadoc)
432
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
433
	 */
434
	public Buffer getDataSet(RasterQuery q) {
435
		return null;
436
	}
437
	
438
	/*
439
	 * (non-Javadoc)
440 431
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
441 432
	 */
442 433
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
......
537 528

  
538 529
	/*
539 530
	 * (non-Javadoc)
540
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.fmap.dal.coverage.dataset.Buffer)
541
	 */
542
//	public Buffer getWindow(int x, int y, 
543
//			BandList bandList, Buffer rasterBuf) throws ProcessInterruptedException, RasterDriverException {
544
//		try {
545
//			int w = rasterBuf.getWidth();
546
//			int h = rasterBuf.getHeight();
547
//			setView(
548
//			new ExtentImpl( rasterUtil.getMapRectFromPxRect(getExtent().toRectangle2D(),
549
//						getWidth(),
550
//						getHeight(),
551
//						new Rectangle2D.Double(x, y, w, h)))
552
//			);
553
//			file.readWindow(rasterBuf, bandList, x, y, w, h);
554
//		} catch (GdalException e) {
555
//			throw new RasterDriverException("Error reading data");
556
//		}
557
//		return rasterBuf;
558
//	}
559

  
560
	/*
561
	 * (non-Javadoc)
562 531
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(int, int, int, int, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.fmap.dal.coverage.dataset.Buffer)
563 532
	 */
564 533
	public Buffer getWindow(int x, int y, int w, int h, BandList bandList, Buffer rasterBuf) 
org.gvsig.raster.gdal/trunk/org.gvsig.raster.gdal/org.gvsig.raster.gdal.io/src/main/java/org/gvsig/raster/memory/io/MemoryRasterProvider.java
35 35
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
36 36
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
37 37
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
38
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
39 38
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
40 39
import org.gvsig.metadata.MetadataLocator;
41 40
import org.gvsig.raster.cache.tile.provider.TileListener;
......
276 275
	
277 276
	/*
278 277
	 * (non-Javadoc)
279
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
280
	 */
281
	public Buffer getDataSet(RasterQuery q) {
282
		return null;
283
	}
284
	
285
	/*
286
	 * (non-Javadoc)
287 278
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(org.gvsig.fmap.dal.coverage.datastruct.Extent, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
288 279
	 */
289 280
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.ermapper/trunk/org.gvsig.raster.ermapper/org.gvsig.raster.ermapper.io/src/main/java/org/gvsig/raster/ermapper/io/ErmapperProvider.java
40 40
import org.gvsig.fmap.dal.coverage.exception.ParsingException;
41 41
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
42 42
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
43
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
44 43
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
45 44
import org.gvsig.fmap.dal.coverage.store.parameter.RasterFileStoreParameters;
46 45
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
......
278 277
	
279 278
	/*
280 279
	 * (non-Javadoc)
281
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
282
	 */
283
	public Buffer getDataSet(RasterQuery q) {
284
		return null;
285
	}
286
	
287
	/*
288
	 * (non-Javadoc)
289 280
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
290 281
	 */
291 282
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.tilecache/trunk/org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.io/src/main/java/org/gvsig/raster/tilecache/io/TileProvider.java
51 51
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
52 52
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
53 53
import org.gvsig.fmap.dal.coverage.exception.RmfSerializerException;
54
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
55 54
import org.gvsig.fmap.dal.coverage.store.parameter.MultiDimensionalStoreParameters;
56 55
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
57 56
import org.gvsig.fmap.dal.coverage.store.parameter.RemoteStoreParameters;
......
728 727
		createTiledLayer();
729 728
		return tiledLayer.getTile(tile);
730 729
	}
731
	
732
	/*
733
	 * (non-Javadoc)
734
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
735
	 */
736
	public Buffer getDataSet(RasterQuery q) {
737
		return null;
738
	}
739 730

  
740 731
	/*
741 732
	 * (non-Javadoc)
org.gvsig.raster.postgis/trunk/org.gvsig.raster.postgis/org.gvsig.raster.postgis.io/src/main/java/org/gvsig/raster/postgis/io/PostGISRasterProvider.java
39 39
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
40 40
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
41 41
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
42
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
43 42
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
44 43
import org.gvsig.fmap.dal.exception.DataException;
45 44
import org.gvsig.fmap.dal.exception.InitializeException;
......
329 328
	
330 329
	/*
331 330
	 * (non-Javadoc)
332
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
333
	 */
334
	public Buffer getDataSet(RasterQuery q) {
335
		return null;
336
	}
337
	
338
	/*
339
	 * (non-Javadoc)
340 331
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
341 332
	 */
342 333
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.lizardtech/trunk/org.gvsig.raster.lizardtech/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechProvider.java
39 39
import org.gvsig.fmap.dal.coverage.exception.ParsingException;
40 40
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
41 41
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
42
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
43 42
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
44 43
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
45 44
import org.gvsig.metadata.MetadataLocator;
......
300 299
	
301 300
	/*
302 301
	 * (non-Javadoc)
303
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
304
	 */
305
	public Buffer getDataSet(RasterQuery q) {
306
		return null;
307
	}
308
	
309
	/*
310
	 * (non-Javadoc)
311 302
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
312 303
	 */
313 304
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.wmts/trunk/org.gvsig.raster.wmts/org.gvsig.raster.wmts.io/src/main/java/org/gvsig/raster/wmts/io/WMTSProvider.java
50 50
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
51 51
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
52 52
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
53
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
54 53
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
55 54
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer;
56 55
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
......
856 855
	
857 856
	/*
858 857
	 * (non-Javadoc)
859
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
860
	 */
861
	public Buffer getDataSet(RasterQuery q) {
862
		return null;
863
	}
864
	
865
	/*
866
	 * (non-Javadoc)
867 858
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.fmap.dal.coverage.dataset.Buffer, org.gvsig.fmap.dal.coverage.grid.render.TileListener, int)
868 859
	 */
869 860
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.wcs/trunk/org.gvsig.raster.wcs/org.gvsig.raster.wcs.io/src/main/java/org/gvsig/raster/wcs/io/WCSProvider.java
46 46
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
47 47
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
48 48
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
49
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
50 49
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
51 50
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer;
52 51
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
......
633 632
	
634 633
	/*
635 634
	 * (non-Javadoc)
636
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
637
	 */
638
	public Buffer getDataSet(RasterQuery q) {
639
		return null;
640
	}
641
	
642
	/*
643
	 * (non-Javadoc)
644 635
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(org.gvsig.fmap.dal.coverage.datastruct.Extent, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
645 636
	 */
646 637
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.multifile.io/src/main/java/org/gvsig/raster/tools/multifile/io/MultiFileProvider.java
46 46
import org.gvsig.fmap.dal.coverage.exception.ParsingException;
47 47
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
48 48
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
49
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
50 49
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
51 50
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
52 51
import org.gvsig.fmap.dal.coverage.store.props.ColorTable;
......
622 621
		RasterProvider prov = providerList.get(sub[0]);
623 622
		return prov.getData(x, y, sub[1]);
624 623
	}
625
	
626
	/*
627
	 * (non-Javadoc)
628
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
629
	 */
630
	public Buffer getDataSet(RasterQuery q) {
631
		return null;
632
	}
633 624

  
634 625
	/*
635 626
	 * (non-Javadoc)
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/DefaultRasterQuery.java
21 21
 */
22 22
package org.gvsig.raster.impl.buffer;
23 23

  
24
import org.gvsig.fmap.dal.coverage.dataset.Buffer;
25
import org.gvsig.fmap.dal.coverage.datastruct.BandList;
24 26
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
25 27
import org.gvsig.fmap.dal.coverage.datastruct.NoData;
26 28
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
......
89 91
	private CacheStruct      cacheStruct                = null;   
90 92
	private TaskStatus       taskStatus                 = null;
91 93
	
94
	//Parameters only for providers
95
	private BandList         bandList                   = null;
96
	private Buffer           buffer                     = null;
97
	
92 98
	/*
93 99
	 * (non-Javadoc)
94 100
	 * @see org.gvsig.fmap.dal.coverage.buffer.RasterQuery#setAreaOfInterest(double, double, double, double)
......
313 319
	public int getType() {
314 320
		return type;
315 321
	}
322
	
323
	public void setType(int type) {
324
		this.type = type;
325
	}
316 326

  
317 327
	public double getX() {
318 328
		return x;
......
398 408
		return listener;
399 409
	}
400 410
	
411
	public void setTileListener(TileListener listener) {
412
		this.listener = listener;
413
	}
414
	
401 415
	/*
402 416
	 * (non-Javadoc)
403 417
	 * @see org.gvsig.fmap.dal.coverage.store.RasterQuery#getTime()
......
450 464
	}
451 465
	
452 466
	//****************************************************
467
	//*********Parameters only for providers**************
468
	//****************************************************
469
	
470
	public BandList getBandList() {
471
		return bandList;
472
	}
473

  
474
	public void setBandList(BandList bandList) {
475
		this.bandList = bandList;
476
	}
477

  
478
	public Buffer getBuffer() {
479
		return buffer;
480
	}
481

  
482
	public void setBuffer(Buffer buffer) {
483
		this.buffer = buffer;
484
	}
485
	
486
	//****************************************************
453 487
	//*********Implementing DataQuery methods*************
454 488
	//****************************************************
455 489
	
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/CacheDataFromDriverServer.java
23 23

  
24 24
import java.io.IOException;
25 25

  
26
import org.gvsig.fmap.dal.coverage.RasterLocator;
26 27
import org.gvsig.fmap.dal.coverage.datastruct.BandList;
27 28
import org.gvsig.fmap.dal.coverage.datastruct.DatasetBand;
28 29
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
......
30 31
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
31 32
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
32 33
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
34
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
33 35
import org.gvsig.raster.impl.datastruct.BandListImpl;
34 36
import org.gvsig.raster.impl.datastruct.DatasetBandImpl;
35 37
import org.gvsig.raster.impl.provider.DefaultRasterProvider;
......
48 50
 */
49 51
public class CacheDataFromDriverServer implements ICacheDataSource{
50 52
	
51
	private DefaultRasterProvider			dataset = null;
52
	private Extent					pageExtent = null; 
53
	private DefaultRasterProvider           dataset    = null;
54
	private Extent                          pageExtent = null; 
53 55
	
54 56
	/**
55 57
	 * Constructor. 
......
81 83
			}
82 84
		}
83 85
		try {
84
			dataset.getWindow(pageExtent, bandList, pageBuffer);
86
			DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
87
			q.setBBox(pageExtent);
88
			q.setType(DefaultRasterQuery.TYPE_COORDS);
89
			q.setBandList(bandList);
90
			q.setBuffer(pageBuffer);
91
			q.setAdjustToExtent(true);
92
			dataset.getDataSet(q);
93
			//dataset.getWindow(pageExtent, bandList, pageBuffer);
85 94
		} catch (RasterDriverException e) {
86 95
		}
87 96
	}
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/CacheDataServer.java
43 43
import org.gvsig.fmap.dal.coverage.store.RasterWriter;
44 44
import org.gvsig.fmap.dal.coverage.util.FileUtils;
45 45
import org.gvsig.raster.impl.DefaultRasterManager;
46
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
46 47
import org.gvsig.raster.impl.datastruct.BandListImpl;
47 48
import org.gvsig.raster.impl.datastruct.DatasetBandImpl;
48 49
import org.gvsig.raster.impl.provider.DefaultRasterProvider;
......
192 193
		PageBandBuffer pageBuffer = new PageBandBuffer(grf.getDataType()[0], (int)grf.getWidth(), pageLines, grf.getBandCount(), true, 0);
193 194
		int y = 0;
194 195
		for (int i = 0; i < pages; i++) {
195
			grf.getWindow(0, y, pageBuffer.getWidth(), pageBuffer.getHeight(), bandList, pageBuffer);
196
			DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
197
			q.setAreaOfInterest((int)0, y, pageBuffer.getWidth(), pageBuffer.getHeight());
198
			q.setBandList(bandList);
199
			q.setBuffer(pageBuffer);
200
			grf.getDataSet(q);
201
			
202
			//grf.getWindow(0, y, pageBuffer.getWidth(), pageBuffer.getHeight(), bandList, pageBuffer);
196 203
			String outFileName = tempDirectoryPath + File.separator + id + "-" + i;
197 204

  
198 205
			File f = new File(outFileName);
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/provider/tile/TileDownloaderForFiles.java
38 38
import org.gvsig.raster.cache.tile.exception.TileGettingException;
39 39
import org.gvsig.raster.cache.tile.provider.CacheStruct;
40 40
import org.gvsig.raster.impl.DefaultRasterManager;
41
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
41 42
import org.gvsig.raster.impl.datastruct.BandListImpl;
42 43
import org.gvsig.raster.impl.datastruct.DatasetBandImpl;
43 44
import org.gvsig.raster.impl.datastruct.ExtentImpl;
......
93 94
				bufResult = readSupersampledBuffer(tileExtent, newBandList, this.tilePxWidth, this.tilePxHeight, nBandsBuffer);
94 95
				if(bufResult == null) {
95 96
					bufResult = buildTileBuffer(nBandsBuffer, this.tilePxWidth, this.tilePxHeight);
96
					bufResult = prov.getWindow(tileExtent, this.tilePxWidth, this.tilePxHeight, newBandList, bufResult, true);
97
					DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
98
					q.setAreaOfInterest(tileExtent, this.tilePxWidth, this.tilePxHeight);
99
					q.setBandList(newBandList);
100
					q.setBuffer(bufResult);
101
					q.setAdjustToExtent(true);
102
					bufResult = prov.getDataSet(q);
103
					//bufResult = prov.getWindow(tileExtent, this.tilePxWidth, this.tilePxHeight, newBandList, bufResult, true);
97 104
				}
98 105
			} else {
99 106
				//Hay parte del tile que cae fuera de la imagen
......
109 116
				
110 117
				if(smallBuf == null) { //No ha habido resampleo
111 118
					smallBuf = DefaultRasterManager.getInstance().createMemoryBuffer(prov.getDataType()[0], newBufWidth, newBufHeight, nBandsBuffer, true);
112
					smallBuf = prov.getWindow(ex, newBufWidth, newBufHeight, newBandList, smallBuf, true);
119
					DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
120
					q.setAreaOfInterest(tileExtent, newBufWidth, newBufHeight);
121
					q.setBandList(newBandList);
122
					q.setBuffer(smallBuf);
123
					q.setAdjustToExtent(true);
124
					smallBuf = prov.getDataSet(q);
125
					//smallBuf = prov.getWindow(ex, newBufWidth, newBufHeight, newBandList, smallBuf, true);
113 126
				}
114 127
				copyToBuffer(bufResult, tileExtent, smallBuf, ex, pixelSize);
115 128
			}
......
172 185
		if(supersampling && !prov.isSupersamplingSupported()) {
173 186
			//Ecw no supersamplea por lo que habr? que hacerlo a mano
174 187
			Buffer buf = buildTileBuffer(nBands, widthImgPx, heightImgPx);
175
			prov.getWindow(tileExtent, widthImgPx, heightImgPx, newBandList, buf, true);
188
			DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
189
			q.setAreaOfInterest(tileExtent, widthImgPx, heightImgPx);
190
			q.setBandList(newBandList);
191
			q.setBuffer(buf);
192
			q.setAdjustToExtent(true);
193
			buf = prov.getDataSet(q);
194
			//prov.getWindow(tileExtent, widthImgPx, heightImgPx, newBandList, buf, true);
176 195
			return buf.getAdjustedWindow(bufWidth, bufHeight, Buffer.INTERPOLATION_NearestNeighbour);
177 196
		}
178 197
		return null;
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/provider/tile/BaseTileDownloader.java
50 50
import org.gvsig.raster.cache.tile.provider.Downloader;
51 51
import org.gvsig.raster.impl.DefaultRasterManager;
52 52
import org.gvsig.raster.impl.RasterDefaultImplLibrary;
53
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
53 54
import org.gvsig.raster.impl.datastruct.BandListImpl;
54 55
import org.gvsig.raster.impl.datastruct.DatasetBandImpl;
55 56
import org.gvsig.raster.impl.provider.DefaultRasterProvider;
......
192 193
			Buffer transparency = DefaultRasterManager.getInstance().createMemoryBuffer(prov.getDataType()[0], this.tilePxWidth, this.tilePxHeight, 1, true);
193 194
			
194 195
			//buf = provider.getWindow((int)0, (int)0, createBandListFromProvider(provider), buf);
195
			buf = provider.getWindow((int)0, (int)0, buf.getWidth(), buf.getHeight(), bandList, buf);
196 196
			
197
			DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
198
			q.setAreaOfInterest((int)0, (int)0, buf.getWidth(), buf.getHeight());
199
			q.setBandList(bandList);
200
			q.setBuffer(buf);
201
			buf = provider.getDataSet(q);
202
			
197 203
			if(provider.getTransparency().getAlphaBandNumber() >= 0) {
198 204
				//Lee la banda de transparencia para eliminar la zona del tile que est? fuera de la imagen
199 205
				BandList newBandList = new BandListImpl(tile.getFile().getAbsolutePath(), provider.getBandCount(), provider.getDataType()[0]);
200 206
				newBandList.clearDrawableBands();
201 207
				newBandList.addDrawableBand(0, provider.getBandCount() - 1);
202
				transparency = provider.getWindow((int)0, (int)0, transparency.getWidth(), transparency.getHeight(), newBandList, transparency);
208
				
209
				q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
210
				q.setAreaOfInterest((int)0, (int)0, transparency.getWidth(), transparency.getHeight());
211
				q.setBandList(newBandList);
212
				q.setBuffer(transparency);
213
				transparency = provider.getDataSet(q);
214
				
203 215
				tile.setData(new Object[]{buf, transparency, null});
204 216
			} else
205 217
				tile.setData(new Object[]{buf, null, provider.getColorTable()});
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/provider/DefaultRasterProvider.java
79 79
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
80 80
import org.gvsig.raster.cache.tile.provider.TileListener;
81 81
import org.gvsig.raster.cache.tile.provider.TileServer;
82
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
82 83
import org.gvsig.raster.impl.datastruct.DefaultNoData;
83 84
import org.gvsig.raster.impl.datastruct.ExtentImpl;
84 85
import org.gvsig.raster.impl.datastruct.serializer.ColorTableRmfSerializer;
......
366 367
	 * Gets the set of data selected in the {@link RasterQuery}
367 368
	 * @param q
368 369
	 * @return
370
	 * @throws RasterDriverException 
371
	 * @throws ProcessInterruptedException 
369 372
	 */
370
	abstract public Buffer getDataSet(RasterQuery q);
373
	public Buffer getDataSet(RasterQuery query) throws ProcessInterruptedException, RasterDriverException {
374
		DefaultRasterQuery q = (DefaultRasterQuery)query;
375
		if( q.getType() == DefaultRasterQuery.TYPE_ENTIRE || 
376
			q.getType() == DefaultRasterQuery.TYPE_PX_SIZE || 
377
			q.getType() == DefaultRasterQuery.TYPE_PX) {
378
			return getWindow(q.getPixelX(), q.getPixelY(), q.getPixelW(), q.getPixelH(), 
379
					q.getBandList(), q.getBuffer());
380
		}
381
		
382
		if(q.getType() == DefaultRasterQuery.TYPE_COORDS_SIZE) {
383
			return getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), q.getBandList(), q.getBuffer(), q.isAdjustToExtent());
384
		}
385
		
386
		if(q.getType() == DefaultRasterQuery.TYPE_COORDS) {
387
			if(q.getBBox() == null)
388
				return getWindow(q.getX(), q.getY(), q.getW(), q.getH(), q.getBandList(), q.getBuffer(), q.isAdjustToExtent());
389
			else
390
				return getWindow(q.getBBox(), q.getBandList(), q.getBuffer());
391
		}
392
		
393
		if(q.getType() == DefaultRasterQuery.TYPE_COORDS_SIZE_TILED) {
394
			getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), q.getBandList(), q.getTileListener());
395
		}
396
		return null;
397
	}
371 398
	
372 399
	/**
373 400
	 * Gets a window of data from the source. The result of this operation could be a list of tiles
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/QueryableRaster.java
35 35
import org.gvsig.fmap.dal.coverage.store.props.ColorTable;
36 36
import org.gvsig.raster.cache.tile.Tile;
37 37
import org.gvsig.raster.cache.tile.exception.TileGettingException;
38
import org.gvsig.raster.cache.tile.provider.TileListener;
39 38
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
40 39

  
41 40

  
......
183 182
	 * @param q query object 
184 183
	 * @param listener 
185 184
	 */
186
	public void getWindowTiled(DefaultRasterQuery q, TileListener listener)
185
	public void getWindowTiled(DefaultRasterQuery q)
187 186
		throws InvalidSetViewException, ProcessInterruptedException, RasterDriverException;
188 187
		
189 188
	/**
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/DefaultRasterStore.java
81 81
import org.gvsig.raster.cache.tile.TileCacheLocator;
82 82
import org.gvsig.raster.cache.tile.TileCacheManager;
83 83
import org.gvsig.raster.cache.tile.exception.TileGettingException;
84
import org.gvsig.raster.cache.tile.provider.TileListener;
85 84
import org.gvsig.raster.impl.DefaultRasterManager;
86 85
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
87 86
import org.gvsig.raster.impl.buffer.cache.RasterReadOnlyBuffer;
......
324 323
		if(!q.isAdjustToExtent())
325 324
			 initBufferToNoData(raster, bandList);
326 325
		
327
		raster = ((DefaultRasterProvider)provider).getWindow(wc1.getX(), wc1.getY(), 
328
				Math.abs(wc2.getX() - wc1.getX()), Math.abs(wc2.getY() - wc1.getY()), bandList, raster, q.isAdjustToExtent());
326
		q.setAreaOfInterest(wc1.getX(), wc1.getY(), Math.abs(wc2.getX() - wc1.getX()), Math.abs(wc2.getY() - wc1.getY()));
327
		q.setBandList(bandList);
328
		q.setBuffer(raster);
329
		raster = ((DefaultRasterProvider)provider).getDataSet(q);
329 330

  
330 331
		return raster;
331 332
	}
......
393 394
		
394 395
		Extent ex = rManager.getDataStructFactory().createExtent(ulx, uly, lrx, lry);
395 396
		 
396
		raster = ((DefaultRasterProvider)provider).getWindow(ex, q.getBufWidth(), q.getBufHeight(), bandList, raster, q.isAdjustToExtent());
397
		q.setBBox(ex);
398
		q.setBandList(bandList);
399
		q.setBuffer(raster);
400
		raster = ((DefaultRasterProvider)provider).getDataSet(q);
397 401

  
398 402
		return raster;
399 403
	}
......
476 480
			raster = DefaultRasterManager.getInstance().createBuffer(getDataType()[0], width, height, mallocNBands, true);
477 481
		
478 482
		Extent ex = rManager.getDataStructFactory().createExtent(wc1.getX(), wc1.getY(), wc2.getX(), wc2.getY());
479
		raster = ((DefaultRasterProvider)provider).getWindow(ex, bandList, raster);
483
		q.setType(DefaultRasterQuery.TYPE_COORDS);
484
		q.setBBox(ex);
485
		q.setBandList(bandList);
486
		q.setBuffer(raster);
487
		raster = ((DefaultRasterProvider)provider).getDataSet(q);
488
		//raster = ((DefaultRasterProvider)provider).getWindow(ex, bandList, raster);
480 489

  
481 490
		return raster;
482 491
	}
......
485 494
	 * (non-Javadoc)
486 495
	 * @see org.gvsig.raster.impl.store.QueryableRaster#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.grid.render.TileListener, int)
487 496
	 */
488
	public void getWindowTiled(DefaultRasterQuery q, TileListener listener)
497
	public void getWindowTiled(DefaultRasterQuery q)
489 498
		throws InvalidSetViewException, ProcessInterruptedException, RasterDriverException {
490 499
		if(isTiled()) { 
491
			Extent ex = q.getBBox();//new ExtentImpl(ulx, uly, lrx, lry);
492
			((DefaultRasterProvider)provider).getWindow(ex, q.getBufWidth(), q.getBufHeight(), bandList, listener);
500
			//Extent ex = q.getBBox();//new ExtentImpl(ulx, uly, lrx, lry);
501
			q.setBandList(bandList);
502
			((DefaultRasterProvider)provider).getDataSet(q);
503
			//((DefaultRasterProvider)provider).getWindow(ex, q.getBufWidth(), q.getBufHeight(), bandList, listener);
493 504
			return;
494 505
		}
495 506
				
......
549 560
		t.setDownloaderParams("Tiling", new Boolean(true));
550 561
		t.setDownloaderParams("Step", step);
551 562
		try {
552
			listener.tileReady(t);
563
			q.getTileListener().tileReady(t);
553 564
		} catch (TileGettingException e) {
554 565
			throw new RasterDriverException("Error getting a tile", e);
555 566
		}
556 567
		
557 568
		//listener.nextBuffer(buf, alphaBand, new ExtentImpl(ulx, uly, lrx, lry), this.getAffineTransform(), step, false);
558
		listener.endReading();
569
		q.getTileListener().endReading();
559 570
	}
560 571
	
561 572
	/*
......
620 631
		else
621 632
			raster = DefaultRasterManager.getInstance().createBuffer(getDataType()[0], q.getBufWidth(), q.getBufHeight(), bandList.getDrawableBandsCount(), true);
622 633
		
623
		raster = ((DefaultRasterProvider)provider).getWindow(q.getPixelX(), q.getPixelY(), q.getPixelW(), q.getPixelH(), bandList, raster);
634
		q.setBandList(bandList);
635
		q.setBuffer(raster);
636
		raster = ((DefaultRasterProvider)provider).getDataSet(q);
637
		//raster = ((DefaultRasterProvider)provider).getWindow(q.getPixelX(), q.getPixelY(), q.getPixelW(), q.getPixelH(), bandList, raster);
624 638

  
625 639
		return raster;
626 640
	}
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/AbstractRasterDataStore.java
199 199
			dataExtent = new ExtentImpl(q.getBBox().getULX(), q.getBBox().getULY(), 
200 200
										q.getBBox().getLRX(), q.getBBox().getLRY());
201 201
			((RasterDataParameters)getParameters()).setAlphaBand(currentQuery.getAlphaBandNumber());
202
			getWindowTiled(q, q.getTileListener());
202
			getWindowTiled(q);
203 203
		}
204 204
		
205 205
		//*****************************************
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/store/DefaultRemoteRasterStore.java
44 44
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
45 45
import org.gvsig.fmap.dal.raster.spi.CoverageStoreProvider;
46 46
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
47
import org.gvsig.raster.cache.tile.provider.TileListener;
48 47
import org.gvsig.raster.impl.DefaultRasterManager;
49 48
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
50 49
import org.gvsig.raster.impl.datastruct.BandListImpl;
......
176 175
		}
177 176
		Buffer buffer =  DefaultRasterManager.getInstance().createMemoryBuffer(provider.getDataType()[0], width, height, provider.getBandCount(), true);
178 177
		Extent ex = rManager.getDataStructFactory().createExtent(wc1.getX(), wc1.getY(), wc2.getX(), wc2.getY());
179
		return ((DefaultRasterProvider)provider).getWindow(ex, bandList, buffer);
178
		q.setBBox(ex);
179
		q.setBandList(bandList);
180
		q.setBuffer(buffer);
181
		return ((DefaultRasterProvider)provider).getDataSet(q);
180 182
	}
181 183

  
182 184
	/*
......
228 230
		Point2D wc1 = provider.rasterToWorld(new Point2D.Double(Math.floor(p1.getX()), Math.floor(p1.getY())));
229 231
		Point2D wc2 = provider.rasterToWorld(new Point2D.Double(Math.ceil(p2.getX()), Math.ceil(p2.getY())));
230 232
		Buffer buffer =  DefaultRasterManager.getInstance().createMemoryBuffer(provider.getDataType()[0], width, height, provider.getBandCount(), true);
231
		return ((DefaultRasterProvider)provider).getWindow(wc1.getX(), wc1.getY(), Math.abs(wc2.getX() - wc1.getX()), Math.abs(wc2.getY() - wc1.getY()), bandList, buffer, q.isAdjustToExtent());
233
		q.setAreaOfInterest(wc1.getX(), wc1.getY(), Math.abs(wc2.getX() - wc1.getX()), Math.abs(wc2.getY() - wc1.getY()));
234
		q.setBandList(bandList);
235
		q.setBuffer(buffer);
236
		return ((DefaultRasterProvider)provider).getDataSet(q);
232 237
	}
233 238
	
234 239
	/*
235 240
	 * (non-Javadoc)
236 241
	 * @see org.gvsig.raster.impl.store.QueryableRaster#getWindowRaster(double, double, double, double, int, int, org.gvsig.fmap.dal.coverage.grid.render.TileListener, int)
237 242
	 */
238
	public void getWindowTiled(DefaultRasterQuery q, TileListener listener)
243
	public void getWindowTiled(DefaultRasterQuery q)
239 244
		throws InvalidSetViewException, ProcessInterruptedException, RasterDriverException {
240
		((DefaultRasterProvider)provider).getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), bandList, listener);
245
		((DefaultRasterProvider)provider).getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), q.getBandList(), q.getTileListener());
241 246
	}
242 247

  
243 248
	/*
......
254 259
		
255 260
		int dataType = provider.getDataType()[0];
256 261
		Buffer buffer =  DefaultRasterManager.getInstance().createMemoryBuffer(dataType, q.getBufWidth(), q.getBufHeight(), mallocNBands, true);
257
		return ((DefaultRasterProvider)provider).getWindow(q.getBBox(), q.getBufWidth(), q.getBufHeight(), bandList, buffer, q.isAdjustToExtent());
262
		q.setBandList(bandList);
263
		q.setBuffer(buffer);
264
		return ((DefaultRasterProvider)provider).getDataSet(q);
258 265
	}
259 266

  
260 267
	/*
......
280 287
		
281 288
		Buffer buffer =  DefaultRasterManager.getInstance().createMemoryBuffer(provider.getDataType()[0], 
282 289
				q.getBufWidth(), q.getBufHeight(), provider.getBandCount(), true);
283
		return ((DefaultRasterProvider)provider).getWindow(q.getPixelX(), q.getPixelY(), q.getPixelW(), q.getPixelH(), bandList, buffer);
290
		
291
		q.setBandList(bandList);
292
		q.setBuffer(buffer);
293
		return ((DefaultRasterProvider)provider).getDataSet(q);
284 294
	}
285 295

  
286 296

  
org.gvsig.raster.netcdf/trunk/org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.io/src/main/java/org/gvsig/raster/netcdf/io/NetCDFProvider.java
40 40
import org.gvsig.fmap.dal.coverage.exception.ParsingException;
41 41
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
42 42
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
43
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
44 43
import org.gvsig.fmap.dal.coverage.store.parameter.RasterFileStoreParameters;
45 44
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
46 45
import org.gvsig.fmap.dal.exception.OpenException;
......
631 630
				i - (auxRow * buf.getWidth())
632 631
				};
633 632
	}
634
	
635
	/*
636
	 * (non-Javadoc)
637
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
638
	 */
639
	public Buffer getDataSet(RasterQuery q) {
640
		return null;
641
	}
642 633

  
643 634
	/*
644 635
	 * (non-Javadoc)
org.gvsig.raster.wms/trunk/org.gvsig.raster.wms/org.gvsig.raster.wms.io/src/main/java/org/gvsig/raster/wms/io/WMSProvider.java
47 47
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
48 48
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
49 49
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
50
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
51 50
import org.gvsig.fmap.dal.coverage.store.props.ColorInterpretation;
52 51
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer;
53 52
import org.gvsig.fmap.dal.coverage.store.props.Transparency;
......
687 686
	
688 687
	/*
689 688
	 * (non-Javadoc)
690
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getDataSet(org.gvsig.fmap.dal.coverage.store.RasterQuery)
691
	 */
692
	public Buffer getDataSet(RasterQuery q) {
693
		return null;
694
	}
695
	
696
	/*
697
	 * (non-Javadoc)
698 689
	 * @see org.gvsig.raster.impl.provider.DefaultRasterProvider#getWindowRaster(org.gvsig.fmap.dal.coverage.datastruct.Extent, int, int, org.gvsig.fmap.dal.coverage.datastruct.BandList, org.gvsig.raster.cache.tile.provider.TileListener)
699 690
	 */
700 691
	public void getWindow(Extent ex, int bufWidth, int bufHeight, 

Also available in: Unified diff