The project provides solutions to three types of geostatistical problems. These problems can be defined unambiguously and independently of solvers, which is quite convenient for fair comparison of alternative workflows.


EstimationProblem(sdata, sdomain, vars)

A spatial estimation problem on a given spatial domain sdomain in which the variables to be estimated are listed in vars. The data of the problem is stored in spatial data sdata.


Create an estimation problem for precipitation measurements:

julia> EstimationProblem(sdata, sdomain, :precipitation)

Create an estimation problem for precipitation and CO₂:

julia> EstimationProblem(sdata, sdomain, (:precipitation,:CO₂))


Define a 2D estimation problem:

# list of properties with coordinates
props = (Z=[1.,0.,1.],)
coord = [(25.,25.), (50.,75.), (75.,50.)]

# estimation problem
𝒟 = georef(props, coord)
𝒢 = CartesianGrid(100, 100)
𝒫 = EstimationProblem(𝒟, 𝒢, :Z)
2D EstimationProblem
  data:      3 MeshData{2,Float64}
  domain:    100×100 CartesianGrid{2,Float64}
  variables: Z (Float64)

Solve the problem with a few built-in solvers:

# few built-in solvers
S1 = IDW(:Z => (distance=Euclidean(),))
S2 = IDW(:Z => (distance=Chebyshev(),))
S3 = Kriging(:Z => (variogram=GaussianVariogram(range=35.),))

# solve the problem
sol = [solve(𝒫, S) for S in (S1, S2, S3)]

# plot the solution