the "lower sampling effort" aspect of Figure 4(b) is mostly relevant
when there is complete absence of sampling (as in the example
constructed in the paper). When the sampling effort is just "lower"
(and not "zero"), the mesh resolution needed is more related to the
spatial variability, or lack thereof, of the intensity field, so a
uniform mesh is usually sensible.
But for the case of a polygon defining the sampling domain (with or
without holes), there are two places to use it:
1. As "samplers" argument to lgcp() or ipoints(), to define the region
of the point observations, and
2. As the first "boundary" polygon when defining the mesh. If you have
the sampling domain as a SpatialPolygons object "my_sampler", then
inla.mesh.2d(..., boundary = list(inla.sp2segment(my_sampler)),
max.edge = c(inner_edges, outer_edges))
should allow you to make smaller triangles inside than outside.