Revision 171

View differences:

org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/MANIFEST.MF
1
Manifest-Version: 1.0
2
Ant-Version: Apache Ant 1.7.1
3
Created-By: 16.0-b13 (Sun Microsystems Inc.)
4
Implementation-Version: 0.7
5
Built-Date: 2012-10-04 11:28:17
6

  
0 7

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/resources/org/gvsig/toolbox/core/i18n/text_fr.properties
1
#Modified by DOKSoft PropEditor. http://www.doksoft.com
2
#Fri Feb 18 11:30:32 CET 2011
3
vector=Vectoriel
4
raster=Couche matricielle
5
[New_model]=[Nouveau mod\u00e8le]
6
chart=graphique
7
table=table
8
text=texte
9
Toolbox=Bo\u00eete \u00e0 outils
10
Toolbox_models=Mod\u00e8les
0 11

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/resources/org/gvsig/toolbox/core/i18n/text.properties
1
[New_model]=[Nuevo modelo]
2

  
3
chart=gr\u00e1fico
4

  
5
raster=raster
6

  
7
text=texto
8

  
9
table=tabla
10

  
11
vector=vectorial
12

  
13
Java_code=C\u00f3digo Java
14

  
15
Toolbox=Caja de herramientas
16

  
17
Toolbox_models=Modelos
0 18

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/resources/org/gvsig/toolbox/core/i18n/text_en.properties
1
[New_model]=[New model]
2

  
3
chart=chart
4

  
5
raster=raster
6

  
7
text=text
8

  
9
table=table
10

  
11
vector=vector
12

  
13
Java_code=Java code
14

  
15
Toolbox=Toolbox
16

  
17
Toolbox_models=Models
0 18

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.toolbox.core.ToolboxCoreLibrary
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/jaitools/package.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html>
3
  <head>
4
    <title>jaitools</title>
5
  </head>
6
  <body>
7
    The JAITools and CollectionFactory helper classes
8
  </body>
9
</html>
0 10

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/jaitools/tilecache/package.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html>
3
  <head>
4
    <title>jaitools.tilecache</title>
5
  </head>
6
  <body>
7
  An implementation of TileCache which can use disk caching to supplement
8
  memory, allowing large volumes of image data to be handled
9
  </body>
10
</html>
0 11

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/jaitools/tiledimage/package.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html>
3
  <head>
4
    <title>jaitools.tiledimage</title>
5
    <meta http-equiv="Content-Type" content="text/html; charset=MacRoman">
6
  </head>
7
  <body>
8
  A writable tiled image class similar to JAI's TiledImage but backed
9
  by disk as well as memory storage to handle very large images within
10
  limited memory.
11
  </body>
12
</html>
0 13

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/NullParameterAdditionalInfoException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class NullParameterAdditionalInfoException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public NullParameterAdditionalInfoException() {
8

  
9
      super("Null parameter additional info exception");
10

  
11
   }
12
}
0 13

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongAnalysisExtentException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongAnalysisExtentException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public WrongAnalysisExtentException(final String s) {
8

  
9
      super(s);
10

  
11
   }
12

  
13

  
14
   public WrongAnalysisExtentException() {
15

  
16
      super("Wrong raster extension exception");
17

  
18
   }
19

  
20
}
0 21

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/IteratorException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class IteratorException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public IteratorException() {
8

  
9
      super("Iterator exception");
10

  
11
   }
12

  
13

  
14
   public IteratorException(final String s) {
15

  
16
      super(s);
17

  
18
   }
19

  
20
}
0 21

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongOutputIDException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongOutputIDException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public WrongOutputIDException() {
8

  
9
      super("Wrong uoutput ID exception");
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongParameterValueException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongParameterValueException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public WrongParameterValueException() {
8

  
9
      super("Wrong parameter value exception");
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/RepeatedParameterNameException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class RepeatedParameterNameException
4
         extends
5
            Exception {
6

  
7
   public RepeatedParameterNameException() {}
8

  
9
}
0 10

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongSerializedStringParameterValueException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongSerializedStringParameterValueException
4
         extends
5
            Exception {
6

  
7
}
0 8

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongParameterTypeException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongParameterTypeException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public WrongParameterTypeException() {
8

  
9
      super("Wrong parameter type execption");
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/OptionalParentParameterException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class OptionalParentParameterException
4
         extends
5
            Exception {
6

  
7
   public OptionalParentParameterException() {}
8

  
9
}
0 10

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongOutputChannelDataException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongOutputChannelDataException
4
         extends
5
            Exception {
6

  
7
}
0 8

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/UnsupportedOutputChannelException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class UnsupportedOutputChannelException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public UnsupportedOutputChannelException() {
8

  
9
      super("Unsupported output channel");
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/GeoAlgorithmExecutionException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class GeoAlgorithmExecutionException
4
         extends
5
            Exception {
6

  
7
   public GeoAlgorithmExecutionException(final String s) {
8

  
9
      super(s);
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/NullParameterValueException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class NullParameterValueException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public NullParameterValueException() {
8

  
9
      super("Null parameter value exception");
10

  
11
   }
12
}
0 13

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongParameterIDException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class WrongParameterIDException
4
         extends
5
            GeoAlgorithmExecutionException {
6

  
7
   public WrongParameterIDException() {
8

  
9
      super("Wrong parameter ID exception");
10

  
11
   }
12

  
13
}
0 14

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/WrongInputException.java
1
package es.unex.sextante.exceptions;
2

  
3
import es.unex.sextante.core.Sextante;
4

  
5
public class WrongInputException
6
         extends
7
            Exception {
8

  
9
   public WrongInputException() {
10

  
11
      super(Sextante.getText("Wrong_or_missing_parameters_definition"));
12

  
13
   }
14

  
15

  
16
   public WrongInputException(final String s) {
17

  
18
      super(s);
19

  
20
   }
21

  
22
}
0 23

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/exceptions/UndefinedParentParameterNameException.java
1
package es.unex.sextante.exceptions;
2

  
3
public class UndefinedParentParameterNameException
4
         extends
5
            Exception {
6

  
7
   public UndefinedParentParameterNameException() {}
8

  
9
}
0 10

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/ILayer.java
1
package es.unex.sextante.dataObjects;
2

  
3
import java.awt.geom.Rectangle2D;
4

  
5
/**
6
 * Interface for layers
7
 * 
8
 * @author volaya
9
 * 
10
 */
11
public interface ILayer
12
         extends
13
            IDataObject {
14

  
15
   /**
16
    * Returns the extent covered by the layer
17
    * 
18
    * @return the extent of the layer
19
    */
20
   public Rectangle2D getFullExtent();
21

  
22

  
23
   /**
24
    * Returns an object with information about the CRS associated to this layer. The class of this object depends on the
25
    * implementation of this interface
26
    * 
27
    * @return An object with information about the CRS used for this layer (i.e. a string with a EPSG code)
28
    */
29
   public Object getCRS();
30

  
31
}
0 32

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/IRecord.java
1
package es.unex.sextante.dataObjects;
2

  
3
/**
4
 * A simple interface for a database record.
5
 *
6
 * @author volaya
7
 *
8
 */
9
public interface IRecord {
10

  
11
   /**
12
    * Returns the value at a field
13
    *
14
    * @param iField
15
    *                the index of the field. zero-based
16
    * @return The value at the specified field
17
    */
18
   public Object getValue(int iField);
19

  
20

  
21
   /**
22
    * Returns an array with all the values of the record
23
    *
24
    * @return an array with all the values of the record
25
    */
26
   public Object[] getValues();
27

  
28
}
0 29

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/I3DRasterLayer.java
1
package es.unex.sextante.dataObjects;
2

  
3
import java.awt.image.DataBuffer;
4

  
5
import es.unex.sextante.core.AnalysisExtent;
6

  
7
/**
8
 * This is the base interface that all 3D raster object have to implement to be able to be used by SEXTANTE algorithms.
9
 * 
10
 * @author Victor Olaya. volaya@unex.es
11
 * 
12
 */
13
public interface I3DRasterLayer
14
         extends
15
            ILayer {
16

  
17
   public static final int RASTER_DATA_TYPE_FLOAT  = DataBuffer.TYPE_FLOAT;
18
   public static final int RASTER_DATA_TYPE_DOUBLE = DataBuffer.TYPE_DOUBLE;
19
   public static final int RASTER_DATA_TYPE_INT    = DataBuffer.TYPE_INT;
20
   public static final int RASTER_DATA_TYPE_SHORT  = DataBuffer.TYPE_SHORT;
21
   public static final int RASTER_DATA_TYPE_BYTE   = DataBuffer.TYPE_BYTE;
22

  
23

  
24
   /**
25
    * Returns the data type of the layer
26
    * 
27
    * @return the data type of the layer
28
    */
29
   public int getDataType();
30

  
31

  
32
   /**
33
    * Returns the extent of the whole layer
34
    * 
35
    * @return the extent of the whole layer
36
    */
37
   public AnalysisExtent getLayerExtent();
38

  
39

  
40
   /**
41
    * Return the original cellsize of the layer. X and Y cellsizes are assumed to be equal
42
    * 
43
    * @return the original cellsize of the layer
44
    */
45
   public double getCellSize();
46

  
47

  
48
   /**
49
    * Return the original vertical cellsize (Z) of the layer.
50
    * 
51
    * @return the original vertical cellsize (Z) of the layer
52
    */
53
   public double getCellSizeZ();
54

  
55

  
56
   /**
57
    * Sets the value at a cell
58
    * 
59
    * @param x
60
    *                the x coordinate
61
    * @param y
62
    *                the y coordinate
63
    * @param z
64
    *                the z coordinate
65
    * @param dValue
66
    *                the new value
67
    */
68
   public void setCellValue(int x,
69
                            int y,
70
                            int z,
71
                            double dValue);
72

  
73

  
74
   /**
75
    * Gets the no-data value of the layer
76
    * 
77
    * @return the no-data value of the layer
78
    */
79
   public double getNoDataValue();
80

  
81

  
82
   /**
83
    * Sets the no-data value of the layer
84
    * 
85
    * @param dNoDataValue
86
    *                the new no-data value
87
    */
88
   public void setNoDataValue(double dNoDataValue);
89

  
90

  
91
   /**
92
    * Set the value of a cell to the no-data value
93
    * 
94
    * @param x
95
    *                the x coordinate of the cell to set to no-data
96
    * @param y
97
    *                the y coordinate of the cell to set to no-data
98
    * @param z
99
    *                the z coordinate of the cell to set to no-data
100
    */
101
   public void setNoData(int x,
102
                         int y,
103
                         int z);
104

  
105

  
106
   /**
107
    * Checks if the given value equals the no-data value of the layer
108
    * 
109
    * @param dNoDataValue
110
    *                a value to check
111
    * @return true if the given value equals the no-data value of the layer
112
    */
113
   public boolean isNoDataValue(double dNoDataValue);
114

  
115

  
116
   public byte getCellValueAsByte(int x,
117
                                  int y,
118
                                  int z);
119

  
120

  
121
   public short getCellValueAsShort(int x,
122
                                    int y,
123
                                    int z);
124

  
125

  
126
   public int getCellValueAsInt(int x,
127
                                int y,
128
                                int z);
129

  
130

  
131
   public float getCellValueAsFloat(int x,
132
                                    int y,
133
                                    int z);
134

  
135

  
136
   public double getCellValueAsDouble(int x,
137
                                      int y,
138
                                      int z);
139

  
140

  
141
   /**
142
    * Returns the value at a given world coordinate.
143
    * 
144
    * @param x
145
    *                the x coordinate
146
    * @param y
147
    *                the y coordinate
148
    * @param z
149
    *                the y coordinate
150
    * @return the value at the given world coordinate
151
    */
152
   public double getValueAt(double x,
153
                            double y,
154
                            double z);
155

  
156

  
157
   /**
158
    * 
159
    * @param x
160
    *                the x coordinate(col) of the cell
161
    * @param y
162
    *                the y coordinate(row) of the cell
163
    * @param z
164
    *                the z coordinate of the cell
165
    * 
166
    * @return true if the given cell is within the query window extent
167
    */
168
   public boolean isInWindow(int x,
169
                             int y,
170
                             int z);
171

  
172

  
173
   /**
174
    * Returns the number of columns in the query window of this layer
175
    * 
176
    * @return the number of columns in the query window
177
    */
178
   public int getNX();
179

  
180

  
181
   /**
182
    * Returns the number of rows in the query window of this layer
183
    * 
184
    * @return the number of rows in the query window
185
    */
186
   public int getNY();
187

  
188

  
189
   /**
190
    * Returns the number of vertical (z) cols in the query window
191
    * 
192
    * @return the number of vertical (z) cols in the query window
193
    */
194
   public int getNZ();
195

  
196
}
0 197

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/ITable.java
1
package es.unex.sextante.dataObjects;
2

  
3
/**
4
 * This is the base interface that all table objects have to implement to be able to be used by SEXTANTE algorithms.
5
 *
6
 * Instead of implementing this class directly, it is recommended to extend {@link AbstractTable}
7
 *
8
 * @author Victor Olaya. volaya@unex.es
9
 *
10
 */
11
public interface ITable
12
         extends
13
            IDataObject {
14

  
15
   /**
16
    * Creates a new table
17
    *
18
    * @param sName
19
    *                The name of the table
20
    * @param sFilename
21
    *                The filename associated with the table
22
    * @param types
23
    *                an array with attributes data types
24
    * @param sFields
25
    *                an array with attributes names
26
    */
27
   //	public void create(String sName,
28
   //						String sFilename,
29
   //						Class[] types,
30
   //						String[] sFields);
31
   /**
32
    * adds a new record to the table
33
    *
34
    * @param attributes
35
    *                the values of the record
36
    */
37
   public void addRecord(Object[] attributes);
38

  
39

  
40
   /**
41
    * Returns an iterator to iterate the table
42
    *
43
    * @return an iterator to iterate the table
44
    */
45
   public IRecordsetIterator iterator();
46

  
47

  
48
   /**
49
    * Returns the name of a field
50
    *
51
    * @param i
52
    *                the field. zero-based
53
    * @return The name of the specified field
54
    */
55
   public String getFieldName(int i);
56

  
57

  
58
   /**
59
    * Returns the data type of a field
60
    *
61
    * @param i
62
    *                the field. zero-based
63
    * @return The data type of the specified field
64
    */
65
   public Class getFieldType(int i);
66

  
67

  
68
   /**
69
    * Returns the total number of fields
70
    *
71
    * @return the total number of fields
72
    */
73
   public int getFieldCount();
74

  
75

  
76
   /**
77
    * Returns an array with data types of all the fields in the table
78
    *
79
    * @return an array with data types of all the fields in the table
80
    */
81
   public Class[] getFieldTypes();
82

  
83

  
84
   /**
85
    * Returns an array with the names of all the fields in the table
86
    *
87
    * @return an array with the names of all the fields in the table
88
    */
89
   public String[] getFieldNames();
90

  
91

  
92
   /**
93
    * Returns the total number of records(rows) in the table
94
    *
95
    * @return the total number of records(rows) in the table
96
    */
97
   public long getRecordCount();
98

  
99

  
100
   /**
101
    * Returns the index of a field from its name. Returns -1 if there is not a field with that name.
102
    *
103
    * @param fieldName
104
    *                the name of the field
105
    * @return the index of the given field
106
    */
107
   public int getFieldIndexByName(String fieldName);
108

  
109

  
110
}
0 111

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/RecordImpl.java
1
package es.unex.sextante.dataObjects;
2

  
3
/**
4
 * A simple implementation of the IRecord interface
5
 *
6
 * @author volaya
7
 *
8
 */
9
public class RecordImpl
10
         implements
11
            IRecord {
12

  
13
   private final Object m_Values[];
14

  
15

  
16
   /**
17
    * Creates a new record from an array of values
18
    *
19
    * @param values
20
    *                an array of values
21
    */
22
   public RecordImpl(final Object[] values) {
23

  
24
      m_Values = values;
25

  
26
   }
27

  
28

  
29
   public Object getValue(final int field) {
30

  
31
      return m_Values[field];
32

  
33
   }
34

  
35

  
36
   public Object[] getValues() {
37

  
38
      return m_Values;
39

  
40
   }
41

  
42
}
0 43

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/IFeature.java
1
package es.unex.sextante.dataObjects;
2

  
3
import com.vividsolutions.jts.geom.Geometry;
4

  
5
/**
6
 * A generic interface for features, to be used by SEXTANTE algorithms
7
 *
8
 * @author Victor Olaya volaya@unex.es
9
 *
10
 */
11
public interface IFeature {
12

  
13
   /**
14
    * Returns the geometry of the feature
15
    *
16
    * @return the geometry of the feature
17
    */
18
   public Geometry getGeometry();
19

  
20

  
21
   /**
22
    * Returns the set of attributes of the feature
23
    *
24
    * @return the attributes of the feature
25
    */
26
   public IRecord getRecord();
27

  
28
}
0 29

  
org.gvsig.toolbox/tags/org.gvsig.toolbox-1.0.22/org.gvsig.toolbox.core/src/main/java/es/unex/sextante/dataObjects/IRasterLayer.java
1
package es.unex.sextante.dataObjects;
2

  
3
import java.awt.image.DataBuffer;
4

  
5
import es.unex.sextante.core.AnalysisExtent;
6

  
7
/**
8
 * This is the base interface that all raster object have to implement to be able to be used by SEXTANTE algorithms.
9
 * 
10
 * Instead of implementing this class directly, it is recommended to extend {@link AbstractRasterLayer}, since it solves some of
11
 * the most complex methods, such as grid window definition and resampling methods
12
 * 
13
 * @author Victor Olaya. volaya@unex.es
14
 * 
15
 */
16
public interface IRasterLayer
17
         extends
18
            ILayer {
19

  
20
   public static final int RASTER_DATA_TYPE_FLOAT         = DataBuffer.TYPE_FLOAT;
21
   public static final int RASTER_DATA_TYPE_DOUBLE        = DataBuffer.TYPE_DOUBLE;
22
   public static final int RASTER_DATA_TYPE_INT           = DataBuffer.TYPE_INT;
23
   public static final int RASTER_DATA_TYPE_SHORT         = DataBuffer.TYPE_SHORT;
24
   public static final int RASTER_DATA_TYPE_BYTE          = DataBuffer.TYPE_BYTE;
25

  
26
   public static final int INTERPOLATION_NearestNeighbour = 0;
27
   public static final int INTERPOLATION_Bilinear         = 1;
28
   public static final int INTERPOLATION_InverseDistance  = 2;
29
   public static final int INTERPOLATION_BicubicSpline    = 3;
30
   public static final int INTERPOLATION_BSpline          = 4;
31

  
32

  
33
   /**
34
    * Returns the data type of the layer
35
    * 
36
    * @return the data type of the layer
37
    */
38
   public int getDataType();
39

  
40

  
41
   /**
42
    * Returns the extent of the query window of this layer. Each layer can have a query window, which makes it easier to
43
    * seamlessly combine several layers.
44
    * 
45
    * @return the window grid extent
46
    */
47
   public AnalysisExtent getWindowGridExtent();
48

  
49

  
50
   /**
51
    * Returns the extent of the whole layer
52
    * 
53
    * @return the extent of the whole layer
54
    */
55
   public AnalysisExtent getLayerGridExtent();
56

  
57

  
58
   /**
59
    * Return the cellsize of the query window. X and Y cellsizes are assumed to be equal
60
    * 
61
    * @return the cellsize of the query window
62
    */
63
   public double getWindowCellSize();
64

  
65

  
66
   /**
67
    * Return the original cellsize of the layer. X and Y cellsizes are assumed to be equal
68
    * 
69
    * @return the original cellsize of the layer
70
    */
71
   public double getLayerCellSize();
72

  
73

  
74
   public void assign(double dValue);
75

  
76

  
77
   public void assign(IRasterLayer layer);
78

  
79

  
80
   public void assignNoData();
81

  
82

  
83
   /**
84
    * Sets the value at a cell, in the first band of the layer
85
    * 
86
    * @param x
87
    *                the x coordinate (cols)
88
    * @param y
89
    *                the y coordinate (rows)
90
    * @param dValue
91
    *                the new value
92
    */
93
   public void setCellValue(int x,
94
                            int y,
95
                            double dValue);
96

  
97

  
98
   /**
99
    * Sets the value at a cell
100
    * 
101
    * @param x
102
    *                the x coordinate (cols)
103
    * @param y
104
    *                the y coordinate (rows)
105
    * @param iBand
106
    *                the band (zero-based)
107
    * @param dValue
108
    *                the new value
109
    */
110
   public void setCellValue(int x,
111
                            int y,
112
                            int iBand,
113
                            double dValue);
114

  
115

  
116
   /**
117
    * Adds a value to the current value of a cell in the first band of the layer in the first band of the layer
118
    * 
119
    * @param x
120
    *                the x coordinate (cols)
121
    * @param y
122
    *                the y coordinate (rows)
123
    * @param dValue
124
    *                the value to sum
125
    */
126
   public void addToCellValue(int x,
127
                              int y,
128
                              double dValue);
129

  
130

  
131
   /**
132
    * Adds a value to the current value of a cell
133
    * 
134
    * @param x
135
    *                the x coordinate (cols)
136
    * @param y
137
    *                the y coordinate (rows)
138
    * @param iBand
139
    *                the band (zero-based)
140
    * @param dValue
141
    *                the value to sum
142
    */
143
   public void addToCellValue(int x,
144
                              int y,
145
                              int iBand,
146
                              double dValue);
147

  
148

  
149
   /**
150
    * adds the value of another raster layer to this one. Both layers must have the same window This is supposed to be used with
151
    * monoband layers, so only the first band of each one is used.
152
    */
153
   public void add(IRasterLayer layer);
154

  
155

  
156
   /**
157
    * Multiplies all the values of a layer by a fixed value
158
    * 
159
    * @param d
160
    *                the value to multiply
161
    */
162
   public void multiply(double d);
163

  
164

  
165
   /**
166
    * Gets the no-data value of the layer
167
    * 
168
    * @return the no-data value of the layer
169
    */
170
   public double getNoDataValue();
171

  
172

  
173
   /**
174
    * Sets the no-data value of the layer
175
    * 
176
    * @param dNoDataValue
177
    *                the new no-data value
178
    */
179
   public void setNoDataValue(double dNoDataValue);
180

  
181

  
182
   /**
183
    * Set the value of a cell to the no-data value
184
    * 
185
    * @param x
186
    *                the x coordinate(col) of the cell to set to no-data
187
    * @param y
188
    *                the y coordinate(row) of the cell to set to no-data
189
    * @param iBand
190
    *                the band to set to no-data
191
    */
192
   public void setNoData(int x,
193
                         int y,
194
                         int iBand);
195

  
196

  
197
   /**
198
    * Set the value of a cell in the first band of a layer to the no-data value
199
    * 
200
    * @param x
201
    *                the x coordinate(col) of the cell to set to no-data
202
    * @param y
203
    *                the y coordinate(row) of the cell to set to no-data
204
    */
205
   public void setNoData(int x,
206
                         int y);
207

  
208

  
209
   /**
210
    * Checks if the given value equals the no-data value of the layer
211
    * 
212
    * @param dNoDataValue
213
    *                a value to check
214
    * @return true if the given value equals the no-data value of the layer
215
    */
216
   public boolean isNoDataValue(double dNoDataValue);
217

  
218

  
219
   //coordinates in the following methods are coordinates of the query window.
220

  
221
   public byte getCellValueAsByte(int x,
222
                                  int y,
223
                                  int iBand);
224

  
225

  
226
   public byte getCellValueAsByte(int x,
227
                                  int y);
228

  
229

  
230
   public short getCellValueAsShort(int x,
231
                                    int y,
232
                                    int iBand);
233

  
234

  
235
   public short getCellValueAsShort(int x,
236
                                    int y);
237

  
238

  
239
   public int getCellValueAsInt(int x,
240
                                int y,
241
                                int iBand);
242

  
243

  
244
   public int getCellValueAsInt(int x,
245
                                int y);
246

  
247

  
248
   public float getCellValueAsFloat(int x,
249
                                    int y,
250
                                    int iBand);
251

  
252

  
253
   public float getCellValueAsFloat(int x,
254
                                    int y);
255

  
256

  
257
   public double getCellValueAsDouble(int x,
258
                                      int y,
259
                                      int iBand);
260

  
261

  
262
   public double getCellValueAsDouble(int x,
263
                                      int y);
264

  
265

  
266
   /**
267
    * Returns the value of a cell in the original image coords, that is, not using the query window. Ckecking that coordinates are
268
    * within bounds is not needed, and is assumed to be done by methods calling this method.
269
    * 
270
    * @param x
271
    *                the x coordinate(col) of the cell
272
    * @param y
273
    *                the y coordinate(row) of the cell
274
    * @param band
275
    *                the band to be queried
276
    * @return the value of a cell in the original image coords.
277
    */
278
   public double getCellValueInLayerCoords(int x,
279
                                           int y,
280
                                           int band);
281

  
282

  
283
   /**
284
    * Returns the value at a given world coordinate. The current interpolation method is used if the coordinate does not fall on
285
    * the exact center of a cell.
286
    * 
287
    * @param x
288
    *                the x coordinate
289
    * @param y
290
    *                the y coordinate
291
    * @param iBand
292
    *                the band to query
293
    * @return the value at the given world coordinate
294
    */
295
   public double getValueAt(double x,
296
                            double y,
297
                            int iBand);
298

  
299

  
300
   /**
301
    * Returns the value of the first band of this layer, at a given world coordinate. The current interpolation method is used if
302
    * the coordinate does not fall on the exact center of a cell.
303
    * 
304
    * @param x
305
    *                the x coordinate
306
    * @param y
307
    *                the y coordinate
308
    * @return the value at the given coordinate. If it falls outside of the layer, the current no-data value of the layer is
309
    *         returned
310
    */
311
   public double getValueAt(double x,
312
                            double y);
313

  
314

  
315
   /**
316
    * 
317
    * @param x
318
    *                the x coordinate(col) of the cell
319
    * @param y
320
    *                the y coordinate(row) of the cell
321
    * @return true if the given ccell is within the query window extent
322
    */
323
   public boolean isInWindow(int x,
324
                             int y);
325

  
326

  
327
   /**
328
    * Returns the number of columns in the query window of this layer
329
    * 
330
    * @return the number of columns in the query window
331
    */
332
   public int getNX();
333

  
334

  
335
   /**
336
    * Returns the number of rows in the query window of this layer
337
    * 
338
    * @return the number of rows in the query window
339
    */
340
   public int getNY();
341

  
342

  
343
   /**
344
    * Returns the number of bands of the layer
345
    * 
346
    * @return the number of bands of the layer
347
    */
348
   public int getBandsCount();
349

  
350

  
351
   /**
352
    * Sets the extent of the query window using the full extent of another layer
353
    * 
354
    * @param layer
355
    *                the layer from which to take the extent
356
    */
357
   public void setWindowExtent(IRasterLayer layer);
358

  
359

  
360
   /**
361
    * Sets a new query window extent
362
    * 
363
    * @param gridExtent
364
    *                the new grid extent to set fro this layer
365
    */
366
   public void setWindowExtent(AnalysisExtent gridExtent);
367

  
368

  
369
   /**
370
    * Sets the query window extent to the full extent of the layer
371
    */
372
   public void setFullExtent();
373

  
374

  
375
   /**
376
    * Resamples the layer so the new full extent is the same as a given gridExtent. This method is called before calling
377
    * postProcess, once a GeoAlgorithm is finished
378
    * 
379
    * @param gridExtent
380
    *                the reference gridExtent
381
    */
382
   //public void fitToGridExtent(AnalysisExtent gridExtent);
383
   /**
384
    * Sets the interpolation method to use for calculating value in points other than cell centers
385
    * 
386
    * @param iMethod
387
    */
388
   public void setInterpolationMethod(int iMethod);
389

  
390

  
391
   /**
392
    * Returns the mean value in the first band of the layer
393
    * 
394
    * @return the mean value of the first band of this layer
395
    */
396
   public double getMeanValue();
397

  
398

  
399
   /**
400
    * Returns the min value in the first band of the layer
401
    * 
402
    * @return the min value of the first band of this layer
403
    */
404
   public double getMinValue();
405

  
406

  
407
   /**
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff