# \[ANN\] GeoStats.jl - Geospatial Data Science and Geostatistical Modeling in Julia

**URL:** <https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054>\
**Category:** Package Announcements\
**Tags:** package, announcement, statistics, geo, geostatistics\
**Created:** [July 1, 2023, 4:10pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054 "2023-07-01T16:10:30Z")\
**Posts on this page:** 13\
**Page:** 3

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [September 29, 2025, 5:08pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/41 "2025-09-29T17:08:29Z")

</div>

Quick announcements:

- GeoStats.jl v0.82 is out with full support for PrettyTables.jl v3.
- New tutorial by Olav Moyner with GeoStats.jl + JutulDarcy.jl for petroleum reservoir simulation: [Quarter-five-spot example | JutulDarcy.jl](https://sintefmath.github.io/JutulDarcy.jl/dev/examples/workflow/five_spot_ensemble)
- New tutorials by Marcos da Silva coming up soon in the context of agriculture and forestry:  

We are starting a new research project in O&G that will give us the opportunity to work on exciting new features. Stay tuned.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [October 18, 2025, 10:17am UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/42 "2025-10-18T10:17:05Z")

</div>

Quick updates:

- `ZScore` and `StdFeats` now support `missing` values
- `GHC` clustering now accepts multiple `k` to cut the tree
- `NN` now picks the nearest _non-missing_ value
- `isconvex` now implemented for `Hexahedron`
- `EPSG{29902}` added for Ireland region
- New `ccdf` for `Ensemble` of realizations

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [November 13, 2025, 2:01am UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/43 "2025-11-13T02:01:57Z")

</div>

## GeoStats.jl v0.83

We are actively working on an improved interface for geostatistical learning. The `Learn` transform has been refactored to handle labeled geotables produced with the new `label` function:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/7/f/7f9b4d80e6da1ad12b284cbdc33df914648477ef.png)

The columns of the geospatial table are now colored according to their role in geostatistical modeling. Predictor variables are colored in sage, target variables are colored in red, and the `geometry` column is colored in teal.

### More updates

- `DropLocalLowHigh` is a new transform that drops local extremes with a moving neighborhood. It can be useful to remove data acquisition artifacts in various applications.
- All EPSG and ESRI codes for UTM coordinates have been mapped to our native CRS types with WGS84 and SIRGAS2000 datum. That should cover a lot of datasets in industry.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [December 11, 2025, 1:16pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/44 "2025-12-11T13:16:56Z")

</div>

## GeoStats.jl v0.84

One of our favorite releases this year! New features include faster and more accurate geostatistics with non-Euclidean geometry. Update and enjoy it!

