edu.bonn.xulu.plugin.appl
Class RasterCalculatorPanel

java.lang.Object
  extended by OperationTreePanel
      extended by edu.bonn.xulu.plugin.appl.RasterCalculatorPanel

public class RasterCalculatorPanel
extends OperationTreePanel

Diese Klasse stellt eine GUI zur Vefuegung, mit der eine einfache arithmetische (und boolsche) Berechnung auf Rasterdaten durchgefuehrt werden kann. Zudem koennen in die Formel Filter eingebunden werden.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
RasterCalculator, RasterCalculatorPlugin, RasterOperationTree, RasterOperationTreeParser

Field Summary
protected  XuluModellingPlatform appl
          Speichert eine Referenz auf die Xulu-Applikation, in der der Code-Generator ausgefuehrt wird.
static String DEFAULT_FILTER_FILENAME
          Name der Datei, in der die Standard-Filter hinterlegt sind.
static String INFILTER_LABEL
          Konstante fuer das Label zur Tabelle der Eingabe-Filter.
static String INFILTER_TABLE
          Konstante fuer die Tabelle mit der Eingabe-Filter.
protected  MutableTable inputFilterTable
          Tabelle in der die Eingabe-Filter angegeben werden.
protected  MutableTable inputRasterTable
          Tabelle in der die Eingabe-Raster angegeben werden.
static String INRASTER_LABEL
          Konstante fuer das Label zur Tabelle der Eingabe-Raster.
static String INRASTER_TABLE
          Konstante fuer die Tabelle der Eingabe-Raster.
protected  JButton loadDefaultFilterButton
          Butten zum Laden von Standard-Filtern.
static String LOADFILTER_BUTTON
          Konstante fuer den Button zum Laden der Default-Filter.
protected  SelectionInputOption.Combo outputRaster
          Auswahlfeld fuer das Ausgabe-Raster.
static String OUTRASTER_FIELD
          Konstante fuer die ComboBox des Ausgabe-Rasters.
 
Constructor Summary
  RasterCalculatorPanel(XuluModellingPlatform appl)
          Erzeugt eine neue GUI fuer den RasterCalculator.
protected RasterCalculatorPanel(XuluModellingPlatform appl, boolean initGUI)
          Erzeugt eine neue GUI fuer den RasterCalculator.
 
Method Summary
protected  void checkInputsAndError()
          Prueft die in der Maske spezifizierten Angaben auf Korrektheit.
protected  int getParameterCount(String op)
          Liefert die Anzahl an geklammerten Parametern, die ein Operator hat.
protected  void initGUI()
          Initalisiert die GUI des Fensters.
protected  Object performCalculation()
          Erzeugt einen RasterOperationTree aus der Formel und wertet diese aus.
 void refresh()
          Aktualisiert die Auswahl-Felder auf Basis des Datenpools.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_FILTER_FILENAME

public static final String DEFAULT_FILTER_FILENAME
Name der Datei, in der die Standard-Filter hinterlegt sind.

See Also:
Constant Field Values

INRASTER_LABEL

public static final String INRASTER_LABEL
Konstante fuer das Label zur Tabelle der Eingabe-Raster.

See Also:
#layoutConstraints, Constant Field Values

INRASTER_TABLE

public static final String INRASTER_TABLE
Konstante fuer die Tabelle der Eingabe-Raster.

See Also:
#layoutConstraints, Constant Field Values

INFILTER_LABEL

public static final String INFILTER_LABEL
Konstante fuer das Label zur Tabelle der Eingabe-Filter.

See Also:
#layoutConstraints, Constant Field Values

INFILTER_TABLE

public static final String INFILTER_TABLE
Konstante fuer die Tabelle mit der Eingabe-Filter.

See Also:
#layoutConstraints, Constant Field Values

OUTRASTER_FIELD

public static final String OUTRASTER_FIELD
Konstante fuer die ComboBox des Ausgabe-Rasters.

See Also:
#layoutConstraints, Constant Field Values

LOADFILTER_BUTTON

public static final String LOADFILTER_BUTTON
Konstante fuer den Button zum Laden der Default-Filter.

See Also:
#layoutConstraints, Constant Field Values

appl

protected XuluModellingPlatform appl
Speichert eine Referenz auf die Xulu-Applikation, in der der Code-Generator ausgefuehrt wird.


inputRasterTable

protected MutableTable inputRasterTable
Tabelle in der die Eingabe-Raster angegeben werden.


inputFilterTable

protected MutableTable inputFilterTable
Tabelle in der die Eingabe-Filter angegeben werden.


outputRaster

protected SelectionInputOption.Combo outputRaster
Auswahlfeld fuer das Ausgabe-Raster.


loadDefaultFilterButton

protected JButton loadDefaultFilterButton
Butten zum Laden von Standard-Filtern.

Constructor Detail

RasterCalculatorPanel

public RasterCalculatorPanel(XuluModellingPlatform appl)
Erzeugt eine neue GUI fuer den RasterCalculator.

Parameters:
appl - Instanz der Xulu-Applikation, in der der Rechner ausgefuehrt wird

RasterCalculatorPanel

protected RasterCalculatorPanel(XuluModellingPlatform appl,
                                boolean initGUI)
Erzeugt eine neue GUI fuer den RasterCalculator.

Parameters:
appl - Instanz der Xulu-Applikation, in der der Rechner ausgefuehrt wird
initGUI - Flag, ob initGUI() am Ende des Konstruktor aufgerufen werden soll (wenn false muss die explizit durch die Unterklasse erfolgen!)
Method Detail

initGUI

protected void initGUI()
Initalisiert die GUI des Fensters.


refresh

public void refresh()
Aktualisiert die Auswahl-Felder auf Basis des Datenpools.


checkInputsAndError

protected void checkInputsAndError()
Prueft die in der Maske spezifizierten Angaben auf Korrektheit. Ist eine Angabe nicht korrekt, wird ein entsprechender Fehler-Dialog angezeigt.


getParameterCount

protected int getParameterCount(String op)
Liefert die Anzahl an geklammerten Parametern, die ein Operator hat. Erweitert die Methode der Oberklasse um den Operator isNoData(.) und die Filter-Referenz F..

Parameters:
op - Operator
Returns:
1 fuer isNoData und F.., sonst den Wert der super-Methode

performCalculation

protected Object performCalculation()
                             throws Exception
Erzeugt einen RasterOperationTree aus der Formel und wertet diese aus. Das Ergebnis wird in das Ausgabe-Raster geschrieben

Returns:
das Ausgabe-Raster, als WritableGrid-Wert
Throws:
Exception
See Also:
RasterOperationTreeParser