Revision 56 org.gvsig.toolbox/trunk/org.gvsig.toolbox/org.gvsig.toolbox.algorithm/src/es/unex/sextante/gridCalculus/gridCalculator/GridCalculatorAlgorithm.java
GridCalculatorAlgorithm.java | ||
---|---|---|
4 | 4 |
import java.util.ArrayList; |
5 | 5 |
import java.util.HashMap; |
6 | 6 |
import java.util.Iterator; |
7 |
import java.util.List; |
|
7 | 8 |
import java.util.Set; |
8 | 9 |
|
9 | 10 |
import org.nfunk.jep.JEP; |
... | ... | |
39 | 40 |
|
40 | 41 |
IRasterLayer layer; |
41 | 42 |
RasterLayerAndBand layerAndBand; |
42 |
final ArrayList names = new ArrayList();
|
|
43 |
final List<String> names = new ArrayList<String>();
|
|
43 | 44 |
final ArrayList layers = m_Parameters.getParameterValueAsArrayList(LAYERS); |
44 | 45 |
String sFormula = m_Parameters.getParameterValueAsString(FORMULA).toLowerCase(); |
45 |
final ArrayList bands = FormulaParser.getBandsFromFormula(sFormula, layers);
|
|
46 |
final List<RasterLayerAndBand> bands = FormulaParser.getBandsFromFormula(sFormula, layers);
|
|
46 | 47 |
|
47 | 48 |
if (bands == null) { |
48 | 49 |
throw new GeoAlgorithmExecutionException(Sextante.getText("Syntax_error")); |
... | ... | |
65 | 66 |
layerAndBand = (RasterLayerAndBand) bands.get(i); |
66 | 67 |
layer = layerAndBand.getRasterLayer(); |
67 | 68 |
iBands[i] = layerAndBand.getBand(); |
68 |
names.add(layer.getName()); |
|
69 |
String layerName = layer.getName(); |
|
70 |
String normalizedName = FormulaParser.getNormalizedName(layerName); |
|
71 |
sFormula = FormulaParser.replaceVariables(sFormula, layerName, normalizedName); |
|
72 |
names.add(normalizedName); |
|
69 | 73 |
window[i] = layer; |
70 | 74 |
window[i].setWindowExtent(extent); |
71 | 75 |
if ((layer.getDataType() == DataBuffer.TYPE_FLOAT) || (layer.getDataType() == DataBuffer.TYPE_DOUBLE)) { |
... | ... | |
81 | 85 |
sVariable[i] = sVariable[i].replaceAll("\\[", "_"); |
82 | 86 |
sVariable[i] = sVariable[i].replaceAll("\\]", "_"); |
83 | 87 |
sVariable[i] = FormulaParser.replaceDots(sVariable[i]); |
84 |
|
|
88 |
sVariable[i] = FormulaParser.getNormalizedName(sVariable[i]); |
|
89 |
|
|
85 | 90 |
jep.addVariable(sVariable[i], 0.0); |
86 | 91 |
|
87 | 92 |
} |
Also available in: Unified diff