Open Source Approach to Urban Growth Simulation

Anna Petrasova, Vaclav Petras, Derek Van Berkel, Brendan Harmon, Helena Mitasova and Ross Meentemeyer

Center for Geospatial Analytics at North Carolina State University

July 2016


Urban growth models

simulating the future scenarios

Urban growth models: challenges

Can we understand the behavior of the model?
Can we make sure it is working as described?


FUTure Urban-Regional Environment Simulation
  • stochastic, patch-based land change model
  • simulates urban growth
  • accounts for location, quantity,
    and pattern of change
  • positive feedbacks (new development
    attracts more development)
  • allows spatial non-stationarity

FUTURES highlights

  • realistic spatial pattern
  • modular
  • transparent
  • open source (+ dependencies)


  • multilevel logistic regression for development suitability accounts for variation among subregions (for example policies in different counties)
  • inputs are uncorrelated predictors (distance to roads and development, slope, ...)


  • estimates the rate of per capita land consumption for each subregion
  • extrapolates between historical changes in population and land conversion
  • inputs are historical landuse, population data, population projection


  • stochastic algorithm
  • converts land in discrete patches
  • inputs are patch characteristics (distribution of patch sizes and compactness) derived from historical data

Open source FUTURES

To go beyond experimental prototype we needed to make FUTURES:

  • more efficient and scalable
  • as easy to use as possible for a wider audience
  • open source and maintainable in the long run

⇒ new FUTURES GRASS GIS add-on r.futures


For model developers:

  • modular architecture: modules in C/C++ and Python
  • all needed GIS functions at hand
  • efficient I/O libraries
  • able to process large datasets
  • automatically generated CLI and GUI
  • infrastructure for online manual pages
  • daily compiled binaries for Windows
    (thanks to M. Landa, FCE CTU in Prague)
  • maintained by community and developers


For model users:

  • multiplatform
  • graphical user interface
  • scriptable (Bash, Python, R)
  • easy installation:
             > g.extension r.futures
  • available suite of tools for further analyses and visualization (spatio-temporal analyses, animations)


r.futures: GUI

r.futures: CLI

r.futures.pga -s subregions=counties developed=urban_2011 \
   output=final demand=demand.csv discount_factor=0.1 compactness_mean=0.1 \
   predictors=road_dens_perc,forest_smooth_perc,dist_to_water_km,dist_to_protected_km \
   devpot_params=potential.csv development_pressure=devpressure_0_5 \
   n_dev_neighbourhood=30 gamma=0.5 patch_sizes=patches.txt num_neighbors=4 output=final

r.futures: TUI

TUI: Tangible User Interface

Tangible Landscape

Tangible Landscape couples a digital and a physical model through a continuous cycle of 3D scanning, geospatial modeling, and projection

Tangible Landscape: applications

FUTURES: tutorials

FUTURES: references

Thank you!