95 个版本 (52 个重大更新)
0.56.1 | 2023 年 5 月 22 日 |
---|---|
0.55.0 | 2023 年 3 月 27 日 |
0.53.0 | 2022 年 12 月 2 日 |
0.52.0 | 2022 年 10 月 24 日 |
0.5.0 | 2019 年 7 月 4 日 |
#236 in 文件系统
1MB
18K SLoC
transit_model
transit_model
是一个用于管理、转换和丰富公交数据的 Rust crate。
这是通过实现 NTFS 模型(在 navitia 中使用)来完成的。
此存储库汇集了提供转换和丰富公交数据使能库和二进制文件的 crates。
此外,transit_model
本身也是一个提供各种功能的库。请参考代码、示例 和 文档 以了解它们。
请检查每个 crate 附带的文档
- 二进制 gtfs2netexfr 将 GTFS 数据格式转换为 NeTEx-France 数据格式。
- 二进制 gtfs2ntfs 将 GTFS 数据格式转换为 NTFS 数据格式。
- 二进制ntfs2gtfs将NTFS数据格式转换为GTFS数据格式。
- 二进制ntfs2netexfr将NTFS数据格式转换为NeTEx-France数据格式。
- 二进制ntfs2ntfs检查并清理NTFS数据集。
- 二进制restrict-validity-period限制NTFS数据集的有效期,并清除过时数据。
Docker使用方法
上述所有二进制程序都可以与Docker一起使用。所有二进制程序都是navitia/transit_model
镜像的一部分,该镜像与cratetransit_model
标记在一起。以下以gtfs2ntfs
为例。
mkdir output-ntfs/
docker run \
--volume "${PWD}/tests/fixtures/gtfs:/gtfs" \
--volume "${PWD}/output-ntfs:/ntfs" \
navitia/transit_model \
gtfs2ntfs \
--input /gtfs \
--output /ntfs
设置Rust环境
transit_model
是用Rust开发的。
如果您想贡献或安装二进制程序,您需要安装Rust环境:请参阅rustup.rs
PROJ依赖
基于PROJ,proj
crate允许转换定位坐标。
一些transit_model
的crate(请参阅每个文档)使用PROJ。
因此,必须安装在系统上以编译和使用这些crate。
PROJ的二进制程序
如果您的系统已安装pkg-config
并且安装了足够新的PROJ版本,它将被使用。否则,crate将回退到从源构建PROJ,这需要一些构建时间依赖项。
要安装PROJ的构建时间依赖项,您可以执行以下命令(在Debian系统上)
make install_proj_deps
您还可以全局安装所需的PROJ版本,以避免完全重建(例如:cargo clean
)
make install_proj
PROJ安装说明也可能有所帮助。
作为开发者使用PROJ和transit_model
proj
crate是C库的绑定。
PROJ被配置为Rust的feature。
因此,为了在编码中使用它,必须激活proj
feature(cargo build --features=proj
)。
然后应条件性地启用特定代码,使用以下格式:#[cfg(feature="proj")]
。
NTFS 支持级别
transit_model
支持 NTFS 格式的绝大部分功能。
根据标准,一些功能未完全支持
- 不支持行组(文件
line_groups.txt
和line_group_links.txt
)。 - 在版本
v0.10.0
中引入的stop_times.txt
中的字段trip_short_name_at_stop
不支持(参见 NTFS 更改日志(法语))。
贡献
请参阅 CONTRIBUTING 了解有关代码的更多信息或如何测试、贡献、报告问题。
许可证
依赖关系
~12–23MB
~311K SLoC