Find the nearest-neighbour coordinates of x
in the coordinate arrays of coords
.
romsmap(x, ...)
# S3 method for class 'SpatialPolygonsDataFrame'
romsmap(x, coords, crop = FALSE, lonlat = TRUE, ...)
# Default S3 method
romsmap(x, coords, crop = FALSE, lonlat = TRUE, ...)
# S3 method for class 'SpatialLinesDataFrame'
romsmap(x, coords, crop = FALSE, lonlat = TRUE, ...)
# S3 method for class 'SpatialPointsDataFrame'
romsmap(x, coords, crop = FALSE, lonlat = TRUE, ...)
object to transform to the grid space, e.g. a Spatial
object
unused
romscoords RasterStack
logical, if TRUE
crop x to the extent of the boundary of the values in coords
logical, if TRUE
check for need to back-transform to longitude/latitude and do it
input object with coordinates transformed to space of the coords
The input coords
is a assumed to be a 2-layer RasterStack or RasterBrick
and using FNN::get.knnx()
the nearest matching position of the coordinates
of x
is found in the grid space of coords
. The motivating use-case is the
curvilinear longitude and latitude arrays of ROMS model output.
No account is made for the details of a ROMS cell, though this may be included in future. We tested only with the "lon_u" and "lat_u" arrays.
Do not use this for extraction purposes without checking the output, this is best used for exploration
and visualization. Re-mapping ROMS data is better done by looking up the coords_points
within spatial objects,
and transferring via the grid index.
library(raster)
ant_ice_coords <- romsmap(antarctica, ice_coords)
raster::image(ice_fake, col = c("transparent", hcl.colors(24)), asp = 1)
sp::plot(ant_ice_coords, add = TRUE)