From 87d21fa578ce77063f2d228ab248d9dd66f7011a Mon Sep 17 00:00:00 2001 From: John Wilshire Date: Wed, 14 Jun 2017 23:47:18 +1000 Subject: [PATCH 1/4] Added getMinAOO which uses Simulated annealing to determine the optimal shift parameters. --- NAMESPACE | 1 + R/AOO_functions.R | 65 ++++++++++++++++++++++++++++++++++++++------- man/createGrid.Rd | 3 ++- man/getAOO.Rd | 3 ++- man/getAOOSilent.Rd | 3 ++- man/getMinAOO.Rd | 62 ++++++++++++++++++++++++++++++++++++++++++ man/makeAOOGrid.Rd | 3 ++- redlistr.Rproj | 4 +-- 8 files changed, 129 insertions(+), 15 deletions(-) create mode 100644 man/getMinAOO.Rd diff --git a/NAMESPACE b/NAMESPACE index af69102..8c7ab06 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,6 +9,7 @@ export(getArea) export(getAreaChange) export(getAreaEOO) export(getDeclineStats) +export(getMinAOO) export(gridUncertainty) export(gridUncertaintyBase) export(gridUncertaintyRandom) diff --git a/R/AOO_functions.R b/R/AOO_functions.R index aa63603..2e9d4f7 100644 --- a/R/AOO_functions.R +++ b/R/AOO_functions.R @@ -69,15 +69,15 @@ makeAOOGrid <- function (ecosystem.data, grid.size, min.percent.rule = TRUE, per x <- rasterize(xy, grid, fun='count') # returns a 10 * 10 raster where cell value is the number of points in the cell names(x) <- 'count' grid.shp <- rasterToPolygons(x, dissolve=FALSE) - if (min.percent.rule == FALSE){ - outGrid <- grid.shp - } - if (min.percent.rule == TRUE){ + + if (min.percent.rule){ cell.res <- res(ecosystem.data) area <- cell.res[1] * cell.res[2] one.pc.grid <- grid.size * grid.size / 100 # 1pc of grid cell threshold <- one.pc.grid * percent / area outGrid <- grid.shp[grid.shp$count > threshold,] # select only grids that meet one percent threshol + } else { + outGrid <- grid.shp } return (outGrid) } @@ -107,7 +107,6 @@ makeAOOGrid <- function (ecosystem.data, grid.size, min.percent.rule = TRUE, per #' AOO <- getAOO(r1, n, one.percent.rule = F) #' AOO # number of grid cells occupied by an ecosystem or species #' @export - getAOO <- function (ecosystem.data, grid.size, min.percent.rule = TRUE, percent = 1){ # Computes the number of 10x10km grid cells that are >1% covered by an ecosystem AOO.number = length(makeAOOGrid(ecosystem.data, grid.size, min.percent.rule, percent)) @@ -140,15 +139,15 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent x <- rasterize(xy, grid, fun='count') # returns a 10 * 10 raster where cell value is the number of points in the cell names(x) <- 'count' grid.shp <- rasterToPolygons(x, dissolve=FALSE) - if (min.percent.rule == FALSE){ - outGrid <- grid.shp - } - if (min.percent.rule == TRUE){ + + if (min.percent.rule){ cell.res <- res(ecosystem.data) area <- cell.res[1] * cell.res[2] one.pc.grid <- grid.size[1] * grid.size[2] / 100 # 1pc of grid cell threshold <- one.pc.grid * percent / area outGrid <- grid.shp[grid.shp$count > threshold,] # select only grids that meet one percent threshol + } else { + outGrid <- grid.shp } # end getAOO @@ -156,3 +155,51 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent return (AOO.number) } + + +#' Compute the Minimum Area of Occupancy (AOO) +#' +#' \code{getAOO} determines the number of area of occupancy (AOO) grid cells +#' occupied by a species or ecosystem. It includes capability for specifying +#' whether at least one percent of the grid cell needs to be occupied before it +#' is counted in the AOO. This functionality is important for assessing the IUCN +#' Red List of Ecosystems Criteria B. +#' +#' \code{getMinAOO} optimises the placement of the grid so the AOO is the smalest +#' possible. It does this using \code{optim} with method SANN, it can take a couple of minutes to run. +#' +#' @inheritParams makeAOOGrid +#' @param trace If TRUE, tracing information on the progress of the optimisation is produced. +#' @return The number of grid cells occupied by the ecosystem or species +#' @author Nicholas Murray \email{murr.nick@@gmail.com}, Calvin Lee +#' \email{calvinkflee@@gmail.com}, +#' John Wilshire \email {john.h.wilshire@@gmail.com} +#' @family AOO functions +#' @references Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and +#' Rodriguez, J.P. (eds.) 2016. Guidelines for the application of IUCN Red +#' List of Ecosystems Categories and Criteria, Version 1.0. Gland, +#' Switzerland: IUCN. ix + 94pp. Available at the following web site: +#' \url{iucnrle.org/} +#' @examples +#' crs.UTM55N <- '+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs' +#' r1 <- raster(ifelse((volcano<130), NA, 1), crs = crs.UTM55N) #t1 = 1990 +#' ext <- extent(0, 6100, 0, 8700) # set the extent of raster r1, 100m resolution +#' extent(r1) <- ext +#' (getOptimAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species +#' @export +getMinAOO <- function(ecosystem.data, grid.size, + min.percent.rule = TRUE, percent = 1, trace = TRUE) { + grid <- createGrid(ecosystem.data, grid.size) # create the inital grid + objective_fun <- function(x) { + getAOOSilent(ecosystem.data, + grid = shift(grid, x = x[1], y = x[2]), + min.percent.rule = min.percent.rule, + percent = percent) + } + optim(c(0, 0), objective_fun, + method = "SANN", + control = list(temp = grid.size, + tmax = 50, + trace = trace)) -> o + o$value +} diff --git a/man/createGrid.Rd b/man/createGrid.Rd index b9c775b..614760b 100644 --- a/man/createGrid.Rd +++ b/man/createGrid.Rd @@ -36,7 +36,8 @@ Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and \code{\link{getRLEReport}} Other AOO functions: \code{\link{getAOOSilent}}, - \code{\link{getAOO}}, \code{\link{makeAOOGrid}} + \code{\link{getAOO}}, \code{\link{getMinAOO}}, + \code{\link{makeAOOGrid}} } \author{ Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee diff --git a/man/getAOO.Rd b/man/getAOO.Rd index bc93910..13bcf3e 100644 --- a/man/getAOO.Rd +++ b/man/getAOO.Rd @@ -45,7 +45,8 @@ Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and } \seealso{ Other AOO functions: \code{\link{createGrid}}, - \code{\link{getAOOSilent}}, \code{\link{makeAOOGrid}} + \code{\link{getAOOSilent}}, \code{\link{getMinAOO}}, + \code{\link{makeAOOGrid}} } \author{ Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee diff --git a/man/getAOOSilent.Rd b/man/getAOOSilent.Rd index fa4bcaf..a461c86 100644 --- a/man/getAOOSilent.Rd +++ b/man/getAOOSilent.Rd @@ -25,7 +25,8 @@ input of the grid parameter. Used for \code{gridUncertainty}. } \seealso{ Other AOO functions: \code{\link{createGrid}}, - \code{\link{getAOO}}, \code{\link{makeAOOGrid}} + \code{\link{getAOO}}, \code{\link{getMinAOO}}, + \code{\link{makeAOOGrid}} } \author{ Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee diff --git a/man/getMinAOO.Rd b/man/getMinAOO.Rd new file mode 100644 index 0000000..3c37796 --- /dev/null +++ b/man/getMinAOO.Rd @@ -0,0 +1,62 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/AOO_functions.R +\name{getMinAOO} +\alias{getMinAOO} +\title{Compute the Minimum Area of Occupancy (AOO)} +\usage{ +getMinAOO(ecosystem.data, grid.size, min.percent.rule = TRUE, percent = 1, + trace = TRUE) +} +\arguments{ +\item{ecosystem.data}{Raster object of an ecosystem or species distribution. +Please use a CRS with units measured in metres.} + +\item{grid.size}{A number specifying the width of the desired grid square (in +same units as your coordiante reference system)} + +\item{min.percent.rule}{Logical. If \code{TRUE}, a minimum area threshold +must be passed before a grid is counted as an AOO grid.} + +\item{percent}{Numeric. The minimum percent to be applied as a threshold for +the \code{min.percent.rule}} + +\item{trace}{If TRUE, tracing information on the progress of the optimisation is produced.} +} +\value{ +The number of grid cells occupied by the ecosystem or species +} +\description{ +\code{getAOO} determines the number of area of occupancy (AOO) grid cells +occupied by a species or ecosystem. It includes capability for specifying +whether at least one percent of the grid cell needs to be occupied before it +is counted in the AOO. This functionality is important for assessing the IUCN +Red List of Ecosystems Criteria B. +} +\details{ +\code{getMinAOO} optimises the placement of the grid so the AOO is the smalest +possible. It does this using \code{optim} with method SANN, it can take a couple of minutes to run. +} +\examples{ +crs.UTM55N <- '+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs' +r1 <- raster(ifelse((volcano<130), NA, 1), crs = crs.UTM55N) #t1 = 1990 +ext <- extent(0, 6100, 0, 8700) # set the extent of raster r1, 100m resolution +extent(r1) <- ext +(getOptimAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species +} +\references{ +Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and + Rodriguez, J.P. (eds.) 2016. Guidelines for the application of IUCN Red + List of Ecosystems Categories and Criteria, Version 1.0. Gland, + Switzerland: IUCN. ix + 94pp. Available at the following web site: + \url{iucnrle.org/} +} +\seealso{ +Other AOO functions: \code{\link{createGrid}}, + \code{\link{getAOOSilent}}, \code{\link{getAOO}}, + \code{\link{makeAOOGrid}} +} +\author{ +Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee + \email{calvinkflee@gmail.com}, + John Wilshire \email {john.h.wilshire@gmail.com} +} diff --git a/man/makeAOOGrid.Rd b/man/makeAOOGrid.Rd index 482411a..73e4b3c 100644 --- a/man/makeAOOGrid.Rd +++ b/man/makeAOOGrid.Rd @@ -45,7 +45,8 @@ Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and } \seealso{ Other AOO functions: \code{\link{createGrid}}, - \code{\link{getAOOSilent}}, \code{\link{getAOO}} + \code{\link{getAOOSilent}}, \code{\link{getAOO}}, + \code{\link{getMinAOO}} } \author{ Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee diff --git a/redlistr.Rproj b/redlistr.Rproj index cba1b6b..205a4cd 100644 --- a/redlistr.Rproj +++ b/redlistr.Rproj @@ -2,7 +2,7 @@ Version: 1.0 RestoreWorkspace: No SaveWorkspace: No -AlwaysSaveHistory: Default +AlwaysSaveHistory: No EnableCodeIndexing: Yes UseSpacesForTab: Yes @@ -17,5 +17,5 @@ StripTrailingWhitespace: Yes BuildType: Package PackageUseDevtools: Yes -PackageInstallArgs: --no-multiarch --with-keep.source +PackageInstallArgs: --no-multiarch --with-keep.source --preclean PackageRoxygenize: rd,collate,namespace From 6cb84b54db3e44fe13d036514df0737c05d6d287 Mon Sep 17 00:00:00 2001 From: Calvin Lee Date: Thu, 15 Jun 2017 13:07:08 +1000 Subject: [PATCH 2/4] Modify getMinAOO Added parscale that scales with grid.size and maxit. --- R/AOO_functions.R | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/R/AOO_functions.R b/R/AOO_functions.R index 2e9d4f7..0cda5c2 100644 --- a/R/AOO_functions.R +++ b/R/AOO_functions.R @@ -165,15 +165,17 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent #' is counted in the AOO. This functionality is important for assessing the IUCN #' Red List of Ecosystems Criteria B. #' -#' \code{getMinAOO} optimises the placement of the grid so the AOO is the smalest -#' possible. It does this using \code{optim} with method SANN, it can take a couple of minutes to run. +#' \code{getMinAOO} optimises the placement of the grid so the AOO is the +#' smalest possible. It does this using \code{optim} with method SANN, it can +#' take a couple of minutes to run. #' #' @inheritParams makeAOOGrid -#' @param trace If TRUE, tracing information on the progress of the optimisation is produced. +#' @param trace If TRUE, tracing information on the progress of the optimisation +#' is produced. #' @return The number of grid cells occupied by the ecosystem or species #' @author Nicholas Murray \email{murr.nick@@gmail.com}, Calvin Lee -#' \email{calvinkflee@@gmail.com}, -#' John Wilshire \email {john.h.wilshire@@gmail.com} +#' \email{calvinkflee@@gmail.com}, John Wilshire +#' \email{john.h.wilshire@@gmail.com} #' @family AOO functions #' @references Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and #' Rodriguez, J.P. (eds.) 2016. Guidelines for the application of IUCN Red @@ -187,6 +189,7 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent #' extent(r1) <- ext #' (getOptimAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species #' @export + getMinAOO <- function(ecosystem.data, grid.size, min.percent.rule = TRUE, percent = 1, trace = TRUE) { grid <- createGrid(ecosystem.data, grid.size) # create the inital grid @@ -198,8 +201,10 @@ getMinAOO <- function(ecosystem.data, grid.size, } optim(c(0, 0), objective_fun, method = "SANN", - control = list(temp = grid.size, + control = list(parscale = c(grid.size/20, grid.size/20), + temp = grid.size, tmax = 50, - trace = trace)) -> o + trace = trace, + maxit = 500)) -> o o$value } From 9441078e1fbd544fedb3bc662b2e7a7de4edfe75 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 15 Jun 2017 14:43:29 +1000 Subject: [PATCH 3/4] optim -> constrOptim --- R/AOO_functions.R | 32 ++++++++++++++++++++++---------- man/getMinAOO.Rd | 13 +++++++------ 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/R/AOO_functions.R b/R/AOO_functions.R index 0cda5c2..ebd8590 100644 --- a/R/AOO_functions.R +++ b/R/AOO_functions.R @@ -166,8 +166,7 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent #' Red List of Ecosystems Criteria B. #' #' \code{getMinAOO} optimises the placement of the grid so the AOO is the -#' smalest possible. It does this using \code{optim} with method SANN, it can -#' take a couple of minutes to run. +#' smalest possible. It does this using \code{constrOptim} with method SANN. #' #' @inheritParams makeAOOGrid #' @param trace If TRUE, tracing information on the progress of the optimisation @@ -187,7 +186,7 @@ getAOOSilent <- function (ecosystem.data, grid, min.percent.rule = TRUE, percent #' r1 <- raster(ifelse((volcano<130), NA, 1), crs = crs.UTM55N) #t1 = 1990 #' ext <- extent(0, 6100, 0, 8700) # set the extent of raster r1, 100m resolution #' extent(r1) <- ext -#' (getOptimAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species +#' (getMinAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species #' @export getMinAOO <- function(ecosystem.data, grid.size, @@ -199,12 +198,25 @@ getMinAOO <- function(ecosystem.data, grid.size, min.percent.rule = min.percent.rule, percent = percent) } - optim(c(0, 0), objective_fun, - method = "SANN", - control = list(parscale = c(grid.size/20, grid.size/20), - temp = grid.size, - tmax = 50, - trace = trace, - maxit = 500)) -> o + + ub <- grid.size + lb <- 0 + ci <- c(lb, lb, -ub, -ub) + ui <- matrix(c(1, 0, -1, 0, + 0, 1, 0, -1), ncol = 2) + start <- runif(2, min = 0, max = grid.size) + constrOptim(start, + objective_fun, + method = "SANN", + ui = ui, + ci = ci, + grad = NULL, + control = list( + temp = grid.size, + tmax = 50, + maxit = 500, + parscale = c(grid.size, grid.size), + trace = trace) + ) -> o o$value } diff --git a/man/getMinAOO.Rd b/man/getMinAOO.Rd index 3c37796..35ec847 100644 --- a/man/getMinAOO.Rd +++ b/man/getMinAOO.Rd @@ -20,7 +20,8 @@ must be passed before a grid is counted as an AOO grid.} \item{percent}{Numeric. The minimum percent to be applied as a threshold for the \code{min.percent.rule}} -\item{trace}{If TRUE, tracing information on the progress of the optimisation is produced.} +\item{trace}{If TRUE, tracing information on the progress of the optimisation +is produced.} } \value{ The number of grid cells occupied by the ecosystem or species @@ -33,15 +34,15 @@ is counted in the AOO. This functionality is important for assessing the IUCN Red List of Ecosystems Criteria B. } \details{ -\code{getMinAOO} optimises the placement of the grid so the AOO is the smalest -possible. It does this using \code{optim} with method SANN, it can take a couple of minutes to run. +\code{getMinAOO} optimises the placement of the grid so the AOO is the +smalest possible. It does this using \code{constrOptim} with method SANN. } \examples{ crs.UTM55N <- '+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs' r1 <- raster(ifelse((volcano<130), NA, 1), crs = crs.UTM55N) #t1 = 1990 ext <- extent(0, 6100, 0, 8700) # set the extent of raster r1, 100m resolution extent(r1) <- ext -(getOptimAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species +(getMinAOO(r1, grid.size = 1000) -> AOO) # number of grid cells occupied by an ecosystem or species } \references{ Bland, L.M., Keith, D.A., Miller, R.M., Murray, N.J. and @@ -57,6 +58,6 @@ Other AOO functions: \code{\link{createGrid}}, } \author{ Nicholas Murray \email{murr.nick@gmail.com}, Calvin Lee - \email{calvinkflee@gmail.com}, - John Wilshire \email {john.h.wilshire@gmail.com} + \email{calvinkflee@gmail.com}, John Wilshire + \email{john.h.wilshire@gmail.com} } From 35d197245b5d537bc1bdcc349b7c6ea9948e849b Mon Sep 17 00:00:00 2001 From: Calvin Lee Date: Thu, 15 Jun 2017 14:52:31 +1000 Subject: [PATCH 4/4] Add sample data and readme --- Data/Victoria mangrove pixels.tif | Bin 0 -> 5066129 bytes Data/readme.txt | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 Data/Victoria mangrove pixels.tif create mode 100644 Data/readme.txt diff --git a/Data/Victoria mangrove pixels.tif b/Data/Victoria mangrove pixels.tif new file mode 100644 index 0000000000000000000000000000000000000000..adc1101aa44b8df7fffca56e0edbe192d736116b GIT binary patch literal 5066129 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