9 个版本
使用旧 Rust 2015
0.1.9 | 2019年9月5日 |
---|---|
0.1.8 | 2018年11月26日 |
0.1.7 | 2018年10月18日 |
0.1.4 | 2018年1月2日 |
0.0.4 | 2016年2月22日 |
#174 在 地理空间 中
每月 25 次下载
45KB
1K SLoC
简单的 Openstreetmap PBF 文件格式读取器。 http://wiki.openstreetmap.org/wiki/PBF_Format
此库使用多线程方法读取数据,并针对速度进行了优化 :D。
可以通过将附加并发线程的数量限制为 0 来实现串行读取。
例如,使用 src/lib.rs 测试。有一个 GUI 示例可以运行:cargo run --release --example paint
完成
- 读取节点、路线、关系
待办事项
- 为更快地读取构建索引。
- 过滤读取。
- 文档和示例。
- 模板浮点型和 ID 类型以可调存储精度。
*** 感谢 Gitlab.com 团队允许在线编辑此文件!
原则 #1 用户不能从 4"-6" 屏幕中捕获超过 ~5mb 的文本+矢量数据。
lib.rs
:
该 pbf-reader
程序包提供了解析 PBF OSM 格式 http://wiki.openstreetmap.org/wiki/PBF_Format 的功能。extern crate pbf_reader; use *; use std::sync::mpsc; // 创建通信通道 let (mut node_tx, node_rx) = mpsc::channel::(); // 在后台线程中开始读取 let h = thread::spawn(move || { // 允许使用比当前线程多 4 个线程。 let threads = 4; let result = read_pbf(&"src/sample.pbf".to_string(), threads, &mut node_tx); result.unwrap(); }); let mut count = 0; loop { if let PBFData::ParseEnd = node_rx.recv().unwrap() { break; } count = count + 1; } assert_eq!(count, 338); h.join().unwrap();
依赖关系
~1.6–3MB
~52K SLoC