#transit #gtfs #validation #public #stop #path #data

transitfeed

GTFS 公共交通解码/编码器和实用工具

7 个版本

使用旧的 Rust 2015

0.3.0 2019年7月8日
0.2.0 2017年9月5日
0.1.4 2016年8月15日
0.1.3 2016年6月30日

解析器实现 中排名 #1871

每月下载量 34
用于 timetable

MIT 许可证

31KB
741

包含 (Zip 文件,4KB) examples/sample-feed.zip

交通

为 Rust 提供GTFS 序列化/反序列化、验证和操作的快速交通库。

用法

对于您文件系统上的文件,请使用 GTFSIterator::from_path

extern crate transitfeed;
use transitfeed::{GTFSIterator, Agency};

fn read_agencies() {
    let iterator : GTFSIterator<_, Agency> = GTFSIterator::from_path("~/Downloads/gtfs/agency.txt").unwrap();
    for result in iterator {
        match result {
            Ok(entry) => println!("{:?}", entry),
            Err(err) => println!("{}", err),
        };
    }
}

如果您有自己的 csv::Reader,则只需给 GTFSIterator::new 起一个有意义的名称

let iterator : GTFSIterator<_, Agency> = GTFSIterator::new(reader, "example_data").unwrap();
for result in iterator {
    match result {
        Ok(entry) => println!("{:?}", entry),
        Err(err) => println!("{}", err),
    };
}

lib.rs:

Transit Feed 提供了一套一致的数据结构、解析器和 API 客户端,用于获取有关路线、站点、行程、站点时间等可用的交通相关信息。

依赖关系

~4–6MB
~89K SLoC