#reading #analysis #seismic #read-write #sac

萨奇奥

用于读取和写入 SAC (Seismic Analysis Code) 文件的库

1 个不稳定版本

0.1.0 2019 年 5 月 28 日

7#seismic

MIT/X11 许可协议

78KB
1.5K SLoC

萨奇奥

Documentation

用于读取和写入 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