In case of continuously collected data, e.g. observations from a monitoring network, spatial interpolation of this data cannot be done manually. Instead, the interpolation should be done automatically. To achieve this goal, I developed the
automap builds on top of the excellent
gstat package, and provides automatic spatial interpolation, more specifically, automatic kriging. Kriging in its more simple form (Ordinary Kriging, Universal Kriging, aka Kriging with External Drift) is actually nothing more than linear regression with spatially correlated residuals.
automap provides the following set of functions (for details I refer to the online manual):
autofitVariogram, automatically fits the variogram model to the data.
autoKrige, automatically fits the variogram model using
autofitVariogram, and creates an interpolated map.
autoKrige.cv, automatically fits the variogram model using
autofitVariogram, and performs cross-validation. Uses
krige.cvunder the hood.
compare.cv, allows comparison of the output of
krige.cv. This can be used to evaluate the performance of different interpolation algorithms.
compare.cvallows comparison using both summary statistics and spatial plots.
In general, the interface of
automap mimics that of
gstat. The following code snippets show some examples of creating interpolated maps using
library(automap) loadMeuse() # Ordinary kriging kriging_result = autoKrige(zinc~1, meuse, meuse.grid) plot(kriging_result) # Universal kriging kriging_result = autoKrige(zinc~soil+ffreq+dist, meuse, meuse.grid) plot(kriging_result)
You can get
automap from either CRAN:
hg clone https://bitbucket.org/paulhiemstra/automap
automap was the first package I wrote, at the beginning of my PhD, so it is not the most beautiful code I ever wrote .