Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stac-utils/stac-rs
Rust implementation of the SpatioTemporal Asset Catalog (STAC) specification
https://github.com/stac-utils/stac-rs
geospatial raster stac
Last synced: 4 months ago
JSON representation
Rust implementation of the SpatioTemporal Asset Catalog (STAC) specification
- Host: GitHub
- URL: https://github.com/stac-utils/stac-rs
- Owner: stac-utils
- License: apache-2.0
- Created: 2021-03-29T17:08:13.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-26T13:59:01.000Z (4 months ago)
- Last Synced: 2024-02-26T15:03:28.094Z (4 months ago)
- Topics: geospatial, raster, stac
- Language: Rust
- Homepage:
- Size: 1.14 MB
- Stars: 48
- Watchers: 3
- Forks: 7
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT
Lists
- awesome-earthobservation-code - stac-rs - `Rust` implementation of the SpatioTemporal Asset Catalog (STAC) specification (`Python` processing of optical imagery (non deep learning) / Cloud Native Geospatial)
README
# stac-rs
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/stac-utils/stac-rs/ci.yml?branch=main&style=for-the-badge)](https://github.com/stac-utils/stac-rs/actions/workflows/ci.yml)
![Crates.io](https://img.shields.io/crates/l/stac?style=for-the-badge)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=for-the-badge)](./CODE_OF_CONDUCT)Rust implementation of the [SpatioTemporal Asset Catalog (STAC)](https://stacspec.org/) specification, spread over several crates.
![]()
![]()
| Crate | Description | Badges |
| ----- | ---- | --------- |
| [stac](./stac/README.md) | Core data structures and synchronous I/O | [![docs.rs](https://img.shields.io/docsrs/stac?style=flat-square)](https://docs.rs/stac/latest/stac/)
[![Crates.io](https://img.shields.io/crates/v/stac?style=flat-square)](https://crates.io/crates/stac) |
| [stac-validate](./stac-validate/README.md) | Validate STAC data structures with [jsonschema](https://json-schema.org/) | [![docs.rs](https://img.shields.io/docsrs/stac-validate?style=flat-square)](https://docs.rs/stac-validate/latest/stac-validate/)
[![Crates.io](https://img.shields.io/crates/v/stac-validate?style=flat-square)](https://crates.io/crates/stac-validate) |
| [stac-api](./stac-api/README.md) | Data structures for the [STAC API](https://github.com/radiantearth/stac-api-spec) specification | [![docs.rs](https://img.shields.io/docsrs/stac-api?style=flat-square)](https://docs.rs/stac-api/latest/stac_api/)
[![Crates.io](https://img.shields.io/crates/v/stac-api?style=flat-square)](https://crates.io/crates/stac-api)
| [stac-async](./stac-async/README.md) | Asynchronous I/O with [tokio](https://tokio.rs/) | [![docs.rs](https://img.shields.io/docsrs/stac-async?style=flat-square)](https://docs.rs/stac-async/latest/stac_async/)
[![Crates.io](https://img.shields.io/crates/v/stac-async?style=flat-square)](https://crates.io/crates/stac-async)
| [stac-cli](./stac-cli/README.md)| Command line interface | [![docs.rs](https://img.shields.io/docsrs/stac-cli?style=flat-square)](https://docs.rs/stac-cli/latest/stac_cli/)
[![Crates.io](https://img.shields.io/crates/v/stac-cli?style=flat-square)](https://crates.io/crates/stac-cli)## Usage
To use our [command-line interface (CLI)](./stac-cli/README.md), first install Rust, e.g. with [rustup](https://rustup.rs/).
Then:```shell
cargo install stac-cli
```Validate a STAC Item:
```shell
$ stac validate https://raw.githubusercontent.com/radiantearth/stac-spec/master/examples/simple-item.json
OK!
$ stac validate stac-cli/tests/data/collection-bad-temporal.json
Validation error at /extent/temporal: [["2020-12-11T22:38:32.125Z","2020-12-14T18:02:31.437Z"]] is not of type "object"
ERROR: validation errors
```Search a STAC API:
```shell
stac search https://earth-search.aws.element84.com/v1 \
-c sentinel-2-l2a \
--max-items 1 \
--sortby='-properties.datetime' \
--intersects '{"type":"Point","coordinates":[-105.1019,40.1672]}'
```To see a full list of available commands:
```shell
stac --help
```The other crates in this repository are libraries — see their respective READMEs and documentation for details on their usage.
## Development
See [CONTRIBUTING.md](./CONTRIBUTING.md) for information about contributing to this project.
See [RELEASING.md](./RELEASING.md) for a checklist to use when releasing a new version.## Ecosystem
Here's some related projects that use this repo:
- [pgstac-rs](https://github.com/stac-utils/pgstac-rs): Rust interface for [pgstac](https://github.com/stac-utils/pgstac), PostgreSQL schema and functions for STAC
- [stac-server-rs](https://github.com/gadomski/stac-server-rs): A STAC API server implementation## License
**stac-rs** is dual-licensed under both the MIT license and the Apache license (Version 2.0).
See [LICENSE-APACHE](./LICENSE-APACHE) and [LICENSE-MIT](./LICENSE-MIT) for details.