An open API service indexing awesome lists of open source software.

https://github.com/nmandery/eo-identifiers

Parsers for naming conventions of earth observation products and datasets
https://github.com/nmandery/eo-identifiers

earth-observation parser satellite

Last synced: 10 months ago
JSON representation

Parsers for naming conventions of earth observation products and datasets

Awesome Lists containing this project

README

          

Parsers for naming conventions of earth observation products and datasets

[![Latest Version](https://img.shields.io/crates/v/eo-identifiers.svg)](https://crates.io/crates/eo-identifiers)
[![Documentation](https://docs.rs/eo-identifiers/badge.svg)](https://docs.rs/eo-identifiers)
![ci](https://github.com/nmandery/eo-identifiers/workflows/CI/badge.svg)
[![dependency status](https://deps.rs/repo/github/nmandery/eo-identifiers/status.svg)](https://deps.rs/repo/github/nmandery/eo-identifiers)

```rust
use eo_identifiers::Identifier;
use eo_identifiers::identifiers::sentinel2::ProductLevel;
use std::str::FromStr;
use chrono::{NaiveDate, NaiveDateTime, NaiveTime};

fn example() {
let ident = Identifier::from_str("S2A_MSIL1C_20170105T013442_N0204_R031_T53NMJ_20170105T013443")
.unwrap();

if let Identifier::Sentinel2Product(product) = ident {
assert_eq!(product.product_level, ProductLevel::L1C);
assert_eq!(
product.start_datetime,
NaiveDateTime::new(
NaiveDate::from_ymd_opt(2017, 1, 5).unwrap(),
NaiveTime::from_hms_opt(1, 34, 42).unwrap()
)
);
assert_eq!(product.relative_orbit_number, 31);
}
else {
unreachable!();
}
}
```

This crate is at an early stage. There are lots of parser missing - pull requests are welcome.