question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

GeoStat-Framework integration: PyKrige v2

See original GitHub issue

Hurray! PyKrige is now part of the GeoStat-Framework

Now we have to think about, how to smoothly integrate PyKrige into this Framework and how to organize the coexistence with GSTools.

With this PR: https://github.com/GeoStat-Framework/GSTools/pull/67 in GSTools a set of kriging routines is introduced in GSTools:

  • simple kriging
  • ordinary kriging
  • universal kriging
  • external drift kriging
  • detrended kriging

All of these procedures work in 1D, 2D and 3D.

PyKrige could work as the extension for fancy kriging, like

  • moving-window
  • regression kriging
  • N-dimensional kriging (#138)
  • integration with scikit-learn (#143)

I think it would be nice to collect stuff, that should be provided by PyKrige and things that could be out-sourced to GSTools to reduce redundancy.

TODOs ATM

  • N-dimensional kriging (to provide rotation, we could simply demand a rotation matrix [orthogonal matrix with det=1]) #133 #31
  • choosable distance metric #120
  • add all Variogram-models that are provided in GSTools
  • bring parametrization of variogram-models in line with GSTools #119
  • variogram-estimation with GSTools (working on automated estimation ATM) #130 #29 #57 #97
  • use import-export routines of GSTools for mesh-io #122
  • building wheels with cibuildwheel
  • dropping py2 support (https://python3statement.org/)
  • updating DOC to be in line with the GeoStat style
  • create a separate develop branch; master should hold latest release

Project

https://github.com/GeoStat-Framework/PyKrige/projects/1

What do you think? @rth @bsmurphy @LSchueler

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
rthcommented, Jan 28, 2020

You are right, making these changes in 2.0 would probably be best.

1reaction
bsmurphycommented, Jan 28, 2020

Thanks for taking this on, @MuellerSeb! A few quick thoughts on this…

The tools for variogram estimation/modeling/etc in PyKrige are admittedly underdeveloped, so relying on your efforts in GSTools would be good I think. Probably won’t be too hard to refactor the existing PyKrige code to use the GSTools variogram code.

I think refactoring to ND kriging would be very valuable, and actually shouldn’t be too hard in the existing PyKrige framework. And the existing universal kriging drift terms could then be extended into N dimensions.

Read more comments on GitHub >

github_iconTop Results From Across the Web

PyKrige Documentation - GeoStat ReadTheDocs
The code supports 2D and 3D ordinary and universal kriging. Standard variogram models (linear, power, spherical,.
Read more >
Changelog — PyKrige 1.7.0 documentation
[closed issue #2]: https://github.com/GeoStat-Framework/PyKrige/issues/2 ... Integrated a Cython backend for two-dimensional ordinary kriging.
Read more >
Interface to PyKrige — GSTools 1.4.1 documentation
import numpy as np from matplotlib import pyplot as plt from pykrige.ok ... Gaussian( dim=2, len_scale=1, anis=0.2, angles=-0.5, var=0.5, nugget=0.1 ) ...
Read more >
PyKrige Documentation - GeoStat ReadTheDocs
pykrige.kriging_tools.write_asc_grid . ... 3.3.2 pykrige.kriging_tools.read_asc_grid . ... PyKrige is now part of the GeoStat-Framework.
Read more >
PyKrige Documentation - GeoStat ReadTheDocs
2. 1.4. Three-DimensionalKrigingExample . ... PyKrige requires Python 2.7 or 3.5+ as well as numpy, ... skip in continous integration.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found