xyFromCell: Coordinates from a row, column or cell number

xyFromCellR Documentation

Coordinates from a row, column or cell number

Description

These functions get coordinates of the center of raster cells for a row, column, or cell number of a Raster* object.

Usage

## S4 method for signature 'Raster,numeric'
xFromCol(object, col)
## S4 method for signature 'Raster,numeric'
yFromRow(object, row)
## S4 method for signature 'Raster,numeric'
xFromCell(object, cell)
## S4 method for signature 'Raster,numeric'
yFromCell(object, cell)
## S4 method for signature 'BasicRaster,ANY'
xyFromCell(object, cell, spatial=FALSE, ...)
## S4 method for signature 'Raster'
coordinates(obj, ...)
## S4 method for signature 'Extent'
coordinates(obj, ...)

Arguments

object

Raster* object (or a SpatialPixels* or SpatialGrid* object)

col

column number; or vector of column numbers. If missing, the x coordinates for all columns are returned

row

row number; or vector of row numbers. If missing, the y coordinates for all rows are returned

cell

cell number(s)

spatial

If spatial=TRUE, xyFromCell returns a SpatialPoints object instead of a matrix

...

additional arguments. None implemented

obj

Raster object

Details

Cell numbers start at 1 in the upper left corner, and increase from left to right, and then from top to bottom. The last cell number equals the number of cells of the Raster* object.

Value

xFromCol, yFromCol, xFromCell, yFromCell: vector of x or y coordinates

xyFromCell: matrix(x,y) with coordinate pairs

coordinates: xy coordinates for all cells

See Also

cellFromXY

Examples

#using a new default raster (1 degree global)
r <- raster()
xFromCol(r, c(1, 120, 180))
yFromRow(r, 90)
xyFromCell(r, 10000)
xyFromCell(r, c(0, 1, 32581, ncell(r), ncell(r)+1))

#using a file from disk
r <- raster(system.file("external/test.grd", package="raster"))
r
cellFromXY(r, c(180000, 330000))
#xy for corners of a raster:
xyFromCell(r, c(1, ncol(r), ncell(r)-ncol(r)+1, ncell(r)))

rspatial/raster documentation built on Oct. 12, 2024, 10:49 a.m.