GeoStats.jl

An extensible framework for high-performance geostatistics in Julia
Popularity
150 Stars
Updated Last
5 Months Ago
Started In
April 2015


Project goals

  • Design a comprehensive framework for geostatistics (or spatial statistics) in a modern programming language.
  • Address the lack of a platform for scientific comparison of different geostatistical algorithms in the literature.
  • Exploit modern hardware aggressively, including GPUs and computer clusters.
  • Educate people outside of the field about the existence of geostatistics.

Installation

Get the latest stable release with Julia's package manager:

] add GeoStats

Documentation

  • STABLEmost recently tagged version of the documentation.
  • LATESTin-development version of the documentation.

Tutorials

A set of Jupyter notebooks demonstrating the current functionality of the project is available in GeoStatsTutorials with an accompanying series of videos:

Below is a quick preview of the high-level API:

using GeoStats
using Plots

# data.csv:
#    x,    y,       station, precipitation
# 25.0, 25.0,     palo alto,           1.0
# 50.0, 75.0,  redwood city,           0.0
# 75.0, 50.0, mountain view,           1.0

# read spreadsheet file containing spatial data
sdata = readgeotable("data.csv", coordnames=[:x,:y])

# define spatial domain (e.g. regular grid)
sdomain = RegularGrid(100, 100)

# define estimation problem for any data column(s) (e.g. :precipitation)
problem = EstimationProblem(sdata, sdomain, :precipitation)

# choose a solver from the list of solvers
solver = Kriging(
  :precipitation => (variogram=GaussianVariogram(range=35.),)
)

# solve the problem
solution = solve(problem, solver)

# plot the solution
contourf(solution, clabels=true)

Contributing and supporting

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems. We have written instructions to help you with the process.

If you have questions, don't hesitate to ask. Join our community in our gitter channel. We are always willing to help.

GeoStats.jl was developed as part of academic research. It will always be open source and free of charge. If you would like to help support the project, please star the repository and share it with your colleagues.

Citing

If you find GeoStats.jl useful in your work, please consider citing it:

JOSS DOI

@ARTICLE{GeoStats.jl-2018,
  title={GeoStats.jl – High-performance geostatistics in Julia},
  author={Hoffimann, Júlio},
  journal={Journal of Open Source Software},
  publisher={The Open Journal},
  volume={3},
  pages={692},
  number={24},
  ISSN={2475-9066},
  DOI={10.21105/joss.00692},
  url={http://dx.doi.org/10.21105/joss.00692},
  year={2018},
  month={Apr}
}

Used at