Skip to contents

Calculate evaluation information and/or evaluate a function defined on a mesh or function space.

Usage

fm_evaluate(...)

# Default S3 method
fm_evaluate(mesh, field, ...)

# S3 method for class 'fm_evaluator'
fm_evaluate(projector, field, ...)

# S3 method for class 'fm_basis'
fm_evaluate(basis, field, ...)

fm_evaluator(...)

# Default S3 method
fm_evaluator(...)

# S3 method for class 'fm_mesh_2d'
fm_evaluator(mesh, loc = NULL, lattice = NULL, crs = NULL, ...)

# S3 method for class 'fm_mesh_1d'
fm_evaluator(mesh, loc = NULL, xlim = mesh$interval, dims = 100, ...)

fm_evaluator_lattice(
  mesh,
  xlim = NULL,
  ylim = NULL,
  dims = c(100, 100),
  projection = NULL,
  crs = NULL,
  ...
)

# S3 method for class 'inla.mesh'
fm_evaluator(mesh, ...)

# S3 method for class 'inla.mesh.1d'
fm_evaluator(mesh, ...)

Arguments

...

Additional arguments passed on to methods.

mesh

An inla.mesh or inla.mesh.1d object.

field

Basis function weights, one per mesh basis function, describing the function to be evaluated at the projection locations

projector

An fm_evaluator object.

basis

An fm_basis object.

loc

Projection locations. Can be a matrix, SpatialPoints, SpatialPointsDataFrame, sf, sfc, or sfg object.

lattice

An fm_lattice_2d() object.

crs

An optional CRS or inla.CRS object associated with loc and/or lattice.

xlim

X-axis limits for a lattice. For R2 meshes, defaults to covering the domain.

dims

Lattice dimensions.

ylim

Y-axis limits for a lattice. For R2 meshes, defaults to covering the domain.

projection

One of c("default", "longlat", "longsinlat", "mollweide").

Value

A vector or matrix of the evaluated function

An fm_evaluator object

Methods (by class)

  • fm_evaluate(default): The default method calls proj = fm_evaluator(mesh, ...), followed by fm_evaluate(proj, field).

Functions

  • fm_evaluate(): Returns the field function evaluated at the locations determined by an fm_evaluator object. fm_evaluate(mesh, field = field, ...) is a shortcut to fm_evaluate(fm_evaluator(mesh, ...), field = field).

  • fm_evaluator(): Returns an fm_evaluator list object with evaluation information. The proj element is a fm_basis object, containing (at least) a mapping matrix A and a logical vector ok, that indicates which locations were mappable to the input mesh. For fm_mesh_2d and inla.mesh input, proj also contains a matrix bary and vector t, with the barycentric coordinates within the triangle each input location falls in.

  • fm_evaluator(default): The default method calls fm_basis and creates a basic fm_evaluator object

  • fm_evaluator(fm_mesh_2d): The ... arguments are passed on to fm_evaluator_lattice() if no loc or lattice is provided.

  • fm_evaluator_lattice(): Creates an fm_lattice_2d() object, by default covering the input mesh.

  • fm_evaluator(inla.mesh): Converts legacy inla.mesh to fm_mesh_2d and calls the fm_evaluator method again.

  • fm_evaluator(inla.mesh.1d): Converts legacy inla.mesh to fm_mesh_1d and calls the fm_evaluator method again.

Author

Finn Lindgren finn.lindgren@gmail.com

Examples

if (TRUE) {
  n <- 20
  loc <- matrix(runif(n * 2), n, 2)
  mesh <- fm_rcdt_2d_inla(loc, refine = list(max.edge = 0.05))
  proj <- fm_evaluator(mesh)
  field <- cos(mesh$loc[, 1] * 2 * pi * 3) * sin(mesh$loc[, 2] * 2 * pi * 7)
  image(proj$x, proj$y, fm_evaluate(proj, field))
}

# \donttest{
# if (require("ggplot2") &&
#  require("ggpolypath")) {
#  ggplot() +
#    gg(data = fm_as_sfc(mesh), col = field)
# }
# }