root / org.gvsig.toolbox / trunk / org.gvsig.toolbox / org.gvsig.toolbox.algorithm / src / main / java / es / unex / sextante / gridStatistics / neighborhoodFragmentation / NeighborhoodFragmentationAlgorithm.java @ 59
History | View | Annotate | Download (1.08 KB)
1 | 59 | nbrodin | package es.unex.sextante.gridStatistics.neighborhoodFragmentation; |
---|---|---|---|
2 | |||
3 | import java.util.HashMap; |
||
4 | |||
5 | import es.unex.sextante.core.Sextante; |
||
6 | import es.unex.sextante.gridStatistics.neighborhood.patternBase.PatternBaseAlgorithm; |
||
7 | |||
8 | public class NeighborhoodFragmentationAlgorithm |
||
9 | extends
|
||
10 | PatternBaseAlgorithm { |
||
11 | |||
12 | @Override
|
||
13 | public void defineCharacteristics() { |
||
14 | |||
15 | setName(Sextante.getText("Fragmentation"));
|
||
16 | setGroup(Sextante.getText("Pattern_analysis"));
|
||
17 | super.defineCharacteristics();
|
||
18 | |||
19 | } |
||
20 | |||
21 | |||
22 | @Override
|
||
23 | protected double processValues() { |
||
24 | |||
25 | int i;
|
||
26 | int iCells = 0; |
||
27 | double dValue;
|
||
28 | Double value;
|
||
29 | final HashMap map = new HashMap(); |
||
30 | |||
31 | for (i = 0; i < m_dValues.length; i++) { |
||
32 | dValue = m_dValues[i]; |
||
33 | if (dValue != NO_DATA) {
|
||
34 | iCells++; |
||
35 | value = new Double(dValue); |
||
36 | if (!map.containsKey(value)) {
|
||
37 | map.put(value, "");
|
||
38 | } |
||
39 | } |
||
40 | } |
||
41 | |||
42 | return (((double) map.size() - 1) / ((double) iCells + 1)); |
||
43 | |||
44 | } |
||
45 | } |