pykrige

Kriging Toolkit for Python

https://github.com/geostat-framework/pykrige

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com, zenodo.org
  • Committers with academic emails
    1 of 21 committers (4.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (20.0%) to scientific vocabulary

Keywords

gaussian-processes geostatistics interpolation kriging spatial-analysis spatial-statistics

Keywords from Contributors

closember
Last synced: 6 months ago · JSON representation

Repository

Kriging Toolkit for Python

Basic Info
  • Host: GitHub
  • Owner: GeoStat-Framework
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://pykrige.readthedocs.io
  • Size: 1.3 MB
Statistics
  • Stars: 828
  • Watchers: 35
  • Forks: 193
  • Open Issues: 42
  • Releases: 11
Topics
gaussian-processes geostatistics interpolation kriging spatial-analysis spatial-statistics
Created over 11 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License

README.md

PyKrige

DOI PyPI version Conda Version Build Status Coverage Status Documentation Status Code style: black

PyKrige-LOGO

Kriging Toolkit for Python.

Purpose

The code supports 2D and 3D ordinary and universal kriging. Standard variogram models (linear, power, spherical, gaussian, exponential) are built in, but custom variogram models can also be used. The 2D universal kriging code currently supports regional-linear, point-logarithmic, and external drift terms, while the 3D universal kriging code supports a regional-linear drift term in all three spatial dimensions. Both universal kriging classes also support generic 'specified' and 'functional' drift capabilities. With the 'specified' drift capability, the user may manually specify the values of the drift(s) at each data point and all grid points. With the 'functional' drift capability, the user may provide callable function(s) of the spatial coordinates that define the drift(s). The package includes a module that contains functions that should be useful in working with ASCII grid files (\*.asc).

See the documentation at http://pykrige.readthedocs.io/ for more details and examples.

Installation

PyKrige requires Python 3.5+ as well as numpy, scipy. It can be installed from PyPi with,

bash pip install pykrige

scikit-learn is an optional dependency needed for parameter tuning and regression kriging. matplotlib is an optional dependency needed for plotting.

If you use conda, PyKrige can be installed from the conda-forge channel with,

bash conda install -c conda-forge pykrige

Features

Kriging algorithms

  • OrdinaryKriging: 2D ordinary kriging with estimated mean
  • UniversalKriging: 2D universal kriging providing drift terms
  • OrdinaryKriging3D: 3D ordinary kriging
  • UniversalKriging3D: 3D universal kriging
  • RegressionKriging: An implementation of Regression-Kriging
  • ClassificationKriging: An implementation of Simplicial Indicator Kriging

Wrappers

  • rk.Krige: A scikit-learn wrapper class for Ordinary and Universal Kriging

Tools

  • kriging_tools.write_asc_grid: Writes gridded data to ASCII grid file (\*.asc)
  • kriging_tools.read_asc_grid: Reads ASCII grid file (\*.asc)
  • kriging_tools.write_zmap_grid: Writes gridded data to zmap file (\*.zmap)
  • kriging_tools.read_zmap_grid: Reads zmap file (\*.zmap)

Kriging Parameters Tuning

A scikit-learn compatible API for parameter tuning by cross-validation is exposed in sklearn.model_selection.GridSearchCV. See the Krige CV example for a more practical illustration.

Regression Kriging

Regression kriging can be performed with pykrige.rk.RegressionKriging. This class takes as parameters a scikit-learn regression model, and details of either the OrdinaryKriging or the UniversalKriging class, and performs a correction step on the ML regression prediction.

A demonstration of the regression kriging is provided in the corresponding example.

Classification Kriging

Simplifical Indicator kriging can be performed with pykrige.ck.ClassificationKriging. This class takes as parameters a scikit-learn classification model, and details of either the OrdinaryKriging or the UniversalKriging class, and performs a correction step on the ML classification prediction.

A demonstration of the classification kriging is provided in the corresponding example.

License

PyKrige uses the BSD 3-Clause License.

Owner

  • Name: GeoStat Framework
  • Login: GeoStat-Framework
  • Kind: organization
  • Email: info@geostat-framework.org
  • Location: UFZ Leipzig

Python framework for geostatistical simulations

GitHub Events

Total
  • Issues event: 4
  • Watch event: 67
  • Issue comment event: 6
  • Pull request event: 4
  • Fork event: 4
Last Year
  • Issues event: 4
  • Watch event: 67
  • Issue comment event: 6
  • Pull request event: 4
  • Fork event: 4

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 269
  • Total Committers: 21
  • Avg Commits per committer: 12.81
  • Development Distribution Score (DDS): 0.617
Past Year
  • Commits: 7
  • Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Sebastian Müller m****b@p****e 103
Roman Yurchak r****h@c****g 37
Roman Yurchak r****k@g****m 35
Benjamin Murphy b****y@g****m 27
bsmurphy m****e@g****u 19
Nic Annau n****u@g****m 16
Malte Ziebarth m****h@f****e 8
Sudipta Basak b****s@g****m 6
Mark Vrijlandt m****t@t****l 3
mralbu m****e@g****m 3
Matthew Peveler m****r@g****m 2
Roman Yurchak r****k@p****e 1
Jordan Porter t****m@g****m 1
root r****t@h****n 1
Will Chang w****g@g****m 1
JuHolland j****d@w****g 1
kvanlombeek k****k@g****m 1
Scott Staniewicz s****e@g****m 1
Daniel Mejía Raigosa d****5@g****m 1
Rhilip R****p 1
Harry Matchette-Downes 3****d 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 93
  • Total pull requests: 35
  • Average time to close issues: 8 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 76
  • Total pull request authors: 15
  • Average comments per issue: 2.69
  • Average comments per pull request: 1.51
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 7
  • Pull requests: 7
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Issue authors: 7
  • Pull request authors: 5
  • Average comments per issue: 0.43
  • Average comments per pull request: 0.43
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • MuellerSeb (9)
  • rth (3)
  • sachin9390 (2)
  • NikhilMunna (2)
  • flydream0428 (2)
  • austindowney (2)
  • codename5281 (2)
  • ghost (2)
  • JuHolland (2)
  • MDTocean (1)
  • shihabkhan1 (1)
  • oguzhannysr (1)
  • ivan-marroquin (1)
  • xudongf (1)
  • CorLeonis-FFXV (1)
Pull Request Authors
  • MuellerSeb (19)
  • mralbu (2)
  • cvelascof (2)
  • mwtoews (2)
  • dependabot[bot] (2)
  • nannau (1)
  • Rhilip (1)
  • SimonKraatz-USDA (1)
  • tunasplam (1)
  • scottstanie (1)
  • MarkTNO (1)
  • AlexeyOlkhovikov (1)
  • rth (1)
  • JuHolland (1)
  • yoel2000 (1)
Top Labels
Issue Labels
question (25) bug (19) help wanted (18) enhancement (15) new feature (10) solved upstream (5) Refactoring (5) docs (4) CI/CD (4) good first issue (3) wontfix (2) packaging (2) Epic (1)
Pull Request Labels
enhancement (12) docs (6) bug (5) new feature (4) packaging (4) Refactoring (4) CI/CD (4) dependencies (2) solved upstream (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 50,079 last-month
  • Total dependent packages: 14
    (may contain duplicates)
  • Total dependent repositories: 37
    (may contain duplicates)
  • Total versions: 58
  • Total maintainers: 3
pypi.org: pykrige

Kriging Toolkit for Python.

  • Versions: 27
  • Dependent Packages: 12
  • Dependent Repositories: 27
  • Downloads: 50,079 Last month
Rankings
Dependent packages count: 1.0%
Downloads: 2.3%
Stargazers count: 2.4%
Average: 2.4%
Dependent repos count: 2.8%
Forks count: 3.7%
Last synced: 6 months ago
proxy.golang.org: github.com/GeoStat-Framework/PyKrige
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 2.1%
Stargazers count: 2.5%
Average: 3.9%
Dependent packages count: 5.4%
Dependent repos count: 5.7%
Last synced: 6 months ago
proxy.golang.org: github.com/geostat-framework/pykrige
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.7%
Last synced: 6 months ago
conda-forge.org: pykrige

The code supports two- and three- dimensional ordinary and universal kriging. Standard variogram models (linear, power, spherical, gaussian, exponential) are built in, but custom variogram models can also be used with the code.

  • Versions: 9
  • Dependent Packages: 2
  • Dependent Repositories: 10
Rankings
Dependent repos count: 11.1%
Forks count: 13.7%
Average: 15.1%
Stargazers count: 16.1%
Dependent packages count: 19.6%
Last synced: 6 months ago

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • pypa/cibuildwheel v2.8.1 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • numpy >=1.14.5,<2
  • scipy >=1.1.0,<2
setup.py pypi