Open source methods for kriging?
Depending on which Kriging type you want to apply, there are different packages to choose from:
Ordinary Kriging
The most common version is implemented for example in:
- GRASS - v.krige
- SAGA - Module: Ordinary Kriging
- HPGL - ordinary-kriging() (PDF page 12)
- gstat - krige
Simple Kriging
Simple Kriging uses the average of the entire data set while Ordinary Kriging uses a local average. Therefore, Simple Kriging can be less accurate, but it generally produces "smoother" results. It's implemented in:
- HPGL - simple_kriging() (PDF page 12)
- gstat krige
Universal Kriging
Universal Kriging allows for consideration of drift in data. Implementations are included in:
- SAGA - Module: Universal Kriging
- gstat krige
Other Kriging Types
GRASS v.krige also supports Block Kriging.
HPGL implements a big number of less known Kriging methods (check the manual for more information on those):
- Indicator Kriging (IK)
- Local Varying Mean Kriging (LVM Kriging)
- Simple CoKriging (Markov Models 1 & 2)
- Sequential Indicator Simulation (SIS)
- Corellogram Local Varying Mean SIS (CLVM SIS)
- Local Varying Mean SIS (LVM SIS)
- Sequential Gaussian Simulation (SGS)
- Truncated Gaussian Simulation (GTSIM) [in Python scripts collection]
SAGA offers different versions of both Ordinary and Universal Kriging.
Gstat krige additionally supports Block and Point Kriging.
It looks like there are a few options with GRASS GIS. Check out the GRASS Kriging Wiki page: http://grass.osgeo.org/wiki/Kriging
A Google Summer of Code project in 2009 produced V.krige: http://grass.osgeo.org/wiki/V.krige_GSoC_2009
The GPL gstat package should work by itself or interfaced with GRASS GIS. http://www.gstat.org/
Dylan Beaudette has a nice example of doing kriging with GRASS. http://casoilresource.lawr.ucdavis.edu/drupal/node/438 (His blog is full of great and interesting examples of using OpenSource GIS and statistical tools!)
If you are happy to read your raster into a numpy array (gdal can do this), then you could use the High Performance Geostatistics Library implementation from Python or C/C++.
HPGL implements the following algorithms:
- Simple Kriging (SK)
- Ordinary Kriging (OK)
- Indicator Kriging (IK)
- Local Varying Mean Kriging (LVM Kriging)
- Simple CoKriging (Markov Models 1 & 2)
- Sequential Indicator Simulation (SIS)
- Corellogram Local Varying Mean SIS (CLVM SIS)
- Local Varying Mean SIS (LVM SIS)
- Sequential Gaussian Simulation (SGS)
- Truncated Gaussian Simulation (GTSIM) [in Python scripts collection]
I haven't used it myself but have heard good things about it, especially with respect to speed.