Get cell, row, or column number
cellFrom.RdGet cell number(s) of a Raster* object from row and/or column numbers. 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.
Usage
cellFromRowCol(object, row, col, ...)
cellFromRowColCombine(object, row, col, ...)
cellFromRow(object, rownr)
cellFromCol(object, colnr)
colFromX(object, x)
rowFromY(object, y)
cellFromXY(object, xy)
cellFromLine(object, lns)
cellFromPolygon(object, p, weights=FALSE)
fourCellsFromXY(object, xy, duplicates=TRUE)Arguments
- object
Raster* object (or a SpatialPixels* or SpatialGrid* object)
- colnr
column number; or vector of column numbers
- rownr
row number; or vector of row numbers
- col
column number; or vector of column numbers
- row
row number; or vector of row numbers
- x
x coordinate(s)
- y
y coordinate(s)
- xy
matrix of x and y coordinates, or a SpatialPoints or SpatialPointsDataFrame object
- lns
SpatialLines object
- p
SpatialPolygons object
- weights
Logical. If
TRUE, the fraction of each cell that is covered is also returned- duplicates
Logical. If
TRUE, the same cell number can be returned twice (if the point in the middle of a division between two cells) or four times (if a point is in the center of a cell)- ...
additional arguments (none implemented)
Details
cellFromRowCol returns the cell numbers obtained for each row / col number pair. In contrast, cellFromRowColCombine returns the cell numbers obtained by the combination of all row and column numbers supplied as arguments.
fourCellsFromXY returns the four cells that are nearest to a point (if the point falls on the raster). Also see adjacent.
Value
vector of row, column or cell numbers. cellFromLine and cellFromPolygon return a list, fourCellsFromXY returns a matrix.
Examples
r <- raster(ncols=10, nrows=10)
cellFromRowCol(r, 5, 5)
#> [1] 45
cellFromRowCol(r, 1:2, 1:2)
#> [1] 1 12
cellFromRowColCombine(r, 1:3, 1:2)
#> [1] 1 2 11 12 21 22
cellFromCol(r, 1)
#> [1] 1 11 21 31 41 51 61 71 81 91
cellFromRow(r, 1)
#> [1] 1 2 3 4 5 6 7 8 9 10
colFromX(r, 0.5)
#> [1] 6
rowFromY(r, 0.5)
#> [1] 5
cellFromXY(r, cbind(c(0.5,5), c(15, 88)))
#> [1] 46 6
fourCellsFromXY(r, cbind(c(0.5,5), c(15, 88)))
#> [,1] [,2] [,3] [,4]
#> [1,] 46 36 35 45
#> [2,] 6 16 15 5
cds1 <- rbind(c(-180,-20), c(-160,5), c(-60, 0), c(-160,-60), c(-180,-20))
cds2 <- rbind(c(80,0), c(100,60), c(120,0), c(120,-55), c(80,0))
pols <- SpatialPolygons(list(Polygons(list(Polygon(cds1)), 1), Polygons(list(Polygon(cds2)), 2)))
cellFromPolygon(r, pols)
#> [[1]]
#> [1] 51 52 53 61 62 71
#>
#> [[2]]
#> [1] 38 48 58
#>