More info: [[ANN] Meshes.jl - Computational Geometry in Julia - #58 by juliohm](https://discourse.julialang.org/t/ann-meshes-jl-computational-geometry-in-julia/53973/58)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [April 9, 2026, 2:36pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/45 "2026-04-09T14:36:23Z")

</div>

## GeoStats.jl v0.85

Very important updates, including full support for differential and integral calculus:

> [@\[ANN\] Meshes.jl - Computational Geometry in Julia](https://discourse.julialang.org/t/ann-meshes-jl-computational-geometry-in-julia/53973/59):
>
> Meshes.jl v0.57 Thanks to the work of various contributors (Michael Ingold, Guillaume Dalle, Kyle Beggs, Joshua Lampert, Pablo San-Jose, Zoïs Moitier), we now have full support for differential and integral calculus with Meshes.jl geometries and domains: play_button Click to see code We support any differentiation backend from DifferentiationInterface.jl and any integration backend from IntegrationInterface.jl, and use ForwardDiff.jl and HAdaptiveIntegration.jl by default. We use this new featu…

and removal of external dependencies in GeoIO.jl:

> [@\[ANN\] GeoIO.jl - Load/save geospatial data in Julia](https://discourse.julialang.org/t/ann-geoio-jl-load-save-geospatial-data-in-julia/106031/15):
>
> GeoIO.jl v1.22 The project reached a very important milestone: We no longer depend on external libraries, and this solves a series of issues as reported in [Native support for GeoPackage file format · Issue #167 · JuliaEarth/GeoIO.jl · GitHub](https://github.com/JuliaEarth/GeoIO.jl/issues/167)

We are also seeing publications from the Python community using GeoStats.jl as the reference implementation, which is a very good sign of project maturity:

[https://rmets.onlinelibrary.wiley.com/doi/10.1002/gdj3.70064](https://rmets.onlinelibrary.wiley.com/doi/10.1002/gdj3.70064)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [June 2, 2026, 12:54pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/46 "2026-06-02T12:54:39Z")

</div>

### Quick updates:

Replaced `LScene` by `Axis3` with hints provided by the latest Makie.jl release:

 ![viewer](https://global.discourse-cdn.com/julialang/original/3X/b/f/bf4e4d4346485dbaaa434d0984650b00592a7542.png)

The axis labels are automatically set based on the `CRS` of the domain.

New publication for those interested in geostatistical modeling at scale:

> **[Stochastic Inversion of geophysical data by sequential Bayesian updating under...](https://eartharxiv.org/repository/view/13081/)**

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [June 19, 2026, 4:30pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/47 "2026-06-19T16:30:10Z")

</div>

### Quick updates:

`cbar` is much improved and we added support for all kinds of scientific data, including distributional, compositional and unitful data. The `viewer` (and `viz`) recognize all objects supported by Colorfy.jl and use the transparency channel to codify uncertainty, etc.

 ![Screenshot_20260619_102451](https://global.discourse-cdn.com/julialang/original/3X/5/6/568cfce4dbaa37ca348b59bad4b626b78956848c.png)

Please update the stack to get these new features.

More publications:

[https://www.sciencedirect.com/science/article/abs/pii/S0098300426000981](https://www.sciencedirect.com/science/article/abs/pii/S0098300426000981)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [June 25, 2026, 11:59am UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/48 "2026-06-25T11:59:33Z")

</div>

## Quick updates:

`funplot` and `surfplot` reviewed and improved to handle different assumptions about geostatistical functions (e.g., variogram, transiogram):

 ![Screenshot_20260624_155556](https://global.discourse-cdn.com/julialang/original/3X/4/5/45afa90aec7de4279836560fd7ddcc936f7233fa.png)

Added precompilation workloads to reduce time-to-first-plot.

More publications:

- [https://www.sciencedirect.com/science/article/pii/S2772408526001377](https://www.sciencedirect.com/science/article/pii/S2772408526001377)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [July 22, 2026, 2:00pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/49 "2026-07-22T14:00:53Z")

</div>

## Quick updates:

Automatic fitting routines for multivariate linear models of corregionalization. Meaning you can quickly create a multivariate model from data to perform multivariate interpolation and simulation:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/f/b/fbd78d11d31a1e3b82f753176e1ed04a273c3f79.jpeg)

Reviewed `KMedoids` and `GHC` clustering routines. They scale to millions of samples now. In the example below we are clustering 5M pixels in 5s:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/a/2/a2ab50d0f9440c41a8e4f51dee55f695a266994d.jpeg)

Various other performance improvements related to ongoing projects in industry. Thank you for supporting our work.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [July 31, 2026, 2:02pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/50 "2026-07-31T14:02:08Z")

</div>

## Quick updates:

GeoStats.jl v0.89 introduces a new `variogram` function, replacing the previous `EmpiricalVariogram` and `DirectionalVariogram` APIs. The new interface is simpler to use, requires less typing, and comes with improved default settings:

```julia
using GeoStats
using GeoStatsImages

data = geostatsimage("Gaussian30x10")

gₕ = variogram(data, dir = (1.0, 0.0))
gᵥ = variogram(data, dir = (0.0, 1.0))

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/5/c/5c92e5cf7904883e5027ce0da50a795214325815.png)

New publications:

- [Reconstructing a 1980s DEM of the Greenland ice sheet for model initialization | Journal of Glaciology | Cambridge Core](https://www.cambridge.org/core/journals/journal-of-glaciology/article/reconstructing-a-1980s-dem-of-the-greenland-ice-sheet-for-model-initialization/54C70460938B2ED85F6886E8A7BA6072)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [September 1, 2026, 12:35am UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/51 "2026-09-01T00:35:48Z")

</div>

## GeoStats.jl v0.90

- Concave hulls with new `MoreiraMarch` algorithm  
 ![hullls](https://global.discourse-cdn.com/julialang/original/3X/9/f/9fb6fbcd4af0747e7d73d92a23e268e4fe676042.png)
- Intersection implemented between `Chain`s and `Polygon`s  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/6/f/6f971da6a4992131c28c019c396655ece4ace89c.png)
- 3D discretization of `Cone`, `Frustrum` and `Ball`  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/0/9/09a133c81561bebeedd953349e6327b81d0a4f22.png)
- New `Stereographic` and `ObliqueStereographic` projections  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/d/6/d6a382ff28eba8fde3b9a5fd0a9bee8a77961093.png)
- Precise round-trip (`LatLon` → `Projected` → `LatLon`) conversions
- New EPSG code mappings and other minor improvements

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [September 5, 2026, 1:03pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/52 "2026-09-05T13:03:28Z")

</div>

## Quick updates:

Added geodesics and geodesic distance 🌎

- [Geodesics · Meshes.jl](https://juliageometry.github.io/MeshesDocs/stable/geodesics)
- [Distances · Meshes.jl](https://juliageometry.github.io/MeshesDocs/stable/distances)

---

<div class="post-metadata">

**Author:** ![parn4q](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/parn4q/32/222376_2.png) [@parn4q](https://discourse.julialang.org/u/parn4q)\
**Post date:** [September 5, 2026, 11:34pm UTC](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054/53 "2026-09-05T23:34:22Z")

</div>

Keep up the good work! I work with spatial data everyday.

[Previous page](https://discourse.julialang.org/t/ann-geostats-jl-geospatial-data-science-and-geostatistical-modeling-in-julia/101054.md?page=2)
