WISA.wisa3D.module
Class GridProcessor

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--WISA.wisa3D.module.DataProcessor
              |
              +--WISA.wisa3D.module.GridProcessor
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener, javax.swing.event.MouseInputListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.lang.Runnable, javax.swing.event.TableModelListener

public class GridProcessor
extends DataProcessor
implements java.awt.event.ActionListener, javax.swing.event.MouseInputListener, javax.swing.event.TableModelListener

Der GridProcessor erzeugt aus einer beliebigen Datenmenge ein neues DataHandle-Objekt, welches in einem dreidimensionalen Gitter dargestellt werden kann. Dabei wird ein counts-in-cells-Algorithmus verwendet um die Daten in das Gitter einzuteilen. Zellen ohne Datenpunkte erhalten eine Kennzeichnung als leere Zellen und erscheinen in der Visualisierung durchsichtig. Dies ermöglicht eine Analyse der Datenlücken. Zellen mit mehreren Datenpunkten werden mit dem arithmetischen Mittel aller enthaltenen Datensätze gefüllt.


Field Summary
 
Fields inherited from class WISA.wisa3D.module.DataProcessor
data, note, okPressed, progress, stop, success
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
GridProcessor()
          Standardkonstruktor.
GridProcessor(visad.Field data)
          Konstruiert einen GridProcessor mit handle als zu bearbeitende Datenmenge.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Standardmethode des ActionListener-Interface.
protected  void computeRanges()
           
protected  visad.MathType createNewMathType()
          Erzeugt einen neuen zur Visualisierung geeigneten MathType aus dem alten MathType.
 java.lang.String[] getInfo()
          Gibt eine kurze Information über die Aufgaben dieses DataProcessors zurück.
 visad.ScalarMap[] getMaps()
          Gibt das für den entsprechenden Processor beste Mapping zurück.
protected  visad.MathType[] guessTypes(visad.MathType[] types)
          Untersucht die übergebenen ScalarTypes auf Zusammengehörigkeiten und gibt daraufhin eine Liste von ScalarTypes zurück die sich zum Rastern eignen würden.
 javax.swing.JDialog makeOptionDialog(java.awt.Frame owner)
          Erzeugt einen Optionsdialog der vor jeder Berechnung automatisch dargestellt wird und für die Berechnung nötige Daten abfrägt.
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void processData()
          Bearbeitet die Datenmenge. processData() erzeugt dabei erst ein dreidimensionales Gitter gemäß den Vorgaben bzw. der Benutzereingaben im Optionen-Dialog.
 void setData(visad.Field data)
           
 void tableChanged(javax.swing.event.TableModelEvent e)
           
protected  void tableUpdate()
           
 
Methods inherited from class WISA.wisa3D.module.DataProcessor
getData, getIcon, getNote, getProcessorName, getProgress, inputNeeded, isDone, okPressed, progressMonitoringDesired, run, setData, stopTask, success
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GridProcessor

public GridProcessor()
Standardkonstruktor.


GridProcessor

public GridProcessor(visad.Field data)
Konstruiert einen GridProcessor mit handle als zu bearbeitende Datenmenge.

Method Detail

setData

public void setData(visad.Field data)

computeRanges

protected void computeRanges()

makeOptionDialog

public javax.swing.JDialog makeOptionDialog(java.awt.Frame owner)
Erzeugt einen Optionsdialog der vor jeder Berechnung automatisch dargestellt wird und für die Berechnung nötige Daten abfrägt. Dies sind die Grenzen des dreidimensionalen Gitters und dessen Auflösung in allen drei Dimensionen.

Overrides:
makeOptionDialog in class DataProcessor

processData

public void processData()
Bearbeitet die Datenmenge. processData() erzeugt dabei erst ein dreidimensionales Gitter gemäß den Vorgaben bzw. der Benutzereingaben im Optionen-Dialog. Danach werden die Datenpunkte des DataHandles auf die Zellen des Gitters verteilt. Als letztes werden die Daten noch normalisiert um schließlich die arithmetischen Mittel zu erhalten.

Specified by:
processData in class DataProcessor

getMaps

public visad.ScalarMap[] getMaps()
Description copied from class: DataProcessor
Gibt das für den entsprechenden Processor beste Mapping zurück. Unterstützt ein Processor diese Funktion nicht, wird null zurückgegeben und Wisa3DFrame sorgt für ein Automapping.

Overrides:
getMaps in class DataProcessor
Returns:
Das Mapping welches die bearbeiteten Daten am besten darstellt oder null.

getInfo

public java.lang.String[] getInfo()
Gibt eine kurze Information über die Aufgaben dieses DataProcessors zurück. Jeder DataProcessor sollte diese Methode überschreiben. Das zurückgegebene String-array enthält im ersten Element den Namen des Autors, im zweiten dessen Email-Adresse, im dritten die aktuelle Versionsnummer und im vierten eine kurze Beschreibung der Aufgaben dieses Moduls.

Overrides:
getInfo in class DataProcessor

tableUpdate

protected void tableUpdate()

createNewMathType

protected visad.MathType createNewMathType()
Erzeugt einen neuen zur Visualisierung geeigneten MathType aus dem alten MathType. Der neue MathType ist dabei ein zur Volumendarstellung im Bezug auf die gridTypes optimierter MathType.

Returns:
Der neu erzeugte MathType.

guessTypes

protected visad.MathType[] guessTypes(visad.MathType[] types)
Untersucht die übergebenen ScalarTypes auf Zusammengehörigkeiten und gibt daraufhin eine Liste von ScalarTypes zurück die sich zum Rastern eignen würden. Dabei werden bekannte Typen wie z.B. Longitude, Latitude, und Altitude gesucht und gegebenenfalls zurückgegeben.

Parameters:
types - Die zu untersuchenden ScalarTypes.
Returns:
Eine Liste der ScalarTypes die sich zum Rastern eignen würden.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Standardmethode des ActionListener-Interface.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

tableChanged

public void tableChanged(javax.swing.event.TableModelEvent e)
Specified by:
tableChanged in interface javax.swing.event.TableModelListener