Statistics
| Revision:

root / trunk / libraries / libCq_CMS_praster / src / org / cresques / io / data / IQueryableRaster.java @ 8026

History | View | Annotate | Download (2.78 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2006 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.cresques.io.data;
20

    
21

    
22

    
23
public interface IQueryableRaster {          
24
        public final static int INTERPOLATION_Undefined                        = 0;
25
        public final static int INTERPOLATION_NearestNeighbour        = 1;
26
        public final static int INTERPOLATION_Bilinear                        = 2;
27
        public final static int INTERPOLATION_InverseDistance        = 3;
28
        public final static int INTERPOLATION_BicubicSpline                = 4;
29
        public final static int INTERPOLATION_BSpline                        = 5;
30

    
31
        /**
32
         * Obtiene el ancho de la imagen
33
         * @return  Ancho en pixeles de la imagen
34
         */
35
        public int getWidth();
36
        
37
        /**
38
         * Obtiene el alto de la imagen
39
         * @return  Alto en pixeles de la imagen
40
         */
41
        public int getHeight();
42
        
43
        /**
44
         * Tama?o de celda en X
45
         * @return 
46
         */
47
        public double getXCellSize();
48
        
49
        /**
50
         * Tama?o de celda en Y
51
         * @return
52
         */
53
        public double getYCellSize();
54
        
55
        /**
56
         * Asigna un area de interes desde la posici?n x,y en pixeles de ancho w y alto h
57
         * @param x Coordenada x de la esquina superior izquierda
58
         * @param y Coordenada y de la esquina superior izquierda
59
         * @param w Ancho del grid
60
         * @param h Alto del grid
61
         */
62
        public void setAreaOfInterest(int x, int y, int w, int h);
63
        
64
        /**
65
         * Obtiene un buffer desde la posici?n x,y en pixeles de ancho w y alto h
66
         * @param x Coordenada x de la esquina superior izquierda
67
         * @param y Coordenada y de la esquina superior izquierda
68
         * @param w Ancho del grid
69
         * @param h Alto del grid
70
         * @return Buffer de datos
71
         */
72
        public RasterBuf getData(int x, int y, int w, int h);
73
        
74
        /**
75
         * Devuelve el tipo de datos del raster
76
         * @see java.awt.image.DataBuffer
77
         */
78
        public int getDataType();
79

    
80
        /**
81
         * Asigna tipo de datos del raster
82
         * @see java.awt.image.DataBuffer
83
         */
84
        public void setDataType(int dt);
85

    
86
        /**
87
         * Devuelve true si la celda contiene un valor de NODATA
88
         * @param x        coordenada X
89
         * @param y coordenada Y
90
         * @return
91
         */
92
        public boolean isNoData(int x, int y, int band);
93
        
94
        /**
95
         * Obtiene el n?mero de bandas
96
         * @return N?mero de bandas
97
         */
98
        public int getBandCount();
99
        
100
}