schmitzm.data
Class RasterOperationTreeParser
java.lang.Object
schmitzm.lang.tree.OperationTreeParser
schmitzm.data.RasterOperationTreeParser
public class RasterOperationTreeParser
- extends OperationTreeParser
Diese Klasse stellt einen Parser fuer einen Raster-Operatorbaum
dar. Dieser erstellt einen Raster-Operatorbaum aus einem
Formel-String, der neben den in OperationTreeParser
beschriebenen
Komponenten Raster- und Filter-Referenzen enthalten darf.
Raster-Referenz: RasterOperationTree.RasterReferenceNode
Eine Raster-Referenz wird durch einen int
-Wert dargestellt, der von
einem #
eingeleitet wird (z.B. #0
). Bei der Auswertung des Operatorbaums
(auf einer bestimmten Raster-Koordinate) wird diese Referenz durch den
entsprechenden Zell-Wert des referenzierten Rasters ersetzt.
Filter-Referenz: RasterOperationTree.FilterReferenceNode
Eine Filter-Referenz wird durch einen int
-Wert dargestellt, der von
einem F
eingeleitet wird (z.B. F1(.)
) Die Auswertung eines Filters kann nur
direkt auf einer Raster-Referenz erfolgen, da ansonsten keine zellen-weise
Abarbeitung des Rasters mehr moeglich ist, sondern komplette Raster als
Zwischenergebnisse ausgewertet werden muessten.
Koordinaten-Referenz: X
oder Y
Stellt einen Alias fuer die X- bzw. Y-Koordinate der Rasterzelle dar, die
verarbeitet wird.
NoData: Konstante NoData
und Funktion isNoData(.)
Stellen einen Alias fuer NaN
, bzw. isNaN(.)
dar.
- Version:
- 1.0
- Author:
- Martin Schmitz (University of Bonn/Germany)
Methods inherited from class schmitzm.lang.tree.OperationTreeParser |
checkCorrespondingBrackets, getAdditionOperatorChars, getBooleanOperatorChars, getClosingBracketChars, getCompareOperatorChars, getConnectingOperatorChars, getConstantFromString, getDoubleFromString, getIntFromString, getMaximumOperatorConnectivity, getMultiplyOperatorChars, getOpeningBracketChars, getOperatorChars, getOperatorConnectivity, getParameterSeperatorChars, getStringEncapsulationChars, isAdditionOperator, isBooleanOperator, isClosingBracket, isCompareOperator, isConnectingOperator, isMultiplyOperator, isOpeningBracket, isOperatorChar, isParameterSeperator, isStringEncapsulationChar, nextNonWSToken, parseOperand, parseRule, parseRulePart, pushbackWithWSToken, throwParseError, throwParseError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RasterOperationTreeParser
public RasterOperationTreeParser()
parse
public RasterOperationTree parse(String rule)
- Erstellt einen Raster-Operator-Baum aus einem Formel-String.
- Overrides:
parse
in class OperationTreeParser
- Parameters:
rule
- Formel
parseLiteral
protected BinaryTreeNode parseLiteral()
- Parst das naechste Literal aus dem Tokenizer
OperationTreeParser.tok
.
Erweitert die Funktionalitaet der Oberklasse, so dass neben Konstanten
auch Referenznummern auf ein Raster (eingeleitet durch #
) und
Referenznummern auf einen Filter (eingeleitet durch F
)
angegeben werden koennen. Zudem koennen die Konstanten X
und Y
verwendet werden, um die horizontale und vertikale Raster-Koordinate zu
referenzieren und NoData
, bzw. isNoData(.)
als Alias fuer
NaN
, bzw. isNaN
verwendet werden.
- Overrides:
parseLiteral
in class OperationTreeParser