Git Product home page Git Product logo

ncsu-landscape-dynamics / grass_futures Goto Github PK

View Code? Open in Web Editor NEW
22.0 11.0 13.0 6.55 MB

Urban growth model designed to capture the spatial structure of future development

Home Page: https://cnr.ncsu.edu/geospatial/research/landscape-forecasting/futures/

License: GNU General Public License v2.0

Shell 0.50% Makefile 0.50% HTML 13.52% Python 39.16% C 46.32%
urbanization grass-gis grass-gis-addons simulation

grass_futures's Introduction

FUTURES in GRASS GIS

This is a repository for FUTURES model as GRASS GIS r.futures module.

Installation

To get the officially released version first install GRASS GIS (http://grass.osgeo.org/) and then install r.futures modules from GRASS Addons using GUI (Settings -> Addons extensions -> Install extension from addons) or the following command:

g.extension r.futures

You will also need these additional addons:

g.extension r.sample.category
g.extension r.object.geometry

To run r.futures.potential, you also need R (>= 3.5.0) and R packages MuMIn, lme4, optparse. Once you install R, run in R:

install.packages(c("MuMIn", "lme4", "optparse"))

Optionally, install SciPy to be used for certain parameters in r.futures.demand:

pip install scipy

See notes for specific platforms.

Ubuntu Linux

Install GRASS GIS from packages:

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install grass

Install R from packages, minimum version is 3.5.0. Install SciPy using pip.

Windows

It is recommended to first install R and then GRASS GIS, so that GRASS knows where to find R executables, because typically they are not on your PATH.

Use OSGeo4W package manager and install the latest stable GRASS GIS 7 version and the SciPy Python package using the Advanced install option. A guide with step by step screen shot instructions is available here.

Mac OS

Install latest stable GRASS GIS from downloads page and follow the instruction.

About this repository

This repository is the primary repository for development of GRASS GIS version of FUTURES model implementation.

If you want to use latest tested code, use the version in GRASS GIS Addons Subversion repository which is installable using g.extension in GRASS GIS and the code is available at:

The corresponding documentation is available at:

If you want the latest code with ongoing development (which might be possibly broken) use this repository.

The code which goes to GRASS GIS Addons is in the r.futures directory.

If you are a FUTURES developer and you are updating the version in GRASS GIS Addons, use the script copy_to_grass_addons.sh.

If you are a FUTURES developer and you completely synced the version in this repository and in Addons, create a Git tag using create_tag_synced.sh script.

How to cite

If you cite FUTURES as a model concept, please use [1]. If you are referring to the actual software, also use [2]. For example: ... we projected urban growth using FUTURES model (Meentemeyer et al, 2013) implemented as GRASS GIS r.futures addon (Petrasova et al, 2016) version 1.0.0 ...

[1] Meentemeyer, R. K., Tang, W., Dorning, M. A., Vogler, J. B., Cunniffe, N. J., & Shoemaker, D. A. (2013). FUTURES: Multilevel Simulations of Emerging Urban–Rural Landscape Structure Using a Stochastic Patch-Growing Algorithm. Annals of the Association of American Geographers, 103(4), 785–807. http://doi.org/10.1080/00045608.2012.707591

[2] Petrasova, A., Petras, V., Van Berkel, D., Harmon, B. A., Mitasova, H., & Meentemeyer, R. K. (2016). Open Source Approach To Urban Growth Simulation. Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci., XLI-B7(July), 953–959. http://doi.org/10.5194/isprsarchives-XLI-B7-953-2016

See the FUTURES website for list of publications.

Authors

  • Ross K. Meentemeyer
  • Wenwu Tang
  • Monica A. Dorning
  • John B. Vogler
  • Nik J. Cunniffe
  • Douglas A. Shoemaker
  • Jennifer A. Koch
  • Vaclav Petras
  • Anna Petrasova

Maintainers: Anna Petrasova, Vaclav Petras

License

Copyright (C) 2013-2020 Meentemeyer et al.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See the LICENSE file for details.

FAQs

See FAQs page

grass_futures's People

Contributors

madorning avatar petrasovaa avatar wenzeslaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grass_futures's Issues

Fix CI

R needs to be upgraded to >= 4.2.0

r.futures.demand: MatplotlibDeprecationWarning

/home/akratoc/.grass7/addons/scripts/r.futures.demand:278: MatplotlibDeprecationWarning: Passing non-integers as three-element position specification is deprecated since 3.3 and will be removed two minor releases later.
ax = fig.add_subplot(n_plots, n_plots, i)

Questions for the number of demand

After I used the PGA sub-model to simulation growth of urban, I counted the number of new pathes. However, I found the new growth pathes' quantity is over or less the number in demand.csv. The pga-manuals said " PGA continues to grow patches until the per capita land demand is satisfied." Did my error operations cause this different?

gamma or alpha

We have to decide if we want to use gamma [1] or alpha [2] for the gravity model. Minor issue, but must be resolved.

[1] Meentemeyer, R. K., Tang, W., Dorning, M. a., Vogler, J. B., Cunniffe, N. J., & Shoemaker, D. a. (2012). FUTURES: Multilevel Simulations of Emerging Urban–Rural Landscape Structure Using a Stochastic Patch-Growing Algorithm. Annals of the Association of American Geographers, (October 2012), 121004082925004. doi:10.1080/00045608.2012.707591

[2] Dorning, M. A., Koch, J., Shoemaker, D. A., & Meentemeyer, R. K. (2015). Simulating urbanization scenarios reveals tradeoffs between conservation planning strategies. Landscape and Urban Planning, 136, 28–39. doi:10.1016/j.landurbplan.2014.11.011

Create, decide and describe a way to publish documentation

Currently, a gh-pages branch exists which causes public pages to appear at http://ncsu-landscape-dynamics.github.io/GRASS_FUTURES. The content is generated by few scripts. The last release documentation is atogether with code in GRASS GIS addons and the documentation for all addons goes online. If this will work well with multiple modules (e.g. r.futures.pga, r.futures.patches), the gh-pages would be just for internal/developer use and devs can look at them, although in worse form, in the repository, different versions online can cause confusion or other unwanted effects especially if the documented code was not yet published.

I see the following options:

  • remove gh-pages branch
    • common users have the docs which comes with GRASS modules
    • devs have to deal with not having online doc
  • update gh-pages branch carefully to publish only what should be publish
    • a "release branch" can be used to ensure "careful" (this requires addition work, see also next option)
  • say that everything in master can be already public
    • supposing that gh-pages branch will be anyway updated only from master (although other solutions might have some advantages)
    • in the case of public master, it would make sense to have public repository with this master branch and have "topic" branches connected to different repositories (this requires addition work and it this is out of scope of this issue)
  • create repository which will serve mainly for the pages
    • this can be combined with the two previous options but has the same disadvantage of additional work (moving more things around when we are already publishing releases trough GRASS repository)
    • repository might be created anyway to provide public way to report issues and perhaps also a wiki (also out of scope of this issue)

Can not install <pga> package

All other sub-Addons of FUTURES are successfully installed, only r.futures.pga fails to be installed, and the error messages show "[10060] A connection attempt failed because the connecting party did not properly reply after a period of time or the connected host became unresponsive."
By the way, My GRASS GIS version is 7.8.

A current statement is that a new Addon called r.futures.simulation replaces the .pga, so I have to update the sofeware version to 8.2 to install the r.futures.simulation and then, install pga pachage?

scaling factor unnecessary?

Development pressure requires scaling factor. It is just a multiplier. It's not in the FUTURES paper. Does anybody know more about it? It seems to me we can get rid of it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.