"Lawrence D. Brenninkmeyer" <ldb at outsourcethinking.com>
writes:
> I am trying to find a way to diffuse GIS data on a European map. I have a
> dataset consisting of particular locations scattered across Europe,
> along with magnitude and value information.
The dataset is a spatial point pattern, where the locations are points,
and the value or magnitude is a `mark' attached to the point.
You can use the package 'spatstat' to smooth the values.
library(spatstat)
# extract coords
xy <- geocode[,c("LONG","LAT")]
# make an enclosing rectangle
Box <- ripras(xy, shape="rectangle")
# create point pattern
X <- as.ppp(xy, Box) %mark% (geocode$VALUE)
# visual check
plot(X)
# smooth using density.ppp
smoothVP <- density(X, weights = X$marks)
smoothP <- density(X)
smoothV <- eval.im(smoothVP/smoothV)
# inspect
plot(smoothV)
The result 'smoothV' is a pixel image (object of class "im")
that you can
manipulate, threshold, take histograms, etc
# plot the region where smoothed value exceeds 42
plot(solutionset(smoothV > 42))