Revision 11067
trunk/libraries/libRaster/src-test/org/gvsig/raster/AllTests.java | ||
---|---|---|
32 | 32 |
import org.gvsig.raster.dataaccess.TestGdalClassHistogram; |
33 | 33 |
import org.gvsig.raster.dataaccess.cache.TestAssignInterchangeBandsCache; |
34 | 34 |
import org.gvsig.raster.dataaccess.cache.TestRasterCache; |
35 |
import org.gvsig.raster.dataaccess.cache.TestReadOnlyCache; |
|
36 | 35 |
import org.gvsig.raster.dataaccess.cache.TestSaveAndLoadPages; |
37 | 36 |
import org.gvsig.raster.dataaccess.cache.TestStructCache; |
38 | 37 |
import org.gvsig.raster.dataaccess.cache.TestWorldCoordHDDPages; |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/cache/TestStructCache.java | ||
---|---|---|
3 | 3 |
import junit.framework.TestCase; |
4 | 4 |
|
5 | 5 |
import org.gvsig.raster.RasterLibrary; |
6 |
import org.gvsig.raster.dataaccess.cache.CacheStruct; |
|
7 | 6 |
import org.gvsig.raster.dataset.IBuffer; |
8 |
import org.gvsig.raster.util.RasterUtilities; |
|
9 | 7 |
|
10 | 8 |
|
11 | 9 |
/** |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentGdal.java | ||
---|---|---|
21 | 21 |
import junit.framework.TestCase; |
22 | 22 |
|
23 | 23 |
import org.gvsig.raster.RasterLibrary; |
24 |
import org.gvsig.raster.dataaccess.DataSource; |
|
25 | 24 |
import org.gvsig.raster.dataset.IBuffer; |
26 | 25 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
27 | 26 |
import org.gvsig.raster.dataset.RasterDataset; |
28 | 27 |
import org.gvsig.raster.dataset.RasterDriverException; |
29 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
30 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
31 | 28 |
|
32 | 29 |
/** |
33 | 30 |
* Este test prueba el acceso a datos a traves de un DataSource sin resampleo |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentEcw.java | ||
---|---|---|
21 | 21 |
import junit.framework.TestCase; |
22 | 22 |
|
23 | 23 |
import org.gvsig.raster.RasterLibrary; |
24 |
import org.gvsig.raster.dataaccess.DataSource; |
|
25 | 24 |
import org.gvsig.raster.dataset.IBuffer; |
26 | 25 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
27 | 26 |
import org.gvsig.raster.dataset.RasterDataset; |
28 | 27 |
import org.gvsig.raster.dataset.RasterDriverException; |
29 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
30 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
31 | 28 |
|
32 | 29 |
/** |
33 | 30 |
* Este test prueba el acceso a datos a traves de un DataSource sin resampleo |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSIntEcw.java | ||
---|---|---|
21 | 21 |
import junit.framework.TestCase; |
22 | 22 |
|
23 | 23 |
import org.gvsig.raster.RasterLibrary; |
24 |
import org.gvsig.raster.dataaccess.DataSource; |
|
25 | 24 |
import org.gvsig.raster.dataset.IBuffer; |
26 | 25 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
27 | 26 |
import org.gvsig.raster.dataset.RasterDataset; |
28 | 27 |
import org.gvsig.raster.dataset.RasterDriverException; |
29 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
30 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
31 | 28 |
|
32 | 29 |
/** |
33 | 30 |
* Este test prueba el acceso a datos a traves de un DataSource sin resampleo |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TestDataSourceMultiFile.java | ||
---|---|---|
27 | 27 |
import junit.framework.TestCase; |
28 | 28 |
|
29 | 29 |
import org.gvsig.raster.RasterLibrary; |
30 |
import org.gvsig.raster.dataaccess.DataSource; |
|
31 | 30 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
32 | 31 |
import org.gvsig.raster.dataset.RasterDataset; |
33 | 32 |
import org.gvsig.raster.dataset.RasterDriverException; |
34 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
35 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
36 |
import org.gvsig.raster.grid.Grid; |
|
37 | 33 |
|
38 | 34 |
/** |
39 | 35 |
* Este test prueba la gesti?n de multifichero de la clase RasterMultiFile |
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentBufferGdal.java | ||
---|---|---|
21 | 21 |
import junit.framework.TestCase; |
22 | 22 |
|
23 | 23 |
import org.gvsig.raster.RasterLibrary; |
24 |
import org.gvsig.raster.dataaccess.DataSource; |
|
25 | 24 |
import org.gvsig.raster.dataset.IBuffer; |
26 | 25 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
27 | 26 |
import org.gvsig.raster.dataset.RasterDataset; |
28 | 27 |
import org.gvsig.raster.dataset.RasterDriverException; |
29 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
30 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
31 | 28 |
|
32 | 29 |
/** |
33 | 30 |
* Este test prueba el acceso a datos a traves de un DataSource sin resampleo |
trunk/libraries/libRaster/src-test/org/gvsig/raster/driver/TestStatistics.java | ||
---|---|---|
24 | 24 |
*/ |
25 | 25 |
package org.gvsig.raster.driver; |
26 | 26 |
|
27 |
import junit.framework.TestCase; |
|
28 |
|
|
27 | 29 |
import org.gvsig.raster.RasterLibrary; |
28 | 30 |
import org.gvsig.raster.dataset.FileNotOpenException; |
29 |
import org.gvsig.raster.dataset.IBuffer; |
|
30 | 31 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
31 | 32 |
import org.gvsig.raster.dataset.RasterDataset; |
32 | 33 |
import org.gvsig.raster.dataset.RasterDriverException; |
33 |
import org.gvsig.raster.dataset.io.EcwDriver; |
|
34 |
import org.gvsig.raster.dataset.io.GdalDriver; |
|
35 | 34 |
import org.gvsig.raster.dataset.properties.DatasetStatistics; |
36 | 35 |
|
37 |
import junit.framework.TestCase; |
|
38 |
|
|
39 | 36 |
/** |
40 | 37 |
* Este test prueba el calculo de estadisticas de un dataset. |
41 | 38 |
* Comprueba que los valores obtenidos en las estadisticas son correctos. |
trunk/libraries/libRaster/src-test/tmp/TestDataSourceWithNoData.java | ||
---|---|---|
31 | 31 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
32 | 32 |
import org.gvsig.raster.dataset.RasterDataset; |
33 | 33 |
import org.gvsig.raster.dataset.RasterDriverException; |
34 |
import org.gvsig.raster.grid.Grid; |
|
35 | 34 |
|
36 | 35 |
/** |
37 | 36 |
* Este test prueba la gesti?n de multifichero de la clase GeoRasterMultiFile |
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/IStatistics.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.dataset; |
20 | 20 |
|
21 |
import java.io.File; |
|
22 |
import java.util.Date; |
|
23 |
|
|
24 |
|
|
25 | 21 |
/** |
26 | 22 |
* Interfaz a implementar por las clases que ofrecen estadisticas raster. |
27 | 23 |
* |
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/properties/DatasetListHistogram.java | ||
---|---|---|
19 | 19 |
package org.gvsig.raster.dataset.properties; |
20 | 20 |
|
21 | 21 |
import org.gvsig.raster.dataset.FileNotOpenException; |
22 |
import org.gvsig.raster.dataset.IBuffer; |
|
23 |
import org.gvsig.raster.dataset.RasterDataset; |
|
24 | 22 |
import org.gvsig.raster.dataset.RasterDriverException; |
25 | 23 |
import org.gvsig.raster.dataset.RasterMultiDataset; |
26 | 24 |
import org.gvsig.raster.util.DataClassList; |
... | ... | |
37 | 35 |
/** |
38 | 36 |
* clases en las que se divide el histograma |
39 | 37 |
*/ |
40 |
private DataClassList classes = null;
|
|
38 |
private DataClassList classes = null; |
|
41 | 39 |
|
42 | 40 |
/** |
43 | 41 |
* Histograma de la imagen completa |
44 | 42 |
*/ |
45 |
private Histogram histogram = null; |
|
43 |
private Histogram histogram = null;
|
|
46 | 44 |
/** |
47 | 45 |
* Dataset del cual se calcula el histograma |
48 | 46 |
*/ |
49 |
private RasterMultiDataset multiDataset = null;
|
|
47 |
private RasterMultiDataset multiDataset = null; |
|
50 | 48 |
|
51 | 49 |
/** |
50 |
* Variable para saber si se ha parado el proceso |
|
51 |
*/ |
|
52 |
private boolean canceled = false; |
|
53 |
|
|
54 |
/** |
|
52 | 55 |
* Constructor |
53 | 56 |
* @param dataset |
54 | 57 |
*/ |
... | ... | |
78 | 81 |
int nBands = 0; |
79 | 82 |
Histogram[] hList = new Histogram[multiDataset.getDatasetCount()]; |
80 | 83 |
for (int i = 0; i < hList.length; i++) { |
84 |
if (canceled) return null; |
|
81 | 85 |
multiDataset.getDataset(i).getHistogram().setClasses(classes); |
82 | 86 |
hList[i] = multiDataset.getDataset(i).getHistogram().getHistogram(); |
83 | 87 |
nBands += hList[i].getNumBands(); |
... | ... | |
92 | 96 |
for (int iDataset = 0; iDataset < hList.length; iDataset++) { |
93 | 97 |
for (int iBand = 0; iBand < hList[iDataset].getNumBands(); iBand++) { |
94 | 98 |
for (int iPxValue = 0; iPxValue < hList[iDataset].getBandLenght(iBand); iPxValue ++) { |
99 |
if (isCanceled()) return null; |
|
95 | 100 |
histogram.setHistogramValue(band, iPxValue, hList[iDataset].getHistogramValue(iBand, iPxValue)); |
96 | 101 |
} |
97 | 102 |
band ++; |
... | ... | |
117 | 122 |
percent = percent / multiDataset.getDatasetCount(); |
118 | 123 |
return percent; |
119 | 124 |
} |
125 |
|
|
126 |
/** |
|
127 |
* Metodo para poder cancelar el proceso. |
|
128 |
*/ |
|
129 |
public void cancel() { |
|
130 |
canceled = true; |
|
131 |
} |
|
132 |
|
|
133 |
/** |
|
134 |
* Metodo para saber si se ha cancelado un proceso |
|
135 |
* @return boolean |
|
136 |
*/ |
|
137 |
public boolean isCanceled() { |
|
138 |
return canceled; |
|
139 |
} |
|
120 | 140 |
} |
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/RasterMultiDataset.java | ||
---|---|---|
860 | 860 |
* @see org.gvsig.raster.util.IHistogramable#getPercent() |
861 | 861 |
*/ |
862 | 862 |
public int getPercent() { |
863 |
if (histogram != null) |
|
864 |
return histogram.getPercent(); |
|
863 |
if (histogram != null) return histogram.getPercent(); |
|
865 | 864 |
return 0; |
866 | 865 |
} |
867 | 866 |
|
... | ... | |
870 | 869 |
* @see org.gvsig.raster.util.IHistogramable#resetPercent() |
871 | 870 |
*/ |
872 | 871 |
public void resetPercent() { |
873 |
if (histogram != null) |
|
874 |
histogram.resetPercent(); |
|
872 |
if (histogram != null) histogram.resetPercent(); |
|
875 | 873 |
} |
874 |
|
|
875 |
/* |
|
876 |
* (non-Javadoc) |
|
877 |
* @see org.gvsig.raster.util.ICancellable#cancel() |
|
878 |
*/ |
|
879 |
public void cancel() { |
|
880 |
if (histogram != null) histogram.cancel(); |
|
881 |
} |
|
882 |
|
|
883 |
/* |
|
884 |
* (non-Javadoc) |
|
885 |
* @see org.gvsig.raster.util.ICancellable#isCanceled() |
|
886 |
*/ |
|
887 |
public boolean isCanceled() { |
|
888 |
if (histogram != null) return histogram.isCanceled(); |
|
889 |
return false; |
|
890 |
} |
|
876 | 891 |
} |
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/GeoInfo.java | ||
---|---|---|
21 | 21 |
import java.awt.geom.AffineTransform; |
22 | 22 |
import java.util.Date; |
23 | 23 |
|
24 |
import org.cresques.cts.ICoordTrans; |
|
25 | 24 |
import org.cresques.cts.IProjection; |
26 | 25 |
import org.cresques.geo.Projected; |
27 | 26 |
import org.gvsig.raster.shared.Extent; |
28 | 27 |
|
29 |
import com.hardcode.driverManager.Driver; |
|
30 | 28 |
|
31 |
|
|
32 | 29 |
/** |
33 | 30 |
* Ancestro de todos los formatos geogr?ficos |
34 | 31 |
* |
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/io/EcwDriver.java | ||
---|---|---|
44 | 44 |
import com.ermapper.ecw.JNCSInvalidSetViewException; |
45 | 45 |
import com.ermapper.ecw.JNCSProgressiveUpdate; |
46 | 46 |
|
47 |
import es.gva.cit.jgdal.GdalException; |
|
48 |
|
|
49 |
|
|
50 | 47 |
/** |
51 | 48 |
* Driver de Ecw |
52 | 49 |
* |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/RasterFilterList.java | ||
---|---|---|
20 | 20 |
|
21 | 21 |
import java.util.ArrayList; |
22 | 22 |
|
23 |
import org.cresques.px.Extent; |
|
24 | 23 |
import org.gvsig.raster.dataset.IBuffer; |
25 | 24 |
|
26 |
|
|
27 | 25 |
/** |
28 | 26 |
* Esta clase representa la lista de filtros que debe ser manejada desde el |
29 | 27 |
* RasterFilterListManager. |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/BrightnessContrastListManager.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import java.util.ArrayList; |
23 | 23 |
|
24 |
import org.gvsig.i18n.Messages; |
|
25 | 24 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
26 |
import org.gvsig.raster.dataset.RasterDataset; |
|
27 | 25 |
import org.gvsig.raster.grid.filter.IRasterFilterListManager; |
28 | 26 |
import org.gvsig.raster.grid.filter.RasterFilter; |
29 | 27 |
import org.gvsig.raster.grid.filter.RasterFilterList; |
30 | 28 |
import org.gvsig.raster.grid.filter.RasterFilterListManager; |
31 | 29 |
|
32 |
|
|
33 | 30 |
public class BrightnessContrastListManager implements IRasterFilterListManager{ |
34 | 31 |
|
35 | 32 |
protected RasterFilterList filterList = null; |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/BrightnessFilter.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.gvsig.raster.grid.filter.enhancement; |
21 | 21 |
|
22 |
import org.gvsig.i18n.Messages; |
|
23 | 22 |
import org.gvsig.raster.grid.filter.RasterFilter; |
24 | 23 |
|
25 | 24 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/ContrastFilter.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.gvsig.raster.grid.filter.enhancement; |
21 | 21 |
|
22 |
import org.gvsig.i18n.Messages; |
|
23 | 22 |
import org.gvsig.raster.grid.filter.RasterFilter; |
24 | 23 |
|
25 | 24 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/ContrastShortFilter.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.grid.filter.enhancement; |
2 | 2 |
|
3 |
import org.cresques.filter.RasterBuf; |
|
4 | 3 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
5 | 4 |
|
6 | 5 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/LinearEnhancementFilter.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid.filter.enhancement; |
20 | 20 |
|
21 |
import org.gvsig.i18n.Messages; |
|
22 | 21 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
23 | 22 |
import org.gvsig.raster.dataset.IBuffer; |
24 | 23 |
import org.gvsig.raster.dataset.properties.DatasetListStatistics; |
25 | 24 |
import org.gvsig.raster.grid.filter.RasterFilter; |
26 | 25 |
|
27 |
|
|
28 | 26 |
/** |
29 | 27 |
* Clase base para los filtros de realzado lineal. Lee el m?nimo y m?xmo de la clase |
30 | 28 |
* Statistic que ser?n calculados por PercentTailTrimFilter o ComputeMinMaxFilter dependiendo |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/LinearEnhancementShortFilter.java | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
package org.gvsig.raster.grid.filter.enhancement; |
25 | 25 |
|
26 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
|
27 | 26 |
import org.gvsig.raster.dataset.IBuffer; |
28 |
import org.gvsig.raster.dataset.properties.DatasetListStatistics; |
|
29 | 27 |
|
30 |
|
|
31 | 28 |
/** |
32 | 29 |
* Realzado Lineal (Amplitude Rescaling) para imagenes de 16 bits. |
33 | 30 |
* @author Luis W. Sevilla (sevilla_lui@gva.es) |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/RasterFilter.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid.filter; |
20 | 20 |
|
21 |
import java.awt.Image; |
|
22 | 21 |
import java.util.Hashtable; |
23 | 22 |
|
24 |
import org.cresques.geo.ViewPortData; |
|
25 | 23 |
import org.cresques.px.Extent; |
26 | 24 |
import org.gvsig.raster.dataset.IBuffer; |
27 | 25 |
|
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimFilter.java | ||
---|---|---|
20 | 20 |
|
21 | 21 |
import java.util.Arrays; |
22 | 22 |
|
23 |
import org.gvsig.i18n.Messages; |
|
24 | 23 |
import org.gvsig.raster.dataset.IBuffer; |
25 | 24 |
import org.gvsig.raster.dataset.IStatistics; |
26 | 25 |
import org.gvsig.raster.grid.filter.RasterFilter; |
27 | 26 |
|
28 |
|
|
29 | 27 |
/** |
30 | 28 |
* Filtro de recorte de colas. Este filtro toma pixels de la imagen (todos o algunas muestras |
31 | 29 |
* dependiendo de la variable percentSample) y los ordena. Recorta un porcentaje controlado |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimShortFilter.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid.filter.statistics; |
20 | 20 |
|
21 |
import java.util.Arrays; |
|
22 |
|
|
23 | 21 |
import org.gvsig.raster.dataset.IBuffer; |
24 | 22 |
|
25 |
|
|
26 |
|
|
27 | 23 |
/** |
28 | 24 |
* Proceso del filtro de recorte de colas aplicado a im?genes 16 bits |
29 | 25 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimByteFilter.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid.filter.statistics; |
20 | 20 |
|
21 |
import java.util.Arrays; |
|
22 |
|
|
23 | 21 |
import org.gvsig.raster.dataset.IBuffer; |
24 | 22 |
|
25 | 23 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/GridReader.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid; |
20 | 20 |
|
21 |
import org.gvsig.raster.dataaccess.DataSource; |
|
22 | 21 |
import org.gvsig.raster.dataaccess.IQueryableRaster; |
23 | 22 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
24 | 23 |
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidAccessException; |
trunk/libraries/libRaster/src/org/gvsig/raster/grid/IQueryableGrid.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.grid; |
20 | 20 |
|
21 |
import java.util.Arrays; |
|
22 |
|
|
23 | 21 |
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidAccessException; |
24 | 22 |
|
25 | 23 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/shared/IRasterGeoOperations.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.shared; |
2 | 2 |
|
3 | 3 |
import org.cresques.cts.IProjection; |
4 |
import org.gvsig.raster.dataset.RasterDriverException; |
|
5 | 4 |
|
6 | 5 |
/** |
7 | 6 |
* Interfaz que representa operaciones de imagenes con georreferenciaci?n. |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/buffer/RasterBuffer.java | ||
---|---|---|
45 | 45 |
private static int multicacheMemorySize = 100; |
46 | 46 |
|
47 | 47 |
public double noDataValue = -99999; |
48 |
protected int percent = 0; |
|
48 |
|
|
49 |
protected int percent = 0; |
|
50 |
protected boolean canceled = false; |
|
49 | 51 |
|
50 | 52 |
protected int width; |
51 | 53 |
protected int height; |
... | ... | |
384 | 386 |
for (int row = 0; row < getHeight(); row++) { |
385 | 387 |
for (int col = 0; col < getWidth(); col++) |
386 | 388 |
hist.incrementPxValue(iBand, (getElemByte(row, col, iBand) & 0xff)); |
389 |
if (isCanceled()) return null; |
|
387 | 390 |
percent = ((iBand*getHeight() + row) * 100) /(getHeight() * getBandCount()); |
388 | 391 |
} |
389 | 392 |
percent = 100; |
... | ... | |
430 | 433 |
public int getPercent() { |
431 | 434 |
return percent; |
432 | 435 |
} |
436 |
|
|
437 |
/* |
|
438 |
* (non-Javadoc) |
|
439 |
* @see org.gvsig.raster.util.ICancellable#isCanceled() |
|
440 |
*/ |
|
441 |
public boolean isCanceled() { |
|
442 |
return canceled; |
|
443 |
} |
|
444 |
|
|
445 |
/* |
|
446 |
* (non-Javadoc) |
|
447 |
* @see org.gvsig.raster.util.ICancellable#cancel() |
|
448 |
*/ |
|
449 |
public void cancel() { |
|
450 |
canceled = true; |
|
451 |
} |
|
433 | 452 |
} |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/DataSource.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
25 | 25 |
import org.gvsig.raster.dataset.FileFoundInListException; |
26 |
import org.gvsig.raster.dataset.FileNotOpenException; |
|
27 | 26 |
import org.gvsig.raster.dataset.IBuffer; |
28 | 27 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
29 | 28 |
import org.gvsig.raster.dataset.RasterDataset; |
... | ... | |
31 | 30 |
import org.gvsig.raster.dataset.RasterMultiDataset; |
32 | 31 |
import org.gvsig.raster.dataset.properties.DatasetPalette; |
33 | 32 |
import org.gvsig.raster.shared.Extent; |
34 |
import org.gvsig.raster.util.DataClassList; |
|
35 |
import org.gvsig.raster.util.Histogram; |
|
36 | 33 |
import org.gvsig.raster.util.RasterUtilities; |
37 | 34 |
|
38 | 35 |
/** |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/LRUAlgorithm.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import java.io.IOException; |
23 | 23 |
|
24 |
import org.gvsig.raster.dataaccess.buffer.IBand; |
|
25 |
import org.gvsig.raster.dataaccess.buffer.RasterBand; |
|
26 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
|
27 |
import org.gvsig.raster.dataset.IBuffer; |
|
28 |
|
|
29 | 24 |
/* |
30 | 25 |
* TODO: OPTIMIZACION: Trabajo de optimizaci?n en la velocidad e acceso a cach?. |
31 | 26 |
* TODO: FUNCIONALIDAD: Acabar de implementar los m?todos de acceso a datos, intercambio de bandas, etc... |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/RasterReadOnlyHugeBuffer.java | ||
---|---|---|
4 | 4 |
|
5 | 5 |
import org.gvsig.raster.dataaccess.buffer.IBand; |
6 | 6 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
7 |
import org.gvsig.raster.dataaccess.buffer.RasterMemoryBuffer; |
|
8 | 7 |
import org.gvsig.raster.dataset.IBuffer; |
9 | 8 |
import org.gvsig.raster.dataset.NotSupportedExtensionException; |
10 | 9 |
import org.gvsig.raster.dataset.RasterDriverException; |
11 |
import org.gvsig.raster.util.DataClassList; |
|
12 |
import org.gvsig.raster.util.Histogram; |
|
13 |
import org.gvsig.raster.util.HistogramException; |
|
14 | 10 |
|
15 | 11 |
/** |
16 | 12 |
* |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/CacheDataFromDriverServer.java | ||
---|---|---|
19 | 19 |
*/ |
20 | 20 |
package org.gvsig.raster.dataaccess.cache; |
21 | 21 |
|
22 |
import java.io.File; |
|
23 |
import java.io.FileNotFoundException; |
|
24 | 22 |
import java.io.IOException; |
25 | 23 |
|
26 | 24 |
import org.gvsig.raster.dataset.Band; |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/RasterCache.java | ||
---|---|---|
27 | 27 |
import org.gvsig.raster.dataaccess.buffer.RasterBand; |
28 | 28 |
import org.gvsig.raster.dataaccess.buffer.RasterBuffer; |
29 | 29 |
import org.gvsig.raster.dataset.IBuffer; |
30 |
import org.gvsig.raster.util.DataClassList; |
|
31 |
import org.gvsig.raster.util.Histogram; |
|
32 |
import org.gvsig.raster.util.HistogramException; |
|
33 | 30 |
import org.gvsig.raster.util.RasterUtilities; |
34 | 31 |
|
35 | 32 |
/* |
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/PageBuffer.java | ||
---|---|---|
37 | 37 |
*/ |
38 | 38 |
public class PageBuffer implements IBuffer { |
39 | 39 |
|
40 |
private PageBandBuffer[] pageBandBuffer = null; |
|
41 |
private int percent = 0; |
|
40 |
private PageBandBuffer[] pageBandBuffer = null; |
|
41 |
|
|
42 |
private int percent = 0; |
|
43 |
private boolean canceled = false; |
|
42 | 44 |
|
43 | 45 |
/** |
44 | 46 |
* Constructor |
... | ... | |
420 | 422 |
return null; |
421 | 423 |
Histogram hist = new Histogram(getBandCount(), 256); |
422 | 424 |
for (int iBand = 0; iBand < getBandCount(); iBand++) |
423 |
for (int col = 0; col < getHeight(); col++) |
|
425 |
for (int col = 0; col < getHeight(); col++) {
|
|
424 | 426 |
for (int row = 0; row < getWidth(); row++) |
425 | 427 |
hist.incrementPxValue(iBand, getElemByte(row, col, iBand)); |
428 |
if (isCanceled()) return null; |
|
429 |
} |
|
426 | 430 |
percent = 100; |
427 | 431 |
return hist; |
428 | 432 |
} |
... | ... | |
467 | 471 |
public int getPercent() { |
468 | 472 |
return percent; |
469 | 473 |
} |
474 |
|
|
475 |
/* |
|
476 |
* (non-Javadoc) |
|
477 |
* @see org.gvsig.raster.util.ICancellable#cancel() |
|
478 |
*/ |
|
479 |
public void cancel() { |
|
480 |
canceled = true; |
|
481 |
} |
|
482 |
|
|
483 |
/* |
|
484 |
* (non-Javadoc) |
|
485 |
* @see org.gvsig.raster.util.ICancellable#isCanceled() |
|
486 |
*/ |
|
487 |
public boolean isCanceled() { |
|
488 |
return canceled; |
|
489 |
} |
|
470 | 490 |
} |
trunk/libraries/libRaster/src/org/gvsig/raster/util/ICancellable.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
|
2 |
* |
|
3 |
* Copyright (C) 2007 IVER T.I. and Generalitat Valenciana. |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or |
|
6 |
* modify it under the terms of the GNU General Public License |
|
7 |
* as published by the Free Software Foundation; either version 2 |
|
8 |
* of the License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License |
|
16 |
* along with this program; if not, write to the Free Software |
|
17 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. |
|
18 |
*/ |
|
19 |
package org.gvsig.raster.util; |
|
20 |
|
|
21 |
/** |
|
22 |
* Interfaz para poder cancelar un proceso de obtenci?n de histogramas. |
|
23 |
* |
|
24 |
* @version 05/04/2007 |
|
25 |
* @author Borja S?nchez Zamorano (borja.sanchez@iver.es) |
|
26 |
*/ |
|
27 |
public interface ICancellable { |
|
28 |
|
|
29 |
/** |
|
30 |
* Comprobar si ha sido cancelado un proceso |
|
31 |
* @return boolean |
|
32 |
*/ |
|
33 |
public boolean isCanceled(); |
|
34 |
|
|
35 |
/** |
|
36 |
* Cancelar un proceso |
|
37 |
*/ |
|
38 |
public void cancel(); |
|
39 |
} |
|
0 | 40 |
trunk/libraries/libRaster/src/org/gvsig/raster/util/DataClass.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.util; |
2 | 2 |
|
3 |
import org.gvsig.raster.dataset.IBuffer; |
|
4 |
|
|
5 | 3 |
/** |
6 | 4 |
* Clase que define un intervalo de datos. Es util para cosas como el calculo de histogramas |
7 | 5 |
* con tipo de datos en coma flotante en el cual hay que dividir los intervalos en |
trunk/libraries/libRaster/src/org/gvsig/raster/util/IHistogramable.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.raster.util; |
20 | 20 |
|
21 |
|
|
22 | 21 |
/** |
23 | 22 |
* Interfaz que deben implementar todas las clases capaces de servir histogramas |
24 | 23 |
* @version 27/03/2007 |
25 | 24 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
26 |
* |
|
27 | 25 |
*/ |
28 |
public interface IHistogramable { |
|
26 |
public interface IHistogramable extends ICancellable { |
|
27 |
|
|
29 | 28 |
/** |
30 | 29 |
* Obtiene un histograma. |
31 | 30 |
* @return Histograma |
... | ... | |
34 | 33 |
|
35 | 34 |
/** |
36 | 35 |
* Inicializa el porcentaje a 0 de un histograma. |
37 |
* @return int |
|
38 | 36 |
*/ |
39 | 37 |
public void resetPercent(); |
40 | 38 |
|
... | ... | |
44 | 42 |
*/ |
45 | 43 |
public int getPercent(); |
46 | 44 |
|
47 |
/**
|
|
45 |
/** |
|
48 | 46 |
* Obtiene un histograma a partir de la lista de clases pasada por par?metro. |
49 | 47 |
* @param classes |
50 | 48 |
* @return Histograma |
51 | 49 |
*/ |
52 |
public Histogram getHistogramUsingClasses(DataClassList classes)throws HistogramException; |
|
53 |
} |
|
50 |
public Histogram getHistogramUsingClasses(DataClassList classes) throws HistogramException;
|
|
51 |
} |
Also available in: Unified diff