自制GTFS文件在OpenTripPlanner中无法识别公交路线求助
排查OpenTripPlanner不识别GTFS公交路线的步骤
检查GTFS核心文件的关联与有效性
- 确认
trips.txt中每条记录都有有效的service_id(关联calendar.txt或calendar_dates.txt)和route_id(关联routes.txt),缺失任一关联都会导致trip不被加载。 - 检查
stop_times.txt:每条记录必须包含trip_id(对应trips.txt)、stop_id(对应stops.txt),且arrival_time/departure_time格式为HH:MM:SS(跨天的时间可写为25:30:00这类格式),格式错误会导致该trip被跳过。 - 验证
calendar.txt:确保你查询的日期在start_date和end_date之间,且对应星期几的字段设为1;如果用calendar_dates.txt,确认exception_type为1(添加运营日)而非2(排除运营日)。
- 确认
查看OTP构建日志
运行OTP构建命令(如otp --build [数据目录])时,仔细查看控制台输出的日志,重点关注包含GTFS、trip、service的条目,比如“Skipping trip with no valid stops”“Service has no active dates”这类警告或错误,这些是数据不被导入的直接原因。用GTFS校验工具排查文件问题
使用GTFS校验工具扫描你的文件,修复所有必填字段缺失、格式错误、引用关系断裂等问题。OTP对不符合GTFS规范的文件会自动忽略无效数据,哪怕是看似不严重的警告也可能导致公交路线无法生成。检查OTP路由配置
- 打开
otp-config.json,确认routingDefaults.allowedModes中包含transit模式,没有被禁用。 - 测试时选择
calendar.txt中明确标注的运营日期和时间段,避免因查询时间不在公交运营范围内导致无结果。
- 打开
内容的提问来源于stack exchange,提问作者Billy
相关产品推荐
相关产品推荐

