Landscape change analysis with MOLUSCE - methods and algorithms
Terminology used in this document
- MOLUSCE is a QGIS plugin for Land Use Change Evaluation. MOLUSCE stands for Methods Of Land Use Chande Evaluation. Briefly, tThe plugin performs the following process:
- Takes raster of land use categories for the past time, raster of land use categories for the present time and rasters of explanatory variables or factors.
- Trains a model that predicts land use changes.
- Predicts future land use changes via model, current state of land use and current factors.
- Model is an algorithm that is used for prediction of land use changes (transitions).
- State raster is one-band raster that contains landuse categories encoded in the raster's pixels.
- Input state raster is one-band raster that contains landuse categories of the past. It is an input for used model.
- Factor rasters are rasters of explanatory variables. The rasters can be one-band or multy-band. These are inputs for used model.
- Output state raster is one-band raster that contains landuse categories of the present. It is the desired result of prediction for model (a user trains the model to predict (input raster, factors) -> output raster).
- Transition is a information about land use change. Every change (for example forest -> non-forest) can be viewed as a transition of land use categories (encoded as pixels) from Input state raster to Output state raster.
- Change map is a one-band raster that stores information about transitions.
General structure of the plugin
MOLUSCE consists of several parts. The most important are:
- GUI modules - implement user interface
- Utility modules
- Data Provider - provides procedures for reading/writing raster data and similar utility functions
- Cross Tabulation - provides functions for creating contingency tables
- Sampler - provides sampling procedure
- Algorithmic modules:
- Area Analysis - provides procedures of change searching, making change maps
- Modeling - provides submodules for modeling relation between input-output data
- Simulation - provides procedure of land change simulation
- Validation - provides statistic functions and procedures for validation of simulation result
This manual gives general overview of the modules. The description is valid for structure of plugin version <= 1.x.x
Utility modules
Utility modules are used in many other modules of the plugin. The most important utility modules such as DataProvider and Sampler are discussed in this section.
Data Provider
This module provides data structure for internal storing of raster data. It uses numpy masked arrays as data store. Data Provider provides methods for:
- Creation and storing rasters: reading data from file and manage no-data values, creating new rasters, saving data.
- Access to the data and data manipulation: Read particular raster band, replace a band by new array of pixels, get statistics of raster's bands, normalize the data for particular algorithm, reads geometry and geography related information from the raster variable, etc.
- Comparing geodata objects: check raster sizes, projections and geo transform objects between rasters.
Sampler
Sampler is the module that performs sampling procedure. A sample is a set of input data and corresponding output data that has to be predicted via a model.
A sample contains:
- coordinates of pixel,
- input data (consists of 2 parts):
- state is data that is read from 1-band raster, this raster contains initial states (categories). Categories are splitted into set of dummy variables.
- factors is list of rasters (they can be multiband) that explain transition between states (categories).
- output data is read from 1-band raster, this raster contains final states.
There are several sampling modes:
- "All". This mode allows store all pixels of the input and output rasters.
- "Random". This mode allows store random selected samples: if output raster (target raster) has N pixels, then the every pixel has probability of selection 1/N.
- "Stratified". This mode allows undersampling of major categories and/or oversampling of minor categories. If C is desired count of samples and K is number of output categories, then the sampling procedure select K random groups of pixels of equal size C/K. Every group will contain pixels of one certain category.
Algorithmic modules
Area Analysis
The main purpose of area analysis module is change map calculation. The module uses the next scheme of transition encoding.
Category 1 | Category 2 | ... | Category N | |
Category 1 | 0 | 1 | ... | N -1 |
Category 1 | N | N + 1 | ... | 2N -1 |
... | ... | ... | ... | ... |
Category 1 | (N-1)*N | (N-1)*N + 1 | ... | N*N -1 |