| inla.over_sp_mesh {INLA} | R Documentation |
Check which mesh triangles are inside a polygon
Description
Wrapper for the sp::over() method to find triangle centroids
or vertices inside sp polygon objects.
since 23.06.06 in favour of
inlabru::fm_contains() when inlabru
version >= 2.7.0.9011 is installed, and since 23.08.02 in favour of
fmesher::fm_contains() when fmesher.
Usage
inla.over_sp_mesh(x, y, type = c("centroid", "vertex"), ignore.CRS = FALSE)
Arguments
x |
geometry (typically a |
y |
an |
type |
the query type; either |
ignore.CRS |
logical; whether to ignore the coordinate system information in |
Value
A vector of triangle indices (when type is 'centroid') or
vertex indices (when type is 'vertex')
Author(s)
Haakon Bakka, bakka@r-inla.org, and Finn Lindgren finn.lindgren@gmail.com
Examples
if (require("sp", quietly = TRUE)) {
# Create a polygon and a mesh
obj <- sp::SpatialPolygons(
list(sp::Polygons(
list(sp::Polygon(rbind(
c(0, 0),
c(50, 0),
c(50, 50),
c(0, 50)
))),
ID = 1
)),
proj4string = fmesher::fm_CRS("longlat_globe")
)
mesh <- inla.mesh.create(globe = 2, crs = fmesher::fm_CRS("sphere"))
## 3 vertices found in the polygon
inla.over_sp_mesh(obj, mesh, type = "vertex")
## 3 triangles found in the polygon
inla.over_sp_mesh(obj, mesh)
## Multiple transformations can lead to slightly different results due to edge cases
## 4 triangles found in the polygon
inla.over_sp_mesh(
obj,
fmesher::fm_transform(mesh, crs = fmesher::fm_crs("mollweide_norm"))
)
}
[Package INLA version 25.10.19 Index]