35 个版本
0.16.1 | 2023年12月1日 |
---|---|
0.16.0 | 2023年2月6日 |
0.15.2 | 2022年2月1日 |
0.15.1 | 2021年11月2日 |
0.5.0 | 2016年6月27日 |
#15 in 地理空间
每月下载量2,036
在 19 个crate(15 个直接)中使用
41KB
766 行
osmpbfreader-rs
读取 OpenStreetMap PBF 文件 使用 rust 的简单有效方法。此库的主要灵感来自 OSM-binary。
文档
在 Docs.rs 上查找
使用此库
此crate与Cargo一起工作,位于 crates.io 上。该软件包定期更新。
对于完整的示例,请参阅 示例。
您可以在 Geofabrik 的免费下载服务器 上找到 OSM PBF 文件。
性能
使用不同示例编译的发布模式
$ grep CPU /proc/cpuinfo | uniq -c
8 model name : Intel(R) Core(TM) i7-4702HQ CPU @ 2.20GHz
$ rustc --version
rustc 1.14.0 (e8a012324 2016-12-16)
$ ls -sh france-latest.osm.pbf
3,3G france-latest.osm.pbf
$ time ./target/release/examples/tutorial france-latest.osm.pbf
416483839 objects in "france-latest.osm.pbf"
real 4m24.784s
user 4m18.476s
sys 0m6.164s
$ time ./target/release/examples/count france-latest.osm.pbf admin_level 8
counting objects with tags["admin_level"] = "8"...
53 nodes, mean coord: 46.25862766415095, 2.9082348867924517.
108190 ways, mean |nodes|: 72.09304926518162
35984 relations, mean |references|: 8.705369052912406
real 1m10.117s
user 8m16.164s
sys 0m23.120s
$ time ./target/release/examples/count_with_deps france-latest.osm.pbf admin_level 8
counting objects with tags["admin_level"] = "8" and their depedencies...
9497221 nodes, mean coord: 46.69071931974348, 2.2632424769587915.
136950 ways, mean |nodes|: 70.35282949981745
36408 relations, mean |references|: 8.771121731487586
real 5m9.814s
user 33m52.820s
sys 0m28.624s
许可证
本作品是免费的。您可以根据 Sam Hocevar 发布的 Do What The Fuck You Want To Public License,版本 2 的条款重新分发或修改它。有关更多信息,请参阅 COPYING 文件。
注意,src/fileformat.proto
和 src/osmformat.proto
来自 OSM-binary,采用 MIT 许可证。
依赖项
~2.3–3MB
~65K SLoC