Statistics
| Revision:

gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster.2.4 / org.gvsig.raster / org.gvsig.raster.tilecache / org.gvsig.raster.tilecache.provider / src / main / java / org / gvsig / raster / tilecache / provider / TileStructImage.java @ 6516

History | View | Annotate | Download (4.36 KB)

1
package org.gvsig.raster.tilecache.provider;
2

    
3
import org.gvsig.fmap.dal.exception.DataException;
4
import org.gvsig.fmap.dal.exception.InitializeException;
5
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
6
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
7
import org.gvsig.fmap.geom.exception.CreateEnvelopeException;
8
import org.gvsig.fmap.geom.primitive.Envelope;
9
import org.gvsig.raster.lib.buffer.api.Band;
10
import org.gvsig.raster.lib.buffer.api.TileStruct;
11
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
12
import org.gvsig.tools.dynobject.exception.DynMethodException;
13

    
14
public interface TileStructImage {
15

    
16
    /**
17
     * @param pixelSize
18
     * @return The appropiate zoom level for the pizelSize
19
     */
20
    public abstract int getZoomLvlForPixelSize(double pixelSize);
21

    
22
    /**
23
     * @param buffer
24
     * @param bandNumber
25
     * @param zoomLevel
26
     * @param tileRow
27
     * @param tileCol
28
     * @return Band
29
     * @throws CreateEnvelopeException
30
     * @throws CloneNotSupportedException
31
     * @throws ValidateDataParametersException
32
     */
33
    public abstract Band fetchTile(int bandNumber, int zoomLevel, int structRow, int structCol)
34
        throws CreateEnvelopeException, ValidateDataParametersException, CloneNotSupportedException;
35

    
36
    /**
37
     * @return the band number
38
     * @throws CloneNotSupportedException
39
     * @throws ValidateDataParametersException
40
     * @throws DataException
41
     * @throws BufferException
42
     * @throws CreateEnvelopeException
43
     * @throws DynMethodException
44
     */
45
    public abstract int getBandNumber() throws ValidateDataParametersException, CreateEnvelopeException,
46
        BufferException, DataException, CloneNotSupportedException;
47

    
48
    /**
49
     * @return the data types
50
     * @throws CloneNotSupportedException
51
     * @throws ValidateDataParametersException
52
     * @throws DataException
53
     * @throws BufferException
54
     * @throws CreateEnvelopeException
55
     * @throws DynMethodException
56
     */
57
    public abstract int[] getDataTypes() throws ValidateDataParametersException, CreateEnvelopeException,
58
        BufferException, DataException, CloneNotSupportedException;
59

    
60
    /**
61
     * @param zoomLevel
62
     * @return rows per zoom level
63
     */
64
    public abstract int getRows(int zoomLevel);
65

    
66
    /**
67
     * @param zoomLevel
68
     * @return columns per zoom level
69
     */
70
    public abstract int getColumns(int zoomLevel);
71

    
72
    /**
73
     * @return envelope per zoom level
74
     */
75
    public abstract Envelope getEnvelope();
76

    
77
    /**
78
     * @return the rows number per tile
79
     */
80
    public abstract int getRowsPerTile();
81

    
82
    /**
83
     * @return the columns number per tile
84
     */
85
    public abstract int getColumnsPerTile();
86

    
87
    /**
88
     * @return the provider name
89
     */
90
    public abstract String getProviderName();
91

    
92
    /**
93
     * @return the color interpretation
94
     * @throws DynMethodException
95
     * @throws CloneNotSupportedException
96
     * @throws ValidateDataParametersException
97
     * @throws DataException
98
     * @throws BufferException
99
     * @throws CreateEnvelopeException
100
     */
101
    public abstract Object getColorInterpretation() throws DynMethodException, ValidateDataParametersException,
102
        CreateEnvelopeException, BufferException, DataException, CloneNotSupportedException;
103

    
104
    /**
105
     * @return the color table
106
     * @throws ValidateDataParametersException
107
     * @throws DynMethodException
108
     * @throws CloneNotSupportedException
109
     * @throws DataException
110
     * @throws BufferException
111
     * @throws CreateEnvelopeException
112
     * @throws InitializeException
113
     * @throws ProviderNotRegisteredException
114
     */
115
    public abstract Object getColorTable() throws DynMethodException, ValidateDataParametersException,
116
        CreateEnvelopeException, BufferException, DataException, CloneNotSupportedException;
117

    
118
    /**
119
     * @return the legend
120
     * @throws ValidateDataParametersException
121
     * @throws DynMethodException
122
     * @throws CloneNotSupportedException
123
     * @throws DataException
124
     * @throws BufferException
125
     * @throws CreateEnvelopeException
126
     * @throws InitializeException
127
     * @throws ProviderNotRegisteredException
128
     */
129
    public abstract Object getLegend() throws DynMethodException, ValidateDataParametersException,
130
        CreateEnvelopeException, BufferException, DataException, CloneNotSupportedException;
131

    
132
    public abstract TileStruct getTileStruct();
133

    
134
}