
Produces a raster of random polygons.
These are built with the spread
function internally.
Produces a SpatialPolygons
object with 1 feature that will have approximately
an area equal to hectares
, and a centre at approximately x
randomPolygons(ras = raster(extent(0, 15, 0, 15), res = 1, vals = 0),
numTypes = 2, ...)randomPolygon(x, hectares)
A raster that whose extent will be used for the randomPolygons.
Numeric value. The number of unique polygon types to use.
Other arguments passed to spread. No known uses currently.
Either a SpatialPoints
or matrix with 2 dimensions, 1 row, with
with the approximate centre of the new random polygon to create. If
matrix, then longitude and latitude are assumed (epsg:4326)
A numeric, the approximate area in hectares
of the random polygon.
A map of extent ext
with random polygons.
A SpatialPolygons
object, with approximately the area request,
centred approximately at the coordinates requested.
# NOT RUN {
library(quickPlot)
set.seed(1234)
Ras <- randomPolygons(numTypes = 5)
if (interactive()) {
clearPlot()
Plot(Ras, cols = c("yellow", "dark green", "blue", "dark red"))
}
library(raster)
# more complex patterning, with a range of patch sizes
a <- randomPolygons(numTypes = 400, raster(extent(0, 50, 0, 50), res = 1, vals = 0))
a[a<320] <- 0
a[a>=320] <- 1
suppressWarnings(clumped <- clump(a)) # warning sometimes occurs, but not important
aHist <- hist(table(getValues(clumped)), plot = FALSE)
if (interactive()) {
clearPlot()
Plot(a)
Plot(aHist)
}
library(sp)
b <- SpatialPoints(cbind(-110, 59))
a <- randomPolygon(b, 1e4)
plot(a)
points(b, pch = 19)
# }
Run the code above in your browser using DataLab