Statistics
| Revision:

root / trunk / libraries / libRaster / src / org / gvsig / raster / util / DataClassList.java @ 11068

History | View | Annotate | Download (1.95 KB)

1
package org.gvsig.raster.util;
2

    
3
import java.util.ArrayList;
4

    
5

    
6
/**
7
 *  
8
 * @author Nacho Brodin (nachobrodin@gmail.com)
9
 *
10
 */
11
public class DataClassList {        
12
        private ArrayList classes = new ArrayList();
13
        
14
        /**
15
         * Obtiene el identificador de la clase
16
         * @param value Identificador de la clase
17
         * @return
18
         */
19
        public String getClassID(double value){
20
                for (int i = 0; i < classes.size(); i++) {
21
                        if(((DataClass)classes.get(i)).isIn(value))
22
                                return ((DataClass)classes.get(i)).getId();
23
                }
24
                return null;
25
        }
26
        
27
        /**
28
         * Obtiene la posici?n de la clase
29
         * @param value Posici?n de la clase
30
         * @return
31
         */
32
        public int getClassPosition(double value){
33
                for (int i = 0; i < classes.size(); i++) {
34
                        if(((DataClass)classes.get(i)).isIn(value))
35
                                return ((DataClass)classes.get(i)).getPos();
36
                }
37
                return -1;
38
        }
39
        
40
        /**
41
         * A?ade una clase
42
         * @param dataClass
43
         */
44
        public void addClass(DataClass dataClass){
45
                classes.add(dataClass);
46
        }
47
        
48
        /**
49
         * Obtiene el n?mero de clases contenidas
50
         * @return Entero con el n?mero de clases contenidas
51
         */
52
        public int length(){
53
                return classes.size();
54
        }
55
        
56
        /**
57
         * Elimina todos los elementos de la lista
58
         */
59
        public void clear(){
60
                classes.clear();
61
        }
62
        
63
        /**
64
         * Generador automatico de lista de clases. A partir de un valor m?ximo, un m?nimo
65
         * y un n?mero de clases devuelve la lista de clases.
66
         * 
67
         * @param min Valor m?nimo de la lista de clases
68
         * @param max Valor m?ximo de la lista de clases
69
         * @param nClasses N?mero de clases
70
         * @return DataClassList
71
         */
72
        public static DataClassList getClasses(double min, double max, int nClasses){
73
                double distance = (max - min) / (double)nClasses;
74
                                
75
                double begin = min;
76
                double end = begin + distance;
77
                DataClass dataClass = null;
78
                 DataClassList dataClassList = new DataClassList();
79
                for (int i = 0; i < nClasses; i++) {
80
                        dataClass = new DataClass(begin, end, i, "");
81
                        dataClassList.addClass(dataClass);
82
                        begin = end;
83
                        end += distance;
84
                }
85
                return dataClassList;
86
        }
87
        
88
}