One line code to get Any Remote Sensing Foundation Model (RSFM) embeddings for Any Place and Any Time
Get Start on I-GUIDE Today!
emb = get_embedding("prithvi", spatial=..., temporal=..., output=...)git clone https://github.com/cybergis/rs-embed.git
cd rs-embed
pip install -e .For models that depend on terratorch (terramind):
pip install -e ".[terratorch]"If this is your first time using Google Earth Engine, authenticate once:
earthengine authenticatefrom rs_embed import PointBuffer, TemporalSpec, OutputSpec, get_embedding
spatial = PointBuffer(lon=121.5, lat=31.2, buffer_m=2048)
temporal = TemporalSpec.range(
"2022-06-01",
"2022-09-01",
)
emb = get_embedding(
"prithvi",
spatial=spatial,
temporal=temporal,
output=OutputSpec.pooled(),
)See the visualization helper and end-to-end notebook in the repository:
For new users, start with these primary APIs:
get_embedding(...): one ROI -> one embeddingget_embeddings_batch(...): many ROIs, same modelexport_batch(...): export datasets / experiments (single or multiple ROIs)inspect_provider_patch(...): inspect raw provider patches before inference
This is a convenience index with basic model info only (for quick scanning / links). For detailed I/O behavior and preprocessing notes, see Supported Models.
| Model ID | Resolution | Time Coverage | Publication |
|---|---|---|---|
tessera |
10m | 2017-2025 | CVPR 2026 |
gse (Alpha Earth) |
10 m | 2017-2024 | arXiv 2025 |
copernicus |
0.25° | 2021 | ICCV 2025 |
| Model ID | Primary Input | Resolution(Default) | Publication | Link |
|---|---|---|---|---|
satmae |
S2 RGB | 10m | NeurIPS 2022 | link |
satmaepp |
S2 RGB | 10m | CVPR 2024 | link |
satmaepp_s2_10b |
S2 SR 10-band | 10m | CVPR 2024 | link |
prithvi |
S2 6-band | 30m | arXiv 2023 | link |
scalemae |
S2 RGB (+ scale) | 10m | ICCV 2023 | link |
remoteclip |
S2 RGB | 10m | TGRS 2024 | link |
dofa |
Multi-band + wavelengths | 10m | arXiv 2024 | link |
satvision |
TOA 14-channel | 1000m | arXiv 2024 | link |
anysat |
S2 time series (10-band) | 10m | CVPR 2025 | link |
galileo |
S2 time series (10-band) | 10m | ICML 2025 | link |
wildsat |
S2 RGB | 10m | ICCV 2025 | link |
fomo |
S2 12-band | 10m | AAAI 2025 | link |
terramind |
S2 12-band | 10m | ICCV 2025 | link |
terrafm |
S2 12-band / S1 VV-VH | 10m | ICLR 2026 | link |
thor |
S2 10-band | 10m | arXiv 2026 | link |
agrifm |
S2 time series (10-band) | 10m | RSE 2026 | link |
Resolution here means the default provider/source fetch resolution used by the adapter, not the final resized tensor shape seen by the model.
🪄 Get Started: Try rs-embed Now
🪀 Use case: Maize yield mapping Illinois
We welcome issues for new model integrations, extension ideas, bugs, and documentation gaps. If you have your own work, or a model or paper that you think would be valuable to include in rs-embed, please open an Issue and share the relevant links, context, and examples.
We also warmly welcome community contributions, including new model support, bug fixes, documentation improvements, and example notebooks. If you would like to contribute directly, please start with the extending guide and the contributing guide.
We would like to thank the following organizations and projects that make rs-embed possible: Google Earth Engine, TorchGeo, GeoTessera, TerraTorch, rshf, and the Copernicus-Embed.
This library also builds upon the incredible work of the Remote Sensing community!(Full list and citations available in our Documentation)
@article{ye2026modelplacetimeremote,
title={Any Model, Any Place, Any Time: Get Remote Sensing Foundation Model Embeddings On Demand},
author={Dingqi Ye and Daniel Kiv and Wei Hu and Jimeng Shi and Shaowen Wang},
year={2026},
eprint={2602.23678},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2602.23678},
}
This project is released under the Apache-2.0

