Skip to content

cybergis/rs-embed

Repository files navigation

icon rs-embed

One line code to get Any Remote Sensing Foundation Model (RSFM) embeddings for Any Place and Any Time

arXiv Docs Python PyTorch 2.2

Visitors Last Commit License

Docs · Learn · Guide · StartNow · UseCase · Paper

Get Start on I-GUIDE Today!

TL;DR

emb = get_embedding("prithvi", spatial=..., temporal=..., output=...)

Install

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 authenticate

Quick Example

from rs_embed import FetchSpec, 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:

Main API

For new users, start with these primary APIs:

  • get_embedding(...): one ROI -> one embedding
  • get_embeddings_batch(...): many ROIs, same model
  • export_batch(...): export datasets / experiments (single or multiple ROIs)
  • inspect_provider_patch(...): inspect raw provider patches before inference

Supported Models

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.

Precomputed Embeddings

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

On-the-fly Foundation Models

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.

Learn More

📚 Full documentation

🪄 Get Started: Try rs-embed Now

🪀 Use case: Maize yield mapping Illinois

Extending

We welcome requests for new model integrations and extensions. If you have your own work, or a model/paper you care about and think is meaningful to include, please open an Issue and share it. We will prioritize helping extend rs-embed for those requests.

If you want to implement the extension yourself, you can also follow the guide in extending.

🎖 Acknowledgements

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)

Citation

@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}, 
}

License

This project is released under the Apache-2.0

Releases

No releases published

Packages

 
 
 

Contributors

Languages