Spatial Statistics · Python · Geostatistics

Build rigorous, reproducible
geostatistical pipelines in Python.

From variogram fitting to kriging interpolation, spatial regression, and memory-efficient processing — a production playbook for spatial data scientists, environmental analysts, and Python GIS teams.

What this site is for

Spatial data violates the i.i.d. assumption. Observations near each other are correlated, scale changes everything, and naive cross-validation silently inflates accuracy. We document the methods, code, and design patterns that let you ship spatial models that actually generalize.

Three pillars anchor the site: Core Concepts covers the mathematical foundations — spatial dependence, stationarity, variography, point processes. Kriging & Interpolation turns sparse point data into uncertainty-aware surfaces. Python Workflows wires it all together into end-to-end pipelines using GeoPandas, PySAL, PyKrige, scikit-gstat, and Dask.

Every page comes with copy-ready Python, validation diagnostics, and explicit failure modes — the kind of thing that matters in production but rarely makes it into tutorials.

The three pillars

Start with whichever fits your current question. Each pillar links to sub-topics and deep-dive articles.

Core Concepts — topics

Sub-topics within Core Concepts of Spatial Statistics & Geostatistics.

Kriging & Interpolation — topics

Sub-topics within Kriging, Interpolation & Surface Generation Techniques.

Python Workflows — topics

Sub-topics within Python Workflows for Spatial Modeling & Regression.

Deep-dive articles

Implementation walkthroughs — copy the code, run it, ship it.

Point Pattern Analysis
Ripley's K Function Implementation Guide
Sampling Bias Mitigation
Correcting Spatial Sampling Bias with Geopandas
Spatial Autocorrelation Metrics
How to Calculate Moran's I in PySAL
Spatial Weight Matrices
Building Custom Spatial Weights Matrices in Python
Stationarity Trend Analysis
Testing for Second-Order Stationarity in Python
Ordinary Universal Kriging
Step-by-Step Ordinary Kriging with PyKrige
Cross Validation Strategies
Spatial K-Fold Cross-Validation Setup
Geopandas Data Preparation
Optimizing Geopandas Spatial Joins for Large Datasets
Memory Efficient Processing
Reducing Memory Bottlenecks in Geospatial Workflows
Spatial Regression Models
Implementing Spatial Lag Models in Python