#openstreetmap #routing #osm #osrm #parser

osrmreader

OSRM路由引擎使用的*.osrm文件的读取器

2个版本

0.1.1 2020年9月17日
0.1.0 2020年9月14日

#2090 in 解析器实现

21 每月下载量
nori 中使用

MIT/Apache

19KB
154

osrmreader

用于快速读取*.osrm文件格式的读取器。

这些文件由路由引擎OSRM使用,通常使用osrm-extract工具从OpenStreetMap数据中提取。一个*.osrm文件将路由图编码为节点和边。

Crates.io Documentation

使用方法

将以下内容添加到您的Cargo.toml

[dependencies]
osrmreader = "0.1"

示例

以下是一个简单的示例,打印所有节点和边

use osrmreader::{OsrmReader, Entry};

fn main() -> Result<(), std::io::Error> {
    let f = std::fs::File::open("tests/test.osrm")?;
    let mut reader = OsrmReader::new(f);

    for entry in reader.entries()? {
        match entry {
            Ok(Entry::Nodes(nodes)) => {
                // Read nodes
                for n in nodes {
                    println!("{:?}", n?);
                }
            },
            Ok(Entry::Edges(edges)) => {
                // Read edges
                for e in edges {
                    println!("{:?}", e?);
                }
            },
            _ => {},
        }
    }

    Ok(())
}

许可

该项目根据您的选择采用以下任一许可:

依赖项

~2–10MB
~114K SLoC