Revision 11076 trunk/libraries/libRaster/src/org/gvsig/raster/grid/Grid.java
Grid.java | ||
---|---|---|
22 | 22 |
import java.io.IOException; |
23 | 23 |
import java.util.Arrays; |
24 | 24 |
|
25 |
import org.gvsig.raster.dataaccess.IQueryableRaster; |
|
26 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
|
27 |
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidAccessException; |
|
28 |
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidException; |
|
25 |
import org.gvsig.raster.buffer.BufferFactory; |
|
26 |
import org.gvsig.raster.buffer.BufferFactory; |
|
27 |
import org.gvsig.raster.buffer.RasterBuffer; |
|
28 |
import org.gvsig.raster.buffer.RasterBufferInvalidAccessException; |
|
29 |
import org.gvsig.raster.buffer.RasterBufferInvalidException; |
|
29 | 30 |
import org.gvsig.raster.dataset.IBuffer; |
30 | 31 |
import org.gvsig.raster.dataset.properties.DatasetListTransparency; |
31 | 32 |
import org.gvsig.raster.grid.filter.RasterFilterList; |
... | ... | |
88 | 89 |
|
89 | 90 |
|
90 | 91 |
/** |
91 |
* Crea un grid a partir de un IQueryableRaster. Usa el extent de la fuente de datos como
|
|
92 |
* Crea un grid a partir de un BufferFactory. Usa el extent de la fuente de datos como
|
|
92 | 93 |
* extent completo y el extent pasado como par?metro como extensi?n de ventana. El buffer de |
93 | 94 |
* la fuente de datos no tiene porque estar cargado ya que de esto se encarga el reader. |
94 | 95 |
* @param dataSource Fuente de datos |
... | ... | |
96 | 97 |
* @param windowExtent Extensi?n de la ventana. Si este par?metro es null se usar? el |
97 | 98 |
* mismo que el de la capa. |
98 | 99 |
*/ |
99 |
public Grid(IQueryableRaster dataSource, int[] bands, GridExtent windowExtent)
|
|
100 |
public Grid(BufferFactory dataSource, int[] bands, GridExtent windowExtent)
|
|
100 | 101 |
throws RasterBufferInvalidException{ |
101 | 102 |
layerExtent = new GridExtent(dataSource.getExtent(), dataSource.getXCellSize()); |
102 | 103 |
dataType = dataSource.getDataType(); |
... | ... | |
147 | 148 |
} |
148 | 149 |
|
149 | 150 |
/** |
150 |
* Crea un grid a partir de un IQueryableRaster. El buffer debe estar cargado de datos y el extent
|
|
151 |
* Crea un grid a partir de un BufferFactory. El buffer debe estar cargado de datos y el extent
|
|
151 | 152 |
* de este viene definido en el par?metro windowExtent. |
152 | 153 |
* @param dataSource Fuente de datos |
153 | 154 |
* @param windowExtent Extent de los datos cargados en dataSource |
154 | 155 |
* @param notInterp Si es true fuerza a que el reader sea sin interpolaci?n. Si es false decide si |
155 | 156 |
* el reader es interpolado o no a partir de los extents de capa y la ventana seleccionada. |
156 | 157 |
*/ |
157 |
public Grid(IQueryableRaster dataSource, boolean notInterp)throws RasterBufferInvalidException{
|
|
158 |
public Grid(BufferFactory dataSource, boolean notInterp)throws RasterBufferInvalidException{
|
|
158 | 159 |
this.layerExtent = new GridExtent(dataSource.getExtent(), dataSource.getXCellSize()); |
159 | 160 |
dataType = dataSource.getDataType(); |
160 | 161 |
bands = dataSource.getDrawableBands(); |
... | ... | |
176 | 177 |
} |
177 | 178 |
|
178 | 179 |
/** |
179 |
* Crea un grid a partir de un IQueryableRaster. Se har? una petici?n del extent completo de la fuente.
|
|
180 |
* Crea un grid a partir de un BufferFactory. Se har? una petici?n del extent completo de la fuente.
|
|
180 | 181 |
* dataSource tiene asociada una fuente de datos pero se ignorar? si tiene el buffer lleno. La instanciaci?n |
181 | 182 |
* de GridNotInterpolated har? que se haga la petici?n para cargar raster completo. |
182 | 183 |
* @param dataSource Fuente de datos |
183 | 184 |
* @param bands n?mero de bandas requeridas y orden de dibujado en el buffer |
184 | 185 |
*/ |
185 |
public Grid(IQueryableRaster dataSource, int[] bands)
|
|
186 |
public Grid(BufferFactory dataSource, int[] bands)
|
|
186 | 187 |
throws RasterBufferInvalidException{ |
187 | 188 |
//La petici?n es del raster completo |
188 | 189 |
windowExtent = layerExtent = new GridExtent(dataSource.getExtent(), dataSource.getXCellSize()); |
... | ... | |
197 | 198 |
} |
198 | 199 |
|
199 | 200 |
/** |
200 |
* Crea un grid a partir de un IQueryableRaster. Se har? una petici?n del extent completo de la fuente.
|
|
201 |
* Crea un grid a partir de un BufferFactory. Se har? una petici?n del extent completo de la fuente.
|
|
201 | 202 |
* dataSource tiene asociada una fuente de datos pero se ignorar? si tiene el buffer lleno. La instanciaci?n |
202 | 203 |
* de GridNotInterpolated har? que se haga la petici?n para cargar raster completo. El buffer se cargar? |
203 | 204 |
* con todas las bandas disponibles. |
204 | 205 |
* @param dataSource Fuente de datos |
205 | 206 |
*/ |
206 |
public Grid(IQueryableRaster dataSource)
|
|
207 |
public Grid(BufferFactory dataSource)
|
|
207 | 208 |
throws RasterBufferInvalidException{ |
208 | 209 |
//La petici?n es del raster completo |
209 | 210 |
windowExtent = layerExtent = new GridExtent(dataSource.getExtent(), dataSource.getXCellSize()); |
... | ... | |
236 | 237 |
/** |
237 | 238 |
* Inicializaci?n de constantes |
238 | 239 |
*/ |
239 |
private void init(IQueryableRaster ds){
|
|
240 |
private void init(BufferFactory ds){
|
|
240 | 241 |
int i; |
241 | 242 |
double dCellSize = getCellSize(); |
242 | 243 |
|
... | ... | |
313 | 314 |
|
314 | 315 |
/* |
315 | 316 |
* (non-Javadoc) |
316 |
* @see org.gvsig.fmap.grid.IWritableGrid#assign(org.gvsig.fmap.dataaccess.IQueryableRaster)
|
|
317 |
* @see org.gvsig.fmap.grid.IWritableGrid#assign(org.gvsig.fmap.dataaccess.BufferFactory)
|
|
317 | 318 |
*/ |
318 |
public void assign(IQueryableRaster dataSource)throws RasterBufferInvalidException, OutOfGridException{
|
|
319 |
public void assign(BufferFactory dataSource)throws RasterBufferInvalidException, OutOfGridException{
|
|
319 | 320 |
Grid window = new Grid(dataSource, bands, windowExtent); |
320 | 321 |
write(window); |
321 | 322 |
writer.setNoDataValue(window.getNoDataValue()); |
Also available in: Unified diff