edu.bonn.xulu.plugin.model.sleuth
Class UrbanGrowthModelCalibration
java.lang.Object
AbstractNamedObject
edu.bonn.xulu.model.AbstractXuluModel
edu.bonn.xulu.model.AbstractStepModel
edu.bonn.xulu.plugin.model.sleuth.UrbanGrowthModel
edu.bonn.xulu.plugin.model.sleuth.UrbanGrowthModelCalibration
- All Implemented Interfaces:
- StepModel, XuluModel
- Direct Known Subclasses:
- UrbanGrowthModelCalibrationSelfModification
public class UrbanGrowthModelCalibration
- extends UrbanGrowthModel
Calibration of the Urban Growth Model
This model is based on the Urban Growth Model
, developed by Keith Clarke at the UC Santa Barbara, CA, within the Gigalopolis Project, funded by the
USGS. It has exactly the same growth rules as its parent class, but runs with n Monte-Carlo Iterations. So the resulting map does not contain the urban extent after a model
run, but the probability for new urbanization. The more often a cell has been selected for urbanization during the Monte-Carlo Iterations, the higher is that value in the
output map. The model performs this procedure for every combination of the different coefficients. There is not a single coefficient value as in the original model, but a starting
value, a step value and an end value. So, when starting with a coefficient of 5, a step value of 10 and an end value of 25, the model will perform 3 steps (for 5, 15, and 25). Be
aware that entering many steps for many coefficients will result in a huge amount of possible combinations. Therefore the calibration should be performed sequential from a coarse
calibration over a fine calibration to a final calibration. The perforamce of the different model runs is measured by the Multiple Resolution Comparison
.
This validation procedure has been adopted for this class and is integrated in a separate method. The original SLEUTH Urban Growth Model is calibrated by a different procedure.
For a detailed description refer to Urban Growth Model
, Urban Growth Model MC
or
Multiple Resolution Comparison
In addition to the UGM parameters, these parameters are needed:
- Spread Start: Spread Starting Coefficient
- Spread Step: Spread Step Coefficient
- Spread End: Spread End Coefficient
- Dispersion Start: Dispersion Starting Coefficient
- Dispersion Step: Dispersion Step Coefficient
- Dispersion End: Dispersion End Coefficient
- Breed Start: Breed Starting Coefficient
- Breed Step: Breed Step Coefficient
- Breed End: Breed End Coefficient
- RoadGravity Start: RoadGravity Starting Coefficient
- RoadGravity Step: RoadGravity Step Coefficient
- RoadGravity End: RoadGravity End Coefficient
- Slope Start: Slope Starting Coefficient
- Slope Step: Slope Step Coefficient
- Slope End: Slope End Coefficient
- Monte Carlo Iterations: The number of Monte Carlo Iterations.
- Sum Step Results: List of resulting maps containing the sums over all Monte Carlo Iterations for a single parameter combination.
- Version:
- 1.1
- Author:
- Roland Goetzke
- See Also:
UrbanGrowthModelCalibrationContentManager
,
UrbanGrowthModel
,
UrbanGrowthModel_MC
Fields inherited from class edu.bonn.xulu.plugin.model.sleuth.UrbanGrowthModel |
areaHeight, areaMaxX, areaMaxY, areaMinX, areaMinY, areaRestr, areaWidth, breed, disp, disp_value, inputGrid, max_RG_value, max_search_index, NEIGHBOR, outputGrid, outStep, RA_areaRestr, RA_breed, RA_disp, RA_inputGrid, RA_roadGravity, RA_roadGrid, RA_slope, RA_slopeGrid, RA_spread, RA_steps, rg_value, roadGravity, roadGrid, slope, slopeGrid, slopeLUT, spread, steps, WA_outputGrid, WA_outStep |
Methods inherited from class edu.bonn.xulu.plugin.model.sleuth.UrbanGrowthModel |
BreedGrowth, calculateNeighbors, countSetIndividuals, countTempUrbanCells, DispersionGrowth, EdgeGrowth, getSlopeExp, getSlopeLookup, getSlopeMax, getSlopeValue, RoadGrowth, roadWalk, writeToGrid |
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 |
RA_referenceMap
protected PropertyReadAccess RA_referenceMap
RA_spreadStart
protected PropertyReadAccess RA_spreadStart
RA_spreadStep
protected PropertyReadAccess RA_spreadStep
RA_spreadEnd
protected PropertyReadAccess RA_spreadEnd
RA_dispStart
protected PropertyReadAccess RA_dispStart
RA_dispStep
protected PropertyReadAccess RA_dispStep
RA_dispEnd
protected PropertyReadAccess RA_dispEnd
RA_breedStart
protected PropertyReadAccess RA_breedStart
RA_breedStep
protected PropertyReadAccess RA_breedStep
RA_breedEnd
protected PropertyReadAccess RA_breedEnd
RA_roadGravityStart
protected PropertyReadAccess RA_roadGravityStart
RA_roadGravityStep
protected PropertyReadAccess RA_roadGravityStep
RA_roadGravityEnd
protected PropertyReadAccess RA_roadGravityEnd
RA_slopeStart
protected PropertyReadAccess RA_slopeStart
RA_slopeStep
protected PropertyReadAccess RA_slopeStep
RA_slopeEnd
protected PropertyReadAccess RA_slopeEnd
RA_criticalSlope
protected PropertyReadAccess RA_criticalSlope
RA_MonteCarlo
protected PropertyReadAccess RA_MonteCarlo
WA_outResults
protected ListPropertyWriteAccess WA_outResults
WA_SumOutStep
protected PropertyWriteAccess WA_SumOutStep
referenceMap
protected WritableGrid referenceMap
spreadStart
protected double spreadStart
spreadStep
protected double spreadStep
spreadEnd
protected double spreadEnd
dispStart
protected double dispStart
dispStep
protected double dispStep
dispEnd
protected double dispEnd
breedStart
protected double breedStart
breedStep
protected double breedStep
breedEnd
protected double breedEnd
roadGravityStart
protected double roadGravityStart
roadGravityStep
protected double roadGravityStep
roadGravityEnd
protected double roadGravityEnd
slopeStart
protected double slopeStart
slopeStep
protected double slopeStep
slopeEnd
protected double slopeEnd
criticalSlope
protected double criticalSlope
MonteCarlo
protected int MonteCarlo
outResults
protected ListPropertyWriteAccess outResults
SumOutStep
protected MultiGrid SumOutStep
years
protected int years
neighborhoodRange
protected int neighborhoodRange
numSteps
protected int numSteps
resultArray
protected float[][] resultArray
mrvTempResultArray
protected float[] mrvTempResultArray
finalArray
protected float[] finalArray
UrbanGrowthModelCalibration
public UrbanGrowthModelCalibration(UrbanGrowthModelCalibrationContentManager contManager)
- First Constructor
- Parameters:
contManager
-
UrbanGrowthModelCalibration
public UrbanGrowthModelCalibration()
- Second Constructor. The Content Manager is the parent content manager as well as the child content manager
performModelInit
public void performModelInit()
- Initializes the model. Like in the init method of every
XuluModel
the resources are initalized.
- Overrides:
performModelInit
in class UrbanGrowthModel
performModelDispose
public void performModelDispose()
- like in every model: frees the resources
- Overrides:
performModelDispose
in class UrbanGrowthModel
performModelStep
public void performModelStep(int stepNo)
- The main method of the Urban Growth Model. For a detailed description refer to the performModelStep in
UrbanGrowthModel
. The difference is, that the number of steps is not based on
the years that have to be modelled. The number of steps is always 1, all parameter combinations, Monte Carlo
Iterations, and time steps are performed within this method. Those combinations are included in different
for-loops.
- Specified by:
performModelStep
in interface StepModel
- Overrides:
performModelStep
in class UrbanGrowthModel
- Parameters:
stepNo
- Nummer des Modellschritts (beginnend bei 1)
MultipleResolutionComparison
public float[] MultipleResolutionComparison(WritableGrid simulationMap)
- MULTIPLE RESOLUTION VALIDATION
When all time steps are run, the result is being evaluated. Therefore the
Multiple Resolution Comparison is chosen (refer to ostanza(1989), Pontius (2002),
Pontius et al. (2005), Lesschen et al. (2005), Pontius et al. (2008a), Pontius et al. (2008b))
For the original SLEUTH model a number of landscape measures are used for validation
(refer to Clarke et al. (1997), Dietzel et al. (2007)), like e.g. the LeeSallee
or OSM. Because the same method (MRV) is used within XULU to compare the results of different models,
it was also chosen to evaluate the performance of the different calibration steps of the Urban Growth Model.