1 个不稳定版本
0.1.0 | 2019 年 5 月 28 日 |
---|
7 在 #seismic
78KB
1.5K SLoC
萨奇奥
用于读取和写入 SAC (Seismic Analysis Code) 文件的 Rust 接口
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
sacio = "0.1.0"
示例
use sacio::Sac;
use sacio::SacString;
let mut s = Sac::from_file("tests/file.sac")?;
assert_eq!(s.mean_amp(), -0.09854721);
assert_eq!(s.min_amp(), -1.56928);
assert_eq!(s.max_amp(), 1.52064);
s.y.iter_mut().for_each(|v| *v *= 2.0);
s.extrema_amp();
assert_eq!(s.mean_amp(), -0.09854721 * 2.0);
assert_eq!(s.min_amp(), -1.56928 * 2.0);
assert_eq!(s.max_amp(), 1.52064 * 2.0);
s.set_string(SacString::Network, "CI");
s.set_string(SacString::Station, "PAS");
s.set_string(SacString::Location, "10");
s.set_string(SacString::T1, "PKIKP");
s.set_string(SacString::T1, "SKJKS");
assert_eq!(s.dist_deg(), 3.3574646);
s.to_file("tests/main.sac")?;
许可协议
本版本根据 MIT/X11 许可协议发布
lib.rs
:
用于读取和写入地震分析代码 (SAC) 文件的库
参考: SAC 手册
use sacio::Sac;
use sacio::SacString;
let mut s = Sac::from_file("tests/file.sac")?;
assert_eq!(s.mean_amp(), -0.09854721);
assert_eq!(s.min_amp(), -1.56928);
assert_eq!(s.max_amp(), 1.52064);
s.y.iter_mut().for_each(|v| *v *= 2.0);
s.extrema_amp();
assert_eq!(s.mean_amp(), -0.09854721 * 2.0);
assert_eq!(s.min_amp(), -1.56928 * 2.0);
assert_eq!(s.max_amp(), 1.52064 * 2.0);
s.set_string(SacString::Network, "CI");
s.set_string(SacString::Station, "PAS");
s.set_string(SacString::Location, "10");
s.set_string(SacString::T1, "PKIKP");
s.set_string(SacString::T1, "SKJKS");
assert_eq!(s.dist_deg(), 3.3574646);
s.to_file("tests/main.sac")?;
依赖项
~1.3–1.7MB
~33K SLoC