Spatial interpolation toolkit — boundaries, point data, 15 methods, export, validation
Project description
geointerpo
Spatial interpolation for Python — 15 algorithms, live data APIs, boundary clipping, and GEE validation.
Drop in point data, get a smooth interpolated raster out.
Fetch live weather, air quality, or precipitation data from Meteostat, OpenAQ, and Open-Meteo.
Define your study area by place name, polygon file, or bounding box — boundaries are resolved automatically.
Validate results against MODIS, CHIRPS, and Sentinel-5P satellite products via Google Earth Engine.
Export to GeoTIFF or NetCDF, run spatial cross-validation, and compare methods side by side.
📖 Documentation · Install · Quickstart · Methods · Examples
Ordinary Kriging · Natural Neighbor · Gaussian Process — same 60 stations, Alberta, Canada
Install
pip install "geointerpo[full]"
Quickstart
from geointerpo import Pipeline
result = Pipeline(
data="stations.csv", # CSV, GeoDataFrame, or live API
boundary="Calgary, Alberta", # place name, bbox, or polygon file
method=["idw", "kriging", "spline"],
).run()
result.plot() # side-by-side comparison
result.metrics_table() # cross-validation RMSE / r
result.save("outputs/") # GeoTIFF + PNG + CSV
Methods
geointerpo covers the full ArcGIS Spatial Analyst interpolation toolkit plus modern ML methods. All share the same interface — swap method= to compare.
Distance-based
The fastest methods — no statistical assumptions, exact at data points. Ideal as a quick baseline or when data is dense and evenly distributed.
idw · nearest · linear · cubic
Spline & Trend
Fit smooth continuous surfaces. Splines minimise curvature; RBF offers eight kernel choices; Trend fits a global polynomial for large-scale patterns.
spline · spline_tension · rbf · trend
Geostatistical
Account for spatial autocorrelation via a variogram model. Produce statistically optimal, unbiased estimates. Natural Neighbor uses Voronoi area-stealing weights — smooth and exact at data locations.
kriging (Ordinary) · uk (Universal) · natural_neighbor
Machine Learning
Capture non-linear spatial patterns. GP returns a full uncertainty surface alongside the mean prediction. Regression Kriging combines an ML trend with Kriging of the residuals.
gp (Gaussian Process) · rf (Random Forest) · gbm (Gradient Boosting) · rk (Regression Kriging)
References
- ArcGIS Pro — Interpolation Tools Overview
- 3 Best Methods for Spatial Interpolation — Towards Data Science
- GeoStat-Framework/PyKrige — Ordinary, Universal, and Regression Kriging
- GeoStat-Framework/GSTools — Covariance models, variograms, random fields
- mmaelicke/scikit-gstat — Variogram estimation and ordinary kriging
- DataverseLabs/pyinterpolate — IDW, kriging, Poisson kriging
- fatiando/verde — Machine-learning-style spatial gridding
- GeostatsGuy/GeostatsPy — GSLIB-based geostatistics
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geointerpo-0.1.3.tar.gz.
File metadata
- Download URL: geointerpo-0.1.3.tar.gz
- Upload date:
- Size: 3.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be7e46e81823227134449406312936a21dfe5f89f11472a3c0edf6f4ae2b0fa4
|
|
| MD5 |
d01fe0be512e22d1ff4ab30db736faf1
|
|
| BLAKE2b-256 |
a657c205069856a5da80815d9919f3a024a70c8b7cd95c48ebed8d7c4398f4e2
|
Provenance
The following attestation bundles were made for geointerpo-0.1.3.tar.gz:
Publisher:
publish.yml on homayounrezaie/geointerpo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geointerpo-0.1.3.tar.gz -
Subject digest:
be7e46e81823227134449406312936a21dfe5f89f11472a3c0edf6f4ae2b0fa4 - Sigstore transparency entry: 1341020197
- Sigstore integration time:
-
Permalink:
homayounrezaie/geointerpo@2dba5c5f341cbdcbdc486a184664ac5ee4e336b3 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/homayounrezaie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2dba5c5f341cbdcbdc486a184664ac5ee4e336b3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file geointerpo-0.1.3-py3-none-any.whl.
File metadata
- Download URL: geointerpo-0.1.3-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b75f6feab095aa5e5032d2f35fde47de4f495376573aea36e7f3b6f2416f528e
|
|
| MD5 |
77309e723a6b2634a6e182d0fd1fc838
|
|
| BLAKE2b-256 |
c2d5952d43641a023328b244b60ae3925287813b4129f8e5c3fed4532626d417
|
Provenance
The following attestation bundles were made for geointerpo-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on homayounrezaie/geointerpo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geointerpo-0.1.3-py3-none-any.whl -
Subject digest:
b75f6feab095aa5e5032d2f35fde47de4f495376573aea36e7f3b6f2416f528e - Sigstore transparency entry: 1341020257
- Sigstore integration time:
-
Permalink:
homayounrezaie/geointerpo@2dba5c5f341cbdcbdc486a184664ac5ee4e336b3 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/homayounrezaie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2dba5c5f341cbdcbdc486a184664ac5ee4e336b3 -
Trigger Event:
release
-
Statement type: