2 个版本
0.1.1 | 2022年11月30日 |
---|---|
0.1.0 | 2022年11月28日 |
#242 in 地理空间
66KB
1.5K SLoC
地球观测产品和数据集命名约定的解析器
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!();
}
}
该crate处于早期阶段。缺少很多解析器 - 欢迎提交拉取请求。
依赖项
~2–3MB
~55K SLoC