Last chance! 50% off unlimited learning
Sale ends in
This function provides point samples from one- and two-dimensional inhomogeneous Poisson processes. The
log intensity has to be provided via its values at the nodes of an inla.mesh.1d
or
inla.mesh
object. In between mesh nodes the log intensity is assumed to be linear.
sample.lgcp(
mesh,
loglambda,
strategy = NULL,
R = NULL,
samplers = NULL,
ignore.CRS = FALSE
)
An INLA::inla.mesh
object
vector or matrix; A vector of log intensities at the mesh vertices
(for higher order basis functions, e.g.
for inla.mesh.1d
meshes, loglambda
should be given as mesh$m
basis
function weights rather than the values at the mesh$n
vertices)
A single scalar is expanded to a vector of the appropriate length.
If a matrix is supplied, one process sample for each column is produced.
Only relevant for 2D meshes. One of 'triangulated'
, 'rectangle'
,
'sliced-spherical'
, 'spherical'
. The 'rectangle'
method is only valid for
CRS-less flat 2D meshes.
If NULL
or 'auto'
, the the likely fastest method is chosen;
'rectangle'
for flat 2D meshes with no CRS,
'sliced-spherical'
for CRS 'longlat'
meshes, and
'triangulated'
for all other meshes.
Numerical value only applicable to spherical and geographical meshes. It is interpreted as
R
is the equivalent Earth radius, in km, used to scale the lambda intensity.
For CRS enabled meshes, the default is 6371. For CRS-less spherical meshes, the default is 1.
A SpatialPolygonsDataFrame
or inla.mesh
object.
Simulated points that fall outside these polygons are discarded.
logical; if TRUE
, ignore any CRS information in the mesh. Default FALSE
.
This affects R
and the permitted values for strategy
.
A data.frame
(1D case),
SpatialPoints (2D flat and 3D spherical surface cases)
SpatialPointsDataFrame (2D/3D surface cases with multiple samples).
For multiple samples, the data.frame
output has a
column 'sample'
giving the index for each sample.
object of point locations.
For 2D processes on a sphere the R
parameter can be used to adjust to sphere's radius implied by
the mesh. If the intensity is very high the standard strategy
"spherical" can cause memory issues.
Using the "sliced-spherical" strategy can help in this case.
For crs-less meshes on R2: Lambda is interpreted in the raw coordinate system. Output has an NA CRS.
For crs-less meshes on S2: Lambda with raw units, after scaling the mesh to radius R
, if specified.
Output is given on the same domain as the mesh, with an NA CRS.
For crs meshes on R2: Lambda is interpreted as per km^2, after scaling the globe to the Earth radius 6371 km,
or R
, if specified. Output given in the same CRS as the mesh.
For crs meshes on S2: Lambda is interpreted as per km^2, after scaling the globe to the Earth radius 6371 km,
or R
, if specified. Output given in the same CRS as the mesh.
# NOT RUN {
# The INLA package is required
if (bru_safe_inla(quietly = TRUE)) {
vertices <- seq(0, 3, by = 0.1)
mesh <- INLA::inla.mesh.1d(vertices)
loglambda <- 5 - 0.5 * vertices
pts <- sample.lgcp(mesh, loglambda)
pts$y <- 0
plot(vertices, exp(loglambda), type = "l", ylim = c(0, 150))
points(pts, pch = "|")
}
# }
# NOT RUN {
# }
# NOT RUN {
# The INLA package and PROJ6 are required
if (bru_safe_inla(quietly = TRUE) && fm_has_PROJ6()) {
data("gorillas", package = "inlabru")
pts <- sample.lgcp(gorillas$mesh,
loglambda = 1.5,
samplers = gorillas$boundary
)
ggplot() +
gg(gorillas$mesh) +
gg(pts)
}
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab