Learn R Programming

fasterRaster (version 8.4.1.0)

fractalRast,GRaster-method: Create fractal raster

Description

fractalRast() creates a raster with a fractal pattern.

Usage

# S4 method for GRaster
fractalRast(x, n = 1, mu = 0, sigma = 1, dimension = 2.05)

Value

A GRaster.

Arguments

x

A GRaster. The output will have the same extent and dimensions as this raster.

n

A numeric integer: Number of rasters to generate.

mu, sigma

Numeric: Mean and sample standard deviation of output.

dimension

Numeric: Fractal dimension. Must be between 2 and 3.

See Also

rSpatialDepRast(), rNormRast(), rUnifRast(), rWalkRast(), GRASS manual page for tool r.surf.fractal (see grassHelp("r.surf.fractal"))

Examples

Run this code
if (grassStarted()) {

# Setup
library(sf)
library(terra)

# Elevation raster
madElev <- fastData("madElev")

# Convert a SpatRaster to a GRaster:
elev <- fast(madElev)

### Create a raster with values drawn from a uniform distribution:
unif <- rUnifRast(elev)
plot(unif)

### Create a raster with values drawn from a normal distribution:
norms <- rNormRast(elev, n = 2, mu = c(5, 10), sigma = c(2, 1))
plot(norms)
hist(norms, bins = 100)

# Create a raster with random, seemingly normally-distributed values:
rand <- rSpatialDepRast(elev, dist = 1000)
plot(rand)

# Values appear normal on first inspection:
hist(rand)

# ... but actually are patterned:
hist(rand, bins = 100)

# Create a fractal raster:
fractal <- fractalRast(elev, n = 2, dimension = c(2.1, 2.8))
plot(fractal)
hist(fractal)

### Random walker rasters

# One random walker
walk <- rWalkRast(elev)
plot(walk)

# Random walker with self-avoidance:
walkAvoid <- rWalkRast(elev, steps = 1000, avoid = TRUE, seed = 1)
plot(walkAvoid)

# 10 random walkers:
walk10 <- rWalkRast(elev, n = 10)
plot(walk10)

# 10 random walkers starting in same place:
walkSame10 <- rWalkRast(elev, n = 10, sameStart = TRUE)
plot(walkSame10)


}

Run the code above in your browser using DataLab