Boltzmann Entropy of a Landscape Gradient

Calculates the Boltzmann entropy of a landscape gradient. This package uses the analytical method created by Gao, P., Zhang, H. and Li, Z., 2018 () and by Gao, P. and Li, Z., 2019 (). It also extend the original ideas by allowing calculations on data with missing values.


CRANstatus BuildStatus codecov CRAN RStudio mirrordownloads DOI

Boltzmann entropy (also called configurational entropy) has been recently adopted to analyze entropy of landscape gradients (Gao et al. (2017), Gao et al. (2018)). The goal of belg is to provide an efficient C++ implementation of this method in R. It also extend the original idea by allowing calculations on data with missing values.

Installation

You can install the released version of belg from CRAN with:

install.packages("belg")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("Nowosad/belg")

Examples

As an example, we use two small rasters - complex_land representing a complex landscape and simple_land representing a simple landscape:

library(raster)
library(belg)
plot(stack(complex_land, simple_land))

The main function in this package, get_boltzmann, calculates the Boltzmann entropy of a landscape gradient:

get_boltzmann(complex_land)
#> [1] 48.43241
get_boltzmann(simple_land)
#> [1] 18.3818

This function accepts a RasterLayer, RasterStack, RasterBrick, matrix, or array object as an input. It also allows for calculation of the relative (the relative argument equal to TRUE) and absolute Boltzmann entropy of a landscape gradient. As a default, it uses a logarithm of base 10 (log10), however log and log2 are also available options for the base argument.

get_boltzmann(complex_land, base = "log")
#> [1] 111.5198
get_boltzmann(complex_land, relative = TRUE)
#> [1] 35.50168
get_boltzmann(complex_land, base = "log2", relative = TRUE)
#> [1] 117.934

References

  • Gao, Peichao, Hong Zhang, and Zhilin Li. “An efficient analytical method for computing the Boltzmann entropy of a landscape gradient.” Transactions in GIS (2018).
  • Gao, Peichao, Hong Zhang, and Zhilin Li. “A hierarchy-based solution to calculate the configurational entropy of landscape gradients.” Landscape Ecology 32(6) (2017): 1133-1146.

News

belg 0.2.1

  • The first vignette added

belg 0.2.0

  • Support for data with missing values added

belg 0.1.1

  • Solaris compilation fixed

belg 0.1.0

  • NA error check added
  • Negative values are shifted
  • Documentation details updated

belg 0.0.4

  • Working rcpp code added

belg 0.0.0.9000

  • Added a NEWS.md file to track changes to the package

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("belg")

1.0.0 by Jakub Nowosad, 25 days ago


https://r-spatialecology.github.io/belg/


Report a bug at https://github.com/r-spatialecology/belg/issues


Browse source code at https://github.com/cran/belg


Authors: Jakub Nowosad [aut, cre] , Space Informatics Lab [cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports Rcpp

Suggests testthat, sp, raster, covr, knitr, rmarkdown, ggplot2, rasterVis

Linking to Rcpp, RcppArmadillo


See at CRAN