@@ -480,7 +480,8 @@ destination_display_map_t get_destination_displays(
480480 " //ServiceFrame/destinationDisplays/DestinationDisplay" )) {
481481 auto const n = display.node ();
482482 destination_displays.emplace (
483- id (n), uniq (destination_display{.direction_ = val (n, " FrontText" )}));
483+ id (n), uniq (destination_display{.direction_ = val (n, " FrontText" ) ||
484+ val (n, " Name" )}));
484485 }
485486 return destination_displays;
486487}
@@ -967,11 +968,13 @@ std::vector<service_journey> get_service_journeys(
967968 // CH-SKI
968969 auto const arr = call.child (" Arrival" );
969970 auto const dep = call.child (" Departure" );
971+ auto const dest_ref = ref (call, " DestinationDisplayRef" );
970972 jp.stop_points_ .push_back ({
971973 .stop_ = stop_assignments.at (ref (call, " ScheduledStopPointRef" )),
972974 .destination_display_ =
973- destination_displays.at (ref (call, " DestinationDisplayRef" ))
974- .get (),
975+ dest_ref.empty () && !jp.stop_points_ .empty ()
976+ ? jp.stop_points_ .back ().destination_display_
977+ : destination_displays.at (dest_ref).get (),
975978 .in_allowed_ = is_true_or_empty (val (dep, " ForBoarding" )),
976979 .out_allowed_ = is_true_or_empty (val (arr, " ForAlighting" )),
977980 .notices_ = utl::merge (notice_assignments,
@@ -1527,15 +1530,6 @@ void load_timetable(loader_config const& config,
15271530 },
15281531 pt->update_fn ());
15291532
1530- fmt::println (std::clog, " GLOBAL JOURNEY MEETINGS" );
1531- for (auto const & [from, to] : global_journey_meetings) {
1532- fmt::println (std::clog, " from={}, to={}" , from,
1533- to | std::views::transform ([](journey_meeting const & x) {
1534- return x.to_journey_id_ ;
1535- }));
1536- }
1537- fmt::println (std::clog, " ----" );
1538-
15391533 auto route_services =
15401534 hash_map<gtfs::route_key_t , std::vector<std::vector<utc_trip>>,
15411535 gtfs::route_key_hash, gtfs::route_key_equals>{};
0 commit comments