2 个稳定版本

使用旧的 Rust 2015

1.0.1 2017年10月16日

#4 in #iris

41 每月下载量
用于 seedlink

MIT 许可证

115KB
2.5K SLoC

miniseed

MiniSEED for Rust 的库

这是一个基于 libmseed C 库的接口库,可以在以下地址找到:https://github.com/iris-edu/libmseed

有关数据格式的信息,请参见

用法

将此添加到您的 Cargo.toml

[dependencies]
miniseed = "1.0.0"

并将此添加到您的 crate 根目录

extern crate miniseed;

示例

extern crate miniseed;

use miniseed::ms_record;

fn main() {
    let file = "tests/sample.miniseed";
    let m = ms_record::read(file);
    println!("{}", m);
}

文档

https://docs.rs/miniseed/


lib.rs:

MiniSEED for Rust 的库

这是一个围绕 IRIS libmseed 库的包装器,可以在以下地址找到:https://github.com/iris-edu/libmseed

目前,它可以从文件中读取 miniseed 记录或在内存缓冲区中解析。底层数据和定时信息可以从 ms_record 中获取。

use miniseed::ms_record;
let file = "tests/sample.miniseed";
let rec = ms_record::read(file);
assert_eq!(rec.to_string(), "PN_PPNAF_00_HHZ, 1, D, 512, 206 samples, 100 Hz, 2016-10-30 18:02:58.230 UTC");
use miniseed::ms_record;
use std::fs::File;
use std::io::Read;

let mut file = File::open("tests/sample.miniseed").unwrap();
let mut buf = vec![];
let _ = file.read_to_end(&mut buf).unwrap();

let rec = ms_record::parse(&buf);
assert_eq!(rec.to_string(), "PN_PPNAF_00_HHZ, 1, D, 512, 206 samples, 100 Hz, 2016-10-30 18:02:58.230 UTC");

依赖项

~1–2.8MB
~53K SLoC