Learn R Programming

ursa (version 3.9.4)

ursa_crop: Crop 'no data' margins.

Description

Function ursa_crop makes such spatial subset of source raster image, where margins of 'no data' values are absent or have specified width.

Usage

ursa_crop(obj, condition, border = 0, resetGrid = TRUE, verbose = FALSE)

Arguments

obj

Object of class ursaRaster

condition

Object of class ursaRaster or missing. The condition for cutting. If ‘missing’ then condition is defined from obj.

border

Integer of length 1 or 4. Desired margins for geographical subset. Units are cells (pixels).

resetGrid

Logical. If resetGrid=TRUE then sessional grid parameters is established from grid parameters of created raster. If resetGrid=FALSE then sessional grid parameters keep without change. Defailu is TRUE.

verbose

Logical. TRUE provides some additional information on console.

Value

Object of class ursaRaster

Details

This function calls regrid with passing values of arguments resetGrid and verbose without changes.

This function is an instrument for data compression for spatial matrices with wide margins of 'no data' value. It keeps spatial structure (pixel's neighborhood) in the internal data storage. Otherwise, compress reduces object size using spatial indexing with dropping of spatial structure.

Examples

Run this code
# NOT RUN {
session_grid(NULL)
'printCR' <- function(obj) print(with(ursa_grid(obj),c(c=columns,r=rows)))
g0 <- session_grid()
a <- pixelsize()
th <- with(ursa_grid(a),resx*resy*1e-6)
a0 <- a[a>th*0.9]
print(session_grid())
printCR(a0)
print(a0)
a1 <- ursa_crop(a0,resetGrid=TRUE)
print(session_grid())
printCR(a1)
print(a1)
a2 <- ursa_crop(a0,resetGrid=FALSE)
print(session_grid())
printCR(a2)
print(a2)
a3 <- a[a>=th*0.85 & a<=th*1.01]
b1 <- ursa_dummy(nband=3,min=0,max=255)
print(b1)
b2 <- ursa_crop(b1[a3>0],border=10)
print(b2)
printCR(b2)
b2[is.na(b2)] <- 255
display_rgb(b2)
b3 <- ursa_crop(b1,a3,border=0)
print(b3)
printCR(b3)
# }

Run the code above in your browser using DataLab