R: Names of Spat* objects

names {terra} | R Documentation

## Names of Spat* objects

### Description

Get or set the names of the layers of a SpatRaster or the attributes of a SpatVector. With `lnames` you can get or set the "long names" of a SpatRaster or SpatRasterDataset.

For a SpatRaster, you can also get/set a variable name or long name (one per data source)

### Usage

    ## S4 method for signature 'SpatRaster'
    names(x)

    ## S4 replacement method for signature 'SpatRaster'
    names(x)<-value

    ## S4 method for signature 'SpatRaster'
    varnames(x)

    ## S4 replacement method for signature 'SpatRaster'
    varnames(x)<-value

    ## S4 method for signature 'SpatRaster'
    longnames(x)

    ## S4 replacement method for signature 'SpatRaster'
    longnames(x)<-value

    ## S4 method for signature 'SpatRasterDataset'
    names(x)

    ## S4 replacement method for signature 'SpatRasterDataset'
    names(x)<-value

    ## S4 method for signature 'SpatRasterDataset'
    varnames(x)

    ## S4 replacement method for signature 'SpatRasterDataset'
    varnames(x)<-value

    ## S4 method for signature 'SpatRasterDataset'
    longnames(x)

    ## S4 replacement method for signature 'SpatRasterDataset'
    longnames(x)<-value

    ## S4 method for signature 'SpatVector'
    names(x)

    ## S4 replacement method for signature 'SpatVector'
    names(x)<-value

### Arguments

`x` | SpatRaster, SpatRasterDataset, or SpatVector
`value` | character (vector)

### Value

character

### Note

terra enforces neither unique nor valid names. See `make.unique` to create unique names and `{make.names}` to make syntactically valid names.

### Examples

    s <- rast(ncols=5, nrows=5, nlyrs=3)
    nlyr(s)
    names(s)
    names(s) <- c("a", "b", "c")
    names(s)

    # space is not valid
    names(s)[2] <- "hello world"
    names(s)

    # two invalid names
    names(s) <- c("a", "  a  ", "3")
    names(s)

    # SpatVector names
    f <- system.file("ex/lux.shp", package="terra")
    v <- vect(f)
    names(v)
    names(v) <- paste0(substr(names(v), 1, 2), "_", 1:ncol(v))
    names(v)

[Package terra version 1.3-22 Index]