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日

592WebAssembly

ISC 许可证

87KB
2K SLoC

rust-geobuf

Crates.io Build Status Coverage Status

使用 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