Revision 6507
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractTiledBand.java | ||
---|---|---|
9 | 9 |
import org.gvsig.raster.lib.buffer.api.BufferLocator; |
10 | 10 |
import org.gvsig.raster.lib.buffer.api.NoData; |
11 | 11 |
import org.gvsig.raster.lib.buffer.impl.exceptions.CopyFromBandException; |
12 |
import org.gvsig.tools.dispose.DisposeUtils; |
|
12 | 13 |
import org.gvsig.tools.exception.BaseException; |
13 | 14 |
|
14 | 15 |
|
... | ... | |
83 | 84 |
firstRowOfTile = currentTileRow * rowsPerTile; |
84 | 85 |
int currentTileColumn = column / columnsPerTile; //Divisi?n entera |
85 | 86 |
firstColumnOfTile = currentTileColumn * columnsPerTile; |
87 |
Band loadedBand = null; |
|
86 | 88 |
try { |
87 | 89 |
rowsInTile = rowsPerTile; |
88 | 90 |
if(firstRowOfTile + rowsPerTile > this.rows){ |
... | ... | |
92 | 94 |
if(firstColumnOfTile + columnsPerTile > this.columns){ |
93 | 95 |
columnsInTile = this.columns - firstColumnOfTile; |
94 | 96 |
} |
95 |
Band loadedBand = this.tileManager.load(firstRowOfTile,
|
|
97 |
loadedBand = this.tileManager.load(firstRowOfTile, |
|
96 | 98 |
firstColumnOfTile, |
97 | 99 |
this.getDataType()); |
98 |
|
|
99 |
|
|
100 | 100 |
Object rowBuffer = loadedBand.createRowBuffer(); |
101 | 101 |
for(int loadedRow=0; loadedRow<loadedBand.getRows(); loadedRow++){ |
102 | 102 |
loadedBand.fetchRow(loadedRow, rowBuffer); |
... | ... | |
104 | 104 |
System.arraycopy(rowBuffer, 0, data.array(), pos, loadedBand.getColumns()); |
105 | 105 |
} |
106 | 106 |
loaded=true; |
107 |
|
|
107 | 108 |
} catch (IOException e) { |
108 | 109 |
throw new RuntimeException("Can't load current tile", e); |
110 |
} finally { |
|
111 |
DisposeUtils.dispose(loadedBand); |
|
109 | 112 |
} |
110 | 113 |
} |
111 | 114 |
|
Also available in: Unified diff