Repository navigation
PyGeoFetch v2.6.2
PyGeoFetch v2.6.2: Production-Ready Multi-Provider Earth Observation & InSAR Platform
Executive Summary
PyGeoFetch v2.6.2 is a mature, open-source Python framework that unifies satellite data acquisition, pre-download quality control, and advanced geospatial processing. It eliminates the fragmentation of multi-provider satellite APIs while introducing the first pure-Python, Windows-native end-to-end InSAR processing chain. Designed for reproducibility and accessibility, it empowers researchers, government analysts, and students—particularly in the Global South—to execute complex Earth Observation (EO) workflows without relying on expensive commercial software or Linux/HPC infrastructure.
Core Innovations
The "Preflight Gate" (Bandwidth-Saving Quality Control): A novel pre-download validation engine that evaluates stack viability before acquiring data. It automatically excludes scenes with insufficient AOI coverage, validates Sentinel-1 TOPS burst synchronization (<5 ms requirement), and implements orbit-cascading fallbacks (Precise → Restituted → Predicted), preventing the acquisition of terabytes of unusable data.
Windows-Native InSAR Chain: Zero-configuration SNAPHU integration that automatically detects OS architecture and deploys pre-compiled binaries. This completely removes the notorious manual compilation barrier that has historically alienated Windows users from advanced InSAR processing.
Unified Multi-Provider API: A single client.search() call queries 22+ providers (Copernicus, USGS, Planetary Computer, AWS Earth, NASA Earthdata, etc.) simultaneously, returning a deduplicated, standardized SatelliteData object with automatic keyring-based authentication.
Comprehensive Processing Capabilities
Advanced InSAR & SAR Processing
Complete Processing Chain: Orbit-based geometric coregistration, Enhanced Spectral Diversity (ESD) refinement, interferogram formation, topographic phase removal, and Goldstein filtering.
Native SBAS Time-Series Inversion: Weighted Least Squares (WLS) solver with native Phase Closure (unwrapping error correction) and DEM Error Correction—eliminating the need for external dependencies like MintPy.
PS-InSAR Hybrid Densification: Amplitude Dispersion Index (ADI) selection refined by temporal coherence, with NaN-aware Atmospheric Phase Screen (APS) estimation.
Large-Deformation Monitoring: Amplitude-based offset tracking (speckle tracking) with sub-pixel parabolic refinement and SNR-based quality control for areas exceeding conventional phase limits (e.g., active mining, landslides).
Atmospheric & Ionospheric Correction: Integrated support for ERA5/PyAPS, GACOS, and IONEX/TEC corrections.
Optical & Multi-Sensor Processing
41-Step Chainable Pipeline: Atmospheric correction (DOS, 6S, Sen2Cor), cloud masking (SCL, Fmask), 17 spectral indices, topographic correction, pan-sharpening, and multi-temporal compositing.
Modern Geospatial I/O: Native Cloud Optimized GeoTIFF (COG) export, lazy loading via xarray/dask integration, and stateful provenance tracking.
Geospatial Analysis & Visualization
Interactive mapping via leafmap/MapViewer integration.
Publication-ready risk mapping with Bayesian uncertainty quantification.
Automated provenance manifests (provenance.yaml) ensuring 100% reproducible research.
Validated Research Impact
Scientific Validation: Successfully detected Mexico City subsidence at -35.5 cm/yr, directionally consistent with the published benchmark of -39.1 cm/yr (Cigna & Tapete, 2021, Remote Sensing of Environment), using a fraction of the data volume.
Operational Efficiency: In benchmark testing, reduced average data acquisition time by 87% and prevented the download of 2.4 TB of decorrelated or orbit-deficient data via the Preflight Gate.
Production Scale: Successfully processed 450+ Sentinel-1 SLC pairs and 1,200+ optical scenes across diverse applications including mining subsidence (Obuasi, Ghana), flood mapping, and urban expansion.
Installation
PyGeoFetch is platform-independent (Python 3.9+) and available via PyPI.
Core package (Optical + Multi-Provider Data Access)
pip install pygeofetch
Full InSAR capabilities (includes native SBAS, PS-InSAR, Offset Tracking)
pip install "pygeofetch[insar-full]"
Advanced geospatial processing dependencies (rasterio, xarray, etc.)
pip install "pygeofetch[geo]"
Documentation & Support
Documentation & Tutorials: https://appiahkubis14.github.io/pygeofetch-docs/
Source Code & Issue Tracker: https://github.com/EOCoreINT/pygeofetch
Benchmarking Scripts: Available in the benchmarks/ directory of the repository for independent verification of performance claims.
License
MIT License — Designed to maximize reuse, modification, and integration across both academic and operational contexts.