Learn R Programming

terra (version 1.9-46)

pitfinder: Find pits (depressions with no outlet)

Description

find pits (depressions with no outlet) using a flow direction raster, to support the delineation of catchments.

Usage

# S4 method for SpatRaster
pitfinder(x,pits_on_boundary=TRUE,filename="",...)

Value

SpatRaster with positive integers (1, 2, 3, ...) to identify pits and zero elsewhere.

Arguments

x

SpatRaster with flow-direcion. See flowDir

pits_on_boundary

logical if TRUE (default) pits are considered also on the boundary. If FALSE pits are considered only within the terrain domain.

filename

character. Output filename

...

additional arguments for writing files as in writeRaster

Author

Emanuele Cordano

See Also

terrain, watershed, flowAccumulation, NIDP

Examples

Run this code
## example elevation data

elev <- array(NA,c(9,9))
dx <- 1
dy <- 1 
for (r in 1:nrow(elev)) {
	x <- (r-5)*dx
	for (c in 1:ncol(elev)) {
		y <- (c-5)*dy
		elev[r,c] <- 10+5*(x^2+y^2)
    }
} 
  
elev <- cbind(elev,elev,elev,elev) 
elev <- rbind(elev,elev,elev,elev) 
elev <- rast(elev)

## Flow Directions

flowdir<- terrain(elev,v="flowdir")
t(array(flowdir[],rev(dim(flowdir)[1:2])))

## detect pits
pits <- pitfinder(flowdir)

## Application with example DEM

elev <- rast(system.file('ex/elev.tif',package="terra"))
flowdir <- terrain(elev, "flowdir")

pits <- pitfinder(flowdir)
pits2 <- pitfinder(flowdir, pits_on_boundary=FALSE)
plot((pits>0)==(pits2>0))

Run the code above in your browser using DataLab