|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectAbstractNamedObject
edu.bonn.xulu.model.AbstractXuluModel
edu.bonn.xulu.model.AbstractStepModel
edu.bonn.xulu.plugin.model.ca.MultiCellularAutomaton
public abstract class MultiCellularAutomaton
Dieses Modell stellt einen abstrakten zellularen Automaten (CA) dar, der auf Basis einer Bewertungsfunktion die Expansion eines LUC-Typs simuliert. Es basiert auf folgenden Ressourcen:
CAArea
), die die Startkonfiguration
des CA definiert (Siedlungen mit Einwohnerzahlen)int
), dessen Ausbreitung simuliert wirdint
) der zu modellierender SchritteWritableGrid
) mit der initialen LUCWritableGrid
), in dem vom Modell die Zuordnung
der simulierten U-Zellen zu den Regionen hinterlegt werden kannWritableGrid
)int
), ab welche Eignungswert eine Zelle
fuer den LUC-Typ U geeignet istgetPreferenceValue(Point,int,CAArea,int)
). Alle fuer U in Frage kommenden
Zellen werden (samt dem Bewertungswert) in einer (sortierten) Liste gespeichert.
Nachdem alle Zellen im Rand betrachtet wurden, werden (reihum) solange die
geeignetsten umgewandelt, bis der Bedarf gedeckt ist.
Nested Class Summary | |
---|---|
static class |
MultiCellularAutomaton.CAContentManager
Diese Klasse definiert einen ModelContentManager fuer einen
Multi-Zellularen-Automat mit folgenden
Ressourcen:
StepCount (int )Spezifiziert die Anzahl zu modellierender Schritte. |
Field Summary | |
---|---|
protected int |
areaCount
Anzahl der modellierten Gebiete/Siedlungen. |
protected WritableGrid |
areaMapping
Speichert die Zuordnung, welche Zelle welcher Area zugeordnet wurde. |
protected ListPropertyWriteAccess |
areas
Die modellierten Gebiete/Siedlungen (@linkplain CAArea Areas). |
static int |
BASE_RESCOUNT
Anzahl an Ressourcen, die durch diese Modell-Oberklasse definiert sind. |
protected WritableGrid |
baseLUC
Ausgangs-Szenario. |
protected double |
cellSize
Speichert die Groesse (in qm) eine Zelle des Untersuchungsgebiets. |
protected double |
luccThreshold
Schwellwert der Praeferenzfunktion
ab dem eine Zelle fuer einen potentiellen LUC-Wechsel in Betracht gezogen wird. |
protected int |
luccType
LUC-Typ fuer den die Wechsel modelliert werden. |
protected int[][] |
NEIGHBORHOOD_AREA
Definiert die Nachbarschaftsumgebung, ueber die der zellulare Automat expandiert. |
protected WritableGrid |
outLUC
Ausgabe-Raster. |
Fields inherited from class edu.bonn.xulu.model.AbstractStepModel |
---|
stepCount |
Fields inherited from class edu.bonn.xulu.model.AbstractXuluModel |
---|
contManager, disposed, events, initialised, listeners, modelResourceProvider, running, statusOut, stopped |
Constructor Summary | |
---|---|
MultiCellularAutomaton(MultiCellularAutomaton.CAContentManager cm)
Erzeugt einen neuen zellularen Automaten (CA). |
Method Summary | |
---|---|
protected void |
cellChanged(Point p,
CAArea area,
int newLUC,
int prevLUC)
Macht nichts. |
abstract double |
getPreferenceValue(Point p,
int luc,
CAArea area,
int areaNo)
Bewertet eine Zelle des Untersuchungsgebiets hinsichtlich eines bestimmten LUC-Typs. |
void |
performModelDispose()
Zerstoert das Modell. |
void |
performModelInit()
Initialisiert das Modell. |
void |
performModelStep(int stepNo)
Modelliert genau einen Zeitschritt. |
Methods inherited from class edu.bonn.xulu.model.AbstractStepModel |
---|
fireModelStepFinished, fireModelStepStarted, getStepCount, performModelStart |
Methods inherited from class edu.bonn.xulu.model.AbstractXuluModel |
---|
addModelListener, checkBreakingCommands, determineCaption, disposeModel, fireModelDisposed, fireModelEvent, fireModelInitialised, fireModelStarted, fireModelStopped, getContentManager, getEvents, getModelSpecificGUI, getResourceProvider, getStatusOut, initModel, isDisposed, isInitialised, isRunning, isStopped, performError, releaseAccess, removeModelListener, resetCaptions, setStatusOut, startModelling, stopModelling |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface edu.bonn.xulu.model.XuluModel |
---|
addModelListener, disposeModel, getContentManager, getEvents, getModelSpecificGUI, getResourceProvider, getStatusOut, initModel, isDisposed, isInitialised, isRunning, isStopped, performError, removeModelListener, setStatusOut, startModelling, stopModelling |
Field Detail |
---|
public static final int BASE_RESCOUNT
protected WritableGrid baseLUC
protected WritableGrid outLUC
outLUC = baseLUC
.
protected int areaCount
protected ListPropertyWriteAccess areas
protected WritableGrid areaMapping
protected int luccType
CAArea
,
so dass pro Gebiet/Siedlung unterschiedliche LUC-Typen expandiert werden
koennen.
protected double luccThreshold
Praeferenzfunktion
ab dem eine Zelle fuer einen potentiellen LUC-Wechsel in Betracht gezogen wird.CAArea
,
so dass pro Gebiet/Siedlung unterschiedliche Schwellwerte verwendet werden
koennen.
protected double cellSize
protected int[][] NEIGHBORHOOD_AREA
NEIGHBORHOOD_AREA[i,0]
definiert die relative horizontale
Position der i-ten Nachbarschaftszelle (z.B. 1 = eine Zelle weiter rechts,
-2 = zwei zellen weiter links als die betrachtete Zelle).NEIGHBORHOOD_AREA[i,1]
definiert die relative vertikale
Position der i-ten Nachbarschaftszelle (z.B. 0 = gleiche Hoehe wie die betrachtete
Zelle, 1 = eine Zelle weiter unten).NEIGHBORHOOD_AREA[i] = (0,0)
wuerde die betrachtete Zelle,
als einen ihrer eigenen Nachbarn identifizieren! Dies ist nicht sinnvoll
und wird vom zellularen Automaten abgefangen!
Constructor Detail |
---|
public MultiCellularAutomaton(MultiCellularAutomaton.CAContentManager cm)
cm
- ContentManager fuer den CA.Method Detail |
---|
public void performModelInit()
performModelInit
in class AbstractXuluModel
public void performModelDispose()
performModelDispose
in class AbstractXuluModel
public void performModelStep(int stepNo)
performModelStep
in interface StepModel
performModelStep
in class AbstractStepModel
stepNo
- Nummer des Zeitschrittsprotected void cellChanged(Point p, CAArea area, int newLUC, int prevLUC)
p
- Raster-Koordinaten der umgewandelten Zellearea
- Gebiet dem die Zelle zugeordnet wurdenewLUC
- LUC-Typ, der der Zelle zugeordnet wurdeprevLUC
- LUC-Typ, den die Zelle zuvor hattepublic abstract double getPreferenceValue(Point p, int luc, CAArea area, int areaNo)
luc
.
p
- Zelle des Untersuchungsgebietsluc
- LUC-Typ hinsichtlich dessen die Bewertung durchgefuehrt wirdarea
- CA-Gebiet fuer das die Bewertung durchgefuehrt wirdareaNo
- Nummer des Gebiets
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |