Geographic Neural Data Cube - Read and analyze .gndc compressed geospatial time-series data
Project description
pygndc
Geographic Neural Data Cube — a Python SDK for reading and analyzing .gndc compressed geospatial time-series data.
What is GeoNDC?
GeoNDC is a continuous-time, AI-ready representation of Earth observation archives. Unlike traditional Analysis-Ready Data (cloud-corrected raster files) or geospatial foundation model embeddings (abstract feature vectors), GeoNDC preserves the original physical observables — surface reflectance, vegetation indices, biophysical variables — while enabling millisecond-level random-access queries at any (x, y, t) coordinate.
Each archive (MODIS, Sentinel-2, Landsat, HiGLASS, …) is encoded into a single self-contained .gndc file (typically 0.5–2 GB) that runs on a laptop, a server, or directly in a browser via WebGPU. Data providers train the model once and publish the file; users download it and run inference locally — the compressed form is the analysis-ready form. No hosted runtime, no API quota, no vendor lock-in.
Key Capabilities
- Continuous-time reconstruction — query data at any moment, not just original observation times
- Millisecond random access — point time series in ~7 ms, full-frame reconstruction in ~2 s on a consumer GPU
- Analytic gradients — compute spatial/temporal derivatives directly from the neural network
- Compact storage — typically ~100:1 versus Int16 raster baselines, up to ~400:1 versus raw float archives
- Lightweight, torch-free decoder —
pip install pygndcreads.gndcwith only numpy + numba (no PyTorch, no CUDA toolkit); the default CPU path is faster than PyTorch-CPU, with optional NVIDIA GPU decoding that still needs no PyTorch or tiny-cuda-nn - Implicit gap-filling — cloud-occluded surfaces are reconstructed from the learned spatiotemporal field
- Multi-sensor support — Sentinel-2, Landsat, MODIS, HiGLASS, and more
Online Viewer & Sample Data
- Web Viewer: Browse
.gndcfiles directly in the browser via WebGPU at geondc.org/viewer — no installation required, GPU-accelerated, runs entirely client-side. - Sample Data: Download
.gndcdatasets from Hugging Face.
Documentation
- TUTORIAL.md — Installation, quick-start, CLI commands, end-to-end usage examples.
- API_Reference.md — Full Python API for
pygndc.open(),GNDCDataset,GNDCReader, analysis functions.
License
MIT License
Citation
@misc{qi2026geondcqueryableneuraldata,
title={GeoNDC: A Queryable Neural Data Cube for Planetary-Scale Earth Observation},
author={Jianbo Qi and Mengyao Li and Baogui Jiang and Yidan Chen and Qiao Wang},
year={2026},
eprint={2603.25037},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2603.25037},
}
Contact
- Author: Jianbo Qi
- Email: jianboqi@126.com
- Issues: GitHub Issues
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 pygndc-1.0.7.tar.gz.
File metadata
- Download URL: pygndc-1.0.7.tar.gz
- Upload date:
- Size: 109.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1acc25b95ad5b92cdccb5df86fcbe97f23c8f9ccc56129ed6937f58dd0411649
|
|
| MD5 |
741ec45881020a34bf4a3bfaad239481
|
|
| BLAKE2b-256 |
eba30f8b52547ad07c00c7e1001cbe2fc60d219dabb60f851e8c294d25c20ea8
|
Provenance
The following attestation bundles were made for pygndc-1.0.7.tar.gz:
Publisher:
publish.yml on jianboqi/pygndc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pygndc-1.0.7.tar.gz -
Subject digest:
1acc25b95ad5b92cdccb5df86fcbe97f23c8f9ccc56129ed6937f58dd0411649 - Sigstore transparency entry: 1776050881
- Sigstore integration time:
-
Permalink:
jianboqi/pygndc@a03709483b58183954f52ed4da077995f9746d7a -
Branch / Tag:
refs/tags/v1.0.7 - Owner: https://github.com/jianboqi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a03709483b58183954f52ed4da077995f9746d7a -
Trigger Event:
push
-
Statement type:
File details
Details for the file pygndc-1.0.7-py3-none-any.whl.
File metadata
- Download URL: pygndc-1.0.7-py3-none-any.whl
- Upload date:
- Size: 118.3 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 |
981f90e782409fee149f9066c8c2c12af5ca6d8b3daa208162df7dcc8d009ede
|
|
| MD5 |
b3a3768c7f79283e88b99ee05212f9c3
|
|
| BLAKE2b-256 |
d4cde057eca30a0d455259f2ebdf6be150d34593fc84e7ce16412ff656802649
|
Provenance
The following attestation bundles were made for pygndc-1.0.7-py3-none-any.whl:
Publisher:
publish.yml on jianboqi/pygndc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pygndc-1.0.7-py3-none-any.whl -
Subject digest:
981f90e782409fee149f9066c8c2c12af5ca6d8b3daa208162df7dcc8d009ede - Sigstore transparency entry: 1776050984
- Sigstore integration time:
-
Permalink:
jianboqi/pygndc@a03709483b58183954f52ed4da077995f9746d7a -
Branch / Tag:
refs/tags/v1.0.7 - Owner: https://github.com/jianboqi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a03709483b58183954f52ed4da077995f9746d7a -
Trigger Event:
push
-
Statement type: