nearest.raster.point
Find Pixel Nearest to a Given Point
Given cartesian coordinates, find the nearest pixel.
Usage
nearest.raster.point(x,y,w, indices=TRUE)
Arguments
- x
Numeric vector of \(x\) coordinates of any points
- y
Numeric vector of \(y\) coordinates of any points
- w
An image (object of class
"im"
) or a binary mask window (an object of class"owin"
of type"mask"
).- indices
Logical flag indicating whether to return the row and column indices, or the actual \(x,y\) coordinates.
Details
The argument w
should be either a pixel image
(object of class "im"
) or a window (an object of class
"owin"
, see owin.object
for details)
of type "mask"
.
The arguments x
and y
should be numeric vectors
of equal length. They are interpreted as the coordinates of
points in space. For each point (x[i], y[i])
, the function
finds the nearest pixel in the grid of pixels for w
.
If indices=TRUE
,
this function returns a list containing two vectors rr
and
cc
giving row and column positions (in the image matrix).
For the location (x[i],y[i])
the nearest
pixel is at row rr[i]
and column cc[i]
of
the image.
If indices=FALSE
, the function returns a list containing
two vectors x
and y
giving the actual coordinates
of the pixels.
Value
If indices=TRUE
, a
list containing two vectors rr
and cc
giving row and column positions (in the image matrix).
If indices=FALSE
, a list containing
vectors x
and y
giving actual coordinates
of the pixels.
See Also
Examples
# NOT RUN {
w <- owin(c(0,1), c(0,1), mask=matrix(TRUE, 100,100)) # 100 x 100 grid
nearest.raster.point(0.5, 0.3, w)
nearest.raster.point(0.5, 0.3, w, indices=FALSE)
# }