5 个版本
0.1.4 | 2022年7月21日 |
---|---|
0.1.3 | 2022年5月22日 |
0.1.2 | 2020年6月10日 |
0.1.1 | 2020年6月10日 |
0.1.0 | 2020年6月10日 |
592 在 WebAssembly
87KB
2K SLoC
rust-geobuf
使用 rust 1.60 测试
将 geobuf 编码器和解码器移植到 Rust 和 WebAssembly
用法
这个crate提供了一个命令行二进制文件,一个Rust库和一个WebAssembly包。二进制文件和库在geobuf
中,Rust/WebAssembly代码在geobuf-wasm
中。
二进制文件
geobuf[encode|decode] -i<path-to-input-file> -o<path-to-output-file>
使用 geobuf [encode|decode] --help
获取更多信息。
库
use geobuf::{decode, encode};
use serde_json;
fn main() {
let original_geojson = serde_json::from_str(r#"{"type": "Point", "coordinates": [100.0, 0.0]}"#).unwrap();
let geobuf = encode::Encoder::encode(&original_geojson, 6, 2).unwrap();
let geojson = decode::Decoder::decode(&geobuf).unwrap();
assert_eq!(original_geojson, geojson);
}
WebAssembly
www
文件夹包含一个示例项目,展示了如何使用 wasm 代码。
要本地运行示例,克隆仓库并运行以下命令
wasm-pack build-- --no-default-features--features wasm
cdwww && npmi && npmstart
注意:当前的 wasm 代码比node 版本慢,并且需要重构以改进 JS 和 Rust 代码之间数据传递的方式。
依赖
~9–21MB
~314K SLoC