/scikit-gstat

Geostatistical expansion in the scipy style

Primary LanguagePythonMIT LicenseMIT

SciKit-GStat

Info: scikit-gstat needs Python >= 3.5!

https://img.shields.io/pypi/v/scikit-gstat?color=green&logo=pypi&logoColor=yellow&style=flat-square:alt:PyPI https://img.shields.io/github/v/release/mmaelicke/scikit-gstat?color=green&logo=github&style=flat-square:alt:GitHubrelease(latestbydate) Codacy Badge Codecov

How to cite

In case you use SciKit-GStat in other software or scientific publications, please reference this module. It is published and has a DOI. It can be cited as:

Mirko Mälicke, & Helge David Schneider. (2019, November 25). Scikit-GStat 0.2.7: A scipy flavored geostatistical analysis toolbox written in Python. (Version v.0.2.7). Zenodo. http://doi.org/10.5281/zenodo.3552235

Full Documentation

The full documentation can be found at: https://mmaelicke.github.io/scikit-gstat

Description

SciKit-Gstat is a scipy-styled analysis module for geostatistics. It includes two base classes Variogram and OrdinaryKriging. Additionally, various variogram classes inheriting from Variogram are available for solving directional or space-time related tasks. The module makes use of a rich selection of semi-variance estimators and variogram model functions, while being extensible at the same time. The estimators include:

  • matheron
  • cressie
  • dowd
  • genton
  • entropy
  • two experimental ones: quantiles, minmax

The models include:

  • sperical
  • exponential
  • gaussian
  • cubic
  • stable
  • matérn

with all of them in a nugget and no-nugget variation. All the estimator are implemented using numba's jit decorator. The usage of numba might be subject to change in future versions.

Installation

PyPI:

pip install scikit-gstat

GIT:

git clone https://github.com/mmaelicke/scikit-gstat.git
cd scikit-gstat
pip install -r requirements.txt
pip install -e .

Note: It can happen that the installation of shapely, numba or numpy is failing using pip. Especially on Windows systems. Usually, a missing Dll (see eg. #31) or visual c++ redistributable is the reason. These errors are not caused by pip, scikit-gstat or the respective packages and there are a lot of issues in the shapely and numpy repo concerning these problems. Usually, the best workaround is to install especially shapely independent from scikit-gstat. As far as I know, these problems do not apply if anaconda is used like:

conda install shapely numpy

Usage

The Variogram class needs at least a list of coordiantes and values. All other attributes are set by default. You can easily set up an example by generating some random data:

import numpy as np
import skgstat as skg

coordinates = np.random.gamma(0.7, 2, (30,2))
values = np.random.gamma(2, 2, 30)

V = skg.Variogram(coordinates=coordinates, values=values)
print(V)
spherical Variogram
-------------------
Estimator:    matheron
Range:        1.64
Sill:         5.35
Nugget:       0.00