I want to perform cell declustering in a small point data set.

I have 9 observation points and I want to find the size of the region of influence for an observation, and afterwards use that as weight in analysis.

The only way, I could find is that one:

coordinates(meuse) = ~x + y 
coordinates(meuse.grid) = ~x + y 
gridded(meuse.grid) <- TRUE

zn.tp = krige(log(zinc) ~ 1, meuse, meuse.grid, nmax = 1) 
points(meuse, pch = "+", cex = 0.65) 
cc = coordinates(meuse) 
plot(voronoi.mosaic(cc[, 1], cc[, 2]), do.points = FALSE, add = TRUE)
title("Thiessen (or Voronoi) polygon interpolation of log(zinc)")

enter image description here

So, after preparing the data, I could create Thiessen (Voronoi) polygons. However, It works properly only when I made decision about the borders of my grid.

How I could perform cell declustering, that will also take care of creating the outer borders?

The only idea I could find was DECLUST function from gslib http://www.statios.com/help/declus.html . Could cell declustering be done in less difficult way?

1 Answer 1


Nine points is a quite small number, so I would use some arbitrary boundary instead of trying to build a complex algorithm that might "go wild".

I suggest that you use r.grow.distance in grass to create a distance layer around your points, and to set a threshold that would constraint the size of your study area (for instance, the largest distance value between two pairs of neighbour points). then you can crop your thiessen polygons.

As a remark, you could do the same (buffer + dissolve buffer) or similar (convex hull + buffer) with vectors in QGIS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.