- Defines Network, StopArea, StopPoints and JourneySections - Loads them from json using the build_from_json method
994 lines
24 KiB
C++
994 lines
24 KiB
C++
|
|
constexpr auto single_node_stop_points =
|
|
R"-(
|
|
{
|
|
"stop_points": [
|
|
{
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713040",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto single_node_journey =
|
|
// This is a simplified extract from /coverage/sncf/vehicle_journeys
|
|
// representing the line Dijon -> Cercy -> Nevers
|
|
R"-(
|
|
{
|
|
"vehicle_journeys": [
|
|
{
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "081200",
|
|
"utc_arrival_time": "071200",
|
|
"departure_time": "081200",
|
|
"utc_departure_time": "071200",
|
|
"headsign": "893009",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": false,
|
|
"skipped_stop": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto dijon_cercy_nevers_stop_points =
|
|
// This is a simplified extract from /coverage/sncf/stop_points
|
|
// representing stations Dijon, Cercy, Nevers
|
|
R"-(
|
|
{
|
|
"stop_points": [
|
|
{
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713040",
|
|
"name": "Dijon",
|
|
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87696492:Train",
|
|
"name": "Cercy-la-Tour",
|
|
"label": "Cercy-la-Tour (Cercy-la-Tour)",
|
|
"coord": {
|
|
"lon": "3.645084",
|
|
"lat": "46.85793"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87696492",
|
|
"name": "Cercy-la-Tour",
|
|
"label": "Cercy-la-Tour (Cercy-la-Tour)",
|
|
"coord": {
|
|
"lon": "3.645084",
|
|
"lat": "46.85793"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87696005:Train",
|
|
"name": "Nevers",
|
|
"label": "Nevers (Nevers)",
|
|
"coord": {
|
|
"lon": "3.150743",
|
|
"lat": "46.987282"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87696005",
|
|
"name": "Nevers",
|
|
"label": "Nevers (Nevers)",
|
|
"coord": {
|
|
"lon": "3.150743",
|
|
"lat": "46.987282"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto dijon_cercy_nevers_journey =
|
|
// This is a simplified extract from /coverage/sncf/vehicle_journeys
|
|
// representing the line Dijon -> Cercy -> Nevers
|
|
R"-(
|
|
{
|
|
"vehicle_journeys": [
|
|
{
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "081200",
|
|
"utc_arrival_time": "071200",
|
|
"departure_time": "081200",
|
|
"utc_departure_time": "071200",
|
|
"headsign": "893009",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "095300",
|
|
"utc_arrival_time": "085300",
|
|
"departure_time": "095400",
|
|
"utc_departure_time": "085400",
|
|
"headsign": "893009",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87696492:Train",
|
|
"name": "Cercy-la-Tour",
|
|
"label": "Cercy-la-Tour (Cercy-la-Tour)",
|
|
"coord": {
|
|
"lon": "3.645084",
|
|
"lat": "46.85793"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "102900",
|
|
"utc_arrival_time": "092900",
|
|
"departure_time": "102900",
|
|
"utc_departure_time": "092900",
|
|
"headsign": "893009",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87696005:Train",
|
|
"name": "Nevers",
|
|
"label": "Nevers (Nevers)",
|
|
"coord": {
|
|
"lon": "3.150743",
|
|
"lat": "46.987282"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto besancon_dijon_lons_train_only_stop_points =
|
|
R"-(
|
|
{
|
|
"stop_points": [
|
|
{
|
|
"id": "stop_point:SNCF:87718007:Train",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718007",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713412",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713040",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718841:Train",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718841",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718833:Train",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718833",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87715003:Train",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87715003",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718239:Train",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718239",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto besancon_dijon_lons_train_only_journeys =
|
|
R"-(
|
|
{
|
|
"vehicle_journeys": [
|
|
{
|
|
"id": "vehicle_journey:SNCF:2026-01-05:894210:1187:Train",
|
|
"name": "894210",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1817",
|
|
"name": "journey_pattern:1817"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "105600",
|
|
"utc_arrival_time": "095600",
|
|
"departure_time": "105600",
|
|
"utc_departure_time": "095600",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718007:Train",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "112000",
|
|
"utc_arrival_time": "102000",
|
|
"departure_time": "112200",
|
|
"utc_departure_time": "102200",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "115200",
|
|
"utc_arrival_time": "105200",
|
|
"departure_time": "115200",
|
|
"utc_departure_time": "105200",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "vehicle_journey:SNCF:2025-12-25:895705:1187:Train",
|
|
"name": "895705",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1982",
|
|
"name": "journey_pattern:1982"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "111400",
|
|
"utc_arrival_time": "101400",
|
|
"departure_time": "111400",
|
|
"utc_departure_time": "101400",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "113200",
|
|
"utc_arrival_time": "103200",
|
|
"departure_time": "113300",
|
|
"utc_departure_time": "103300",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718841:Train",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "113900",
|
|
"utc_arrival_time": "103900",
|
|
"departure_time": "114200",
|
|
"utc_departure_time": "104200",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718833:Train",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "123700",
|
|
"utc_arrival_time": "113700",
|
|
"departure_time": "123700",
|
|
"utc_departure_time": "113700",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87715003:Train",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "vehicle_journey:SNCF:2025-12-30:895857:1187:Train",
|
|
"name": "895857",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1899",
|
|
"name": "journey_pattern:1899"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "164700",
|
|
"utc_arrival_time": "154700",
|
|
"departure_time": "165200",
|
|
"utc_departure_time": "155200",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718007:Train",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "171500",
|
|
"utc_arrival_time": "161500",
|
|
"departure_time": "171600",
|
|
"utc_departure_time": "161600",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718841:Train",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "172100",
|
|
"utc_arrival_time": "162100",
|
|
"departure_time": "172200",
|
|
"utc_departure_time": "162200",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718833:Train",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"arrival_time": "175900",
|
|
"utc_arrival_time": "165900",
|
|
"departure_time": "180100",
|
|
"utc_departure_time": "170100",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718239:Train",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
|
|
constexpr auto besancon_dijon_lons_stop_points =
|
|
R"-(
|
|
{
|
|
"stop_points": [
|
|
{
|
|
"id": "stop_point:SNCF:87718007:Train",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718007",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713412",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87713040",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718841:Train",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718841",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718833:Train",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718833",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87715003:Train",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87715003",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718007:LongDistanceTrain",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718007",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718841:LongDistanceTrain",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718841",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718833:LongDistanceTrain",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718833",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_point:SNCF:87718239:LongDistanceTrain",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
},
|
|
"stop_area": {
|
|
"id": "stop_area:SNCF:87718239",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
)-";
|
|
|
|
constexpr auto besancon_dijon_lons_journeys =
|
|
R"-(
|
|
{
|
|
"vehicle_journeys": [
|
|
{
|
|
"id": "vehicle_journey:SNCF:2026-01-05:894210:1187:Train",
|
|
"name": "894210",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1817",
|
|
"name": "journey_pattern:1817"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "105600",
|
|
"utc_arrival_time": "095600",
|
|
"departure_time": "105600",
|
|
"utc_departure_time": "095600",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718007:Train",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": false,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "112000",
|
|
"utc_arrival_time": "102000",
|
|
"departure_time": "112200",
|
|
"utc_departure_time": "102200",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "115200",
|
|
"utc_arrival_time": "105200",
|
|
"departure_time": "115200",
|
|
"utc_departure_time": "105200",
|
|
"headsign": "894210",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713040:Train",
|
|
"name": "Dijon",
|
|
"label": "Dijon (Dijon)",
|
|
"coord": {
|
|
"lon": "5.027256",
|
|
"lat": "47.323411"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": false,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "vehicle_journey:SNCF:2025-12-25:895705:1187:Train",
|
|
"name": "895705",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1982",
|
|
"name": "journey_pattern:1982"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "111400",
|
|
"utc_arrival_time": "101400",
|
|
"departure_time": "111400",
|
|
"utc_departure_time": "101400",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87713412:Train",
|
|
"name": "Dole-Ville",
|
|
"label": "Dole-Ville (Dole)",
|
|
"coord": {
|
|
"lon": "5.48806",
|
|
"lat": "47.09615"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": false,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "113200",
|
|
"utc_arrival_time": "103200",
|
|
"departure_time": "113300",
|
|
"utc_departure_time": "103300",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718841:Train",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "113900",
|
|
"utc_arrival_time": "103900",
|
|
"departure_time": "114200",
|
|
"utc_departure_time": "104200",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718833:Train",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "123700",
|
|
"utc_arrival_time": "113700",
|
|
"departure_time": "123700",
|
|
"utc_departure_time": "113700",
|
|
"headsign": "895705",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87715003:Train",
|
|
"name": "Pontarlier",
|
|
"label": "Pontarlier (Pontarlier)",
|
|
"coord": {
|
|
"lon": "6.353418",
|
|
"lat": "46.900988"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": false,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "vehicle_journey:SNCF:2025-12-30:895857:1187:LongDistanceTrain",
|
|
"name": "895857",
|
|
"journey_pattern": {
|
|
"id": "journey_pattern:1899",
|
|
"name": "journey_pattern:1899"
|
|
},
|
|
"stop_times": [
|
|
{
|
|
"arrival_time": "164700",
|
|
"utc_arrival_time": "154700",
|
|
"departure_time": "165200",
|
|
"utc_departure_time": "155200",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718007:LongDistanceTrain",
|
|
"name": "Besançon Viotte",
|
|
"label": "Besançon Viotte (Besançon)",
|
|
"coord": {
|
|
"lon": "6.021943",
|
|
"lat": "47.247049"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "171500",
|
|
"utc_arrival_time": "161500",
|
|
"departure_time": "171600",
|
|
"utc_departure_time": "161600",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718841:LongDistanceTrain",
|
|
"name": "Arc-et-Senans",
|
|
"label": "Arc-et-Senans (Arc-et-Senans)",
|
|
"coord": {
|
|
"lon": "5.77683",
|
|
"lat": "47.030473"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "172100",
|
|
"utc_arrival_time": "162100",
|
|
"departure_time": "172200",
|
|
"utc_departure_time": "162200",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718833:LongDistanceTrain",
|
|
"name": "Mouchard",
|
|
"label": "Mouchard (Mouchard)",
|
|
"coord": {
|
|
"lon": "5.799698",
|
|
"lat": "46.976865"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
},
|
|
{
|
|
"arrival_time": "175900",
|
|
"utc_arrival_time": "165900",
|
|
"departure_time": "180100",
|
|
"utc_departure_time": "170100",
|
|
"headsign": "895857",
|
|
"stop_point": {
|
|
"id": "stop_point:SNCF:87718239:LongDistanceTrain",
|
|
"name": "Lons-le-Saunier",
|
|
"label": "Lons-le-Saunier (Lons-le-Saunier)",
|
|
"coord": {
|
|
"lon": "5.551108",
|
|
"lat": "46.66858"
|
|
},
|
|
"links": [],
|
|
"equipments": []
|
|
},
|
|
"pickup_allowed": true,
|
|
"drop_off_allowed": true,
|
|
"skipped_stop": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
)-";
|