Identify knot intervals or triangles and compute barycentric coordinates
fm_bary(mesh, loc, ...)# S3 method for fm_mesh_1d
fm_bary(mesh, loc, method = c("linear", "nearest"), restricted = FALSE, ...)
# S3 method for fm_mesh_2d
fm_bary(mesh, loc, crs = NULL, ...)
# S3 method for inla.mesh
fm_bary(mesh, ...)
# S3 method for inla.mesh.1d
fm_bary(mesh, ...)
A list with elements t; either
vector of triangle indices (triangle meshes),
matrix of interval knot indices (1D meshes), or
matrix of lower left box indices (2D lattices),
and bary, a matrix of barycentric coordinates.
fm_mesh_1d or fm_mesh_2d object
Points for which to identify the containing interval/triangle, and
corresponding barycentric coordinates. May be a vector (for 1d) or a matrix
of raw coordinates, sf, or sp point information (for 2d).
Arguments forwarded to sub-methods.
character; method for defining the barycentric coordinates, "linear" (default) or "nearest"
logical, used for method="linear".
If FALSE (default), points outside the mesh interval will be given
barycentric weights less than 0 and greater than 1, according to linear
extrapolation. If TRUE, the barycentric weights are clamped to the (0, 1)
interval.
Optional crs information for loc
fm_bary(fm_mesh_1d): Return a list with elements
t (start and endpoint knot indices) and bary (barycentric coordinates), both
2-column matrices.
For method = "nearest", t[,1] contains the index of the nearest mesh knot,
and each row of bary contains c(1, 0).
fm_bary(fm_mesh_2d): A list with elements t (vector of triangle indices) and bary
(3-column matrix of barycentric coordinates). Points that were not found
give NA entries in t and bary.
str(fm_bary(fmexample$mesh, fmexample$loc_sf))
str(fm_bary(fm_mesh_1d(1:4), seq(0, 5, by = 0.5)))
Run the code above in your browser using DataLab