flowtwin / data /venues /circuit_alpha.json
FlowTwin
FlowTwin — AI crowd digital twin for Formula 1 venues
3e2e16c
Raw
History Blame Contribute Delete
20.2 kB
{
"id": "circuit_alpha",
"name": "Circuit Alpha",
"subtitle": "Fictional Grand Prix venue · controlled stress test",
"kind": "fictional",
"description": "A fictional but realistically proportioned Grand Prix venue used to prove the FlowTwin engine end to end. Four perimeter exits, six spectator zones, a full concourse ring, three concession clusters and two transport interfaces.",
"warning_density": 1.8,
"critical_density": 2.8,
"nodes": [
{
"id": "GS_MAIN",
"name": "Main Grandstand",
"type": "grandstand",
"x": 512,
"y": 222,
"area_m2": 9200,
"holding_capacity": 13000,
"short_label": "MAIN"
},
{
"id": "GS_NORTH",
"name": "North Grandstand",
"type": "grandstand",
"x": 262,
"y": 250,
"area_m2": 5200,
"holding_capacity": 6500,
"short_label": "NORTH"
},
{
"id": "GS_TURN1",
"name": "Turn 1 Grandstand",
"type": "grandstand",
"x": 862,
"y": 262,
"area_m2": 5600,
"holding_capacity": 7000,
"short_label": "TURN 1"
},
{
"id": "GS_EAST",
"name": "East Grandstand",
"type": "grandstand",
"x": 968,
"y": 468,
"area_m2": 6100,
"holding_capacity": 7500,
"short_label": "EAST"
},
{
"id": "GS_SOUTH",
"name": "South Grandstand",
"type": "grandstand",
"x": 612,
"y": 686,
"area_m2": 5800,
"holding_capacity": 7000,
"short_label": "SOUTH"
},
{
"id": "GA_WEST",
"name": "West General Admission",
"type": "general_admission",
"x": 160,
"y": 470,
"area_m2": 7400,
"holding_capacity": 8000,
"short_label": "GA WEST"
},
{
"id": "CON_NORTH",
"name": "North Concourse",
"type": "concourse",
"x": 380,
"y": 150,
"area_m2": 3400,
"short_label": "N CONCOURSE"
},
{
"id": "PLAZA_MAIN",
"name": "Main Plaza",
"type": "concourse",
"x": 616,
"y": 128,
"area_m2": 5200,
"short_label": "MAIN PLAZA"
},
{
"id": "CON_NE",
"name": "North-East Concourse",
"type": "concourse",
"x": 866,
"y": 156,
"area_m2": 2900,
"short_label": "NE CONCOURSE"
},
{
"id": "CON_EAST",
"name": "East Concourse",
"type": "concourse",
"x": 1074,
"y": 386,
"area_m2": 3100,
"short_label": "E CONCOURSE"
},
{
"id": "CON_SE",
"name": "South-East Concourse",
"type": "concourse",
"x": 856,
"y": 748,
"area_m2": 2800,
"short_label": "SE CONCOURSE"
},
{
"id": "CON_SOUTH",
"name": "South Concourse",
"type": "concourse",
"x": 470,
"y": 800,
"area_m2": 3000,
"short_label": "S CONCOURSE"
},
{
"id": "CON_WEST",
"name": "West Concourse",
"type": "concourse",
"x": 120,
"y": 640,
"area_m2": 2700,
"short_label": "W CONCOURSE"
},
{
"id": "CON_NW",
"name": "North-West Concourse",
"type": "concourse",
"x": 106,
"y": 268,
"area_m2": 2600,
"short_label": "NW CONCOURSE"
},
{
"id": "CONC_NORTH",
"name": "North Fan Zone",
"type": "concession",
"x": 742,
"y": 82,
"area_m2": 1900,
"short_label": "FAN ZONE N"
},
{
"id": "CONC_EAST",
"name": "East Concessions",
"type": "concession",
"x": 1136,
"y": 244,
"area_m2": 1500,
"short_label": "CONC E"
},
{
"id": "CONC_SOUTH",
"name": "South Concessions",
"type": "concession",
"x": 646,
"y": 856,
"area_m2": 1600,
"short_label": "CONC S"
},
{
"id": "GATE_A",
"name": "Gate A",
"type": "gate",
"x": 236,
"y": 64,
"service_rate_ppm": 1400,
"short_label": "GATE A"
},
{
"id": "GATE_B",
"name": "Gate B",
"type": "gate",
"x": 1150,
"y": 118,
"service_rate_ppm": 1200,
"short_label": "GATE B"
},
{
"id": "GATE_C",
"name": "Gate C",
"type": "gate",
"x": 1054,
"y": 830,
"service_rate_ppm": 1100,
"short_label": "GATE C"
},
{
"id": "GATE_D",
"name": "Gate D",
"type": "gate",
"x": 122,
"y": 838,
"service_rate_ppm": 1000,
"short_label": "GATE D"
},
{
"id": "EXIT_A",
"name": "Exit A · North",
"type": "exit",
"x": 352,
"y": 60,
"area_m2": 900,
"service_rate_ppm": 1800,
"short_label": "EXIT A"
},
{
"id": "EXIT_B",
"name": "Exit B · East",
"type": "exit",
"x": 1188,
"y": 396,
"area_m2": 760,
"service_rate_ppm": 760,
"short_label": "EXIT B",
"note": "Primary route to the coach and shuttle interchange."
},
{
"id": "EXIT_C",
"name": "Exit C · South",
"type": "exit",
"x": 900,
"y": 856,
"area_m2": 820,
"service_rate_ppm": 1400,
"short_label": "EXIT C"
},
{
"id": "EXIT_D",
"name": "Exit D · West",
"type": "exit",
"x": 58,
"y": 726,
"area_m2": 700,
"service_rate_ppm": 700,
"short_label": "EXIT D"
},
{
"id": "TRANSPORT_RAIL",
"name": "Rail Interchange",
"type": "transport",
"x": 470,
"y": 20,
"service_rate_ppm": 1500,
"short_label": "RAIL",
"area_m2": 4200
},
{
"id": "TRANSPORT_BUS",
"name": "Coach & Shuttle Interchange",
"type": "transport",
"x": 1320,
"y": 470,
"service_rate_ppm": 1700,
"short_label": "COACH",
"area_m2": 3800
},
{
"id": "PARK_NORTH",
"name": "North Car Park",
"type": "parking",
"x": 118,
"y": 44,
"service_rate_ppm": 1100,
"short_label": "P NORTH",
"area_m2": 5000
},
{
"id": "PARK_SOUTH",
"name": "South Car Park",
"type": "parking",
"x": 700,
"y": 900,
"service_rate_ppm": 1100,
"short_label": "P SOUTH",
"area_m2": 5200
}
],
"edges": [
{
"id": "C1_NW_N",
"source": "CON_NW",
"target": "CON_NORTH",
"length_m": 354.5,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
190,
128
]
]
},
{
"id": "C2_N_PLAZA",
"source": "CON_NORTH",
"target": "PLAZA_MAIN",
"length_m": 237.0,
"width_m": 13.0,
"capacity_ppm": 910.0,
"kind": "concourse",
"bidirectional": true,
"via": []
},
{
"id": "C3_PLAZA_NE",
"source": "PLAZA_MAIN",
"target": "CON_NE",
"length_m": 251.6,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "concourse",
"bidirectional": true,
"via": []
},
{
"id": "C4_NE_E",
"source": "CON_NE",
"target": "CON_EAST",
"length_m": 365.2,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
1050,
216
]
]
},
{
"id": "C5_E_SE",
"source": "CON_EAST",
"target": "CON_SE",
"length_m": 470.6,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
1044,
636
]
]
},
{
"id": "C6_SE_S",
"source": "CON_SE",
"target": "CON_SOUTH",
"length_m": 397.2,
"width_m": 10.0,
"capacity_ppm": 700.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
672,
812
]
]
},
{
"id": "C7_S_W",
"source": "CON_SOUTH",
"target": "CON_WEST",
"length_m": 406.7,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
268,
780
]
]
},
{
"id": "C8_W_NW",
"source": "CON_WEST",
"target": "CON_NW",
"length_m": 382.0,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "concourse",
"bidirectional": true,
"via": [
[
70,
448
]
]
},
{
"id": "A_MAIN_PLAZA",
"source": "GS_MAIN",
"target": "PLAZA_MAIN",
"length_m": 140.2,
"width_m": 16.0,
"capacity_ppm": 1120.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_MAIN_NORTH",
"source": "GS_MAIN",
"target": "CON_NORTH",
"length_m": 150.4,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_NORTH_CON",
"source": "GS_NORTH",
"target": "CON_NORTH",
"length_m": 154.7,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_NORTH_NW",
"source": "GS_NORTH",
"target": "CON_NW",
"length_m": 157.0,
"width_m": 10.0,
"capacity_ppm": 700.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_TURN1_NE",
"source": "GS_TURN1",
"target": "CON_NE",
"length_m": 106.1,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_TURN1_PLAZA",
"source": "GS_TURN1",
"target": "PLAZA_MAIN",
"length_m": 282.4,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "ramp",
"bidirectional": true,
"via": [
[
760,
186
]
]
},
{
"id": "A_EAST_CON",
"source": "GS_EAST",
"target": "CON_EAST",
"length_m": 134.0,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_EAST_NE",
"source": "GS_EAST",
"target": "CON_NE",
"length_m": 350.7,
"width_m": 8.0,
"capacity_ppm": 560.0,
"kind": "ramp",
"bidirectional": true,
"via": [
[
978,
300
]
]
},
{
"id": "A_EAST_SE",
"source": "GS_EAST",
"target": "CON_SE",
"length_m": 309.2,
"width_m": 7.0,
"capacity_ppm": 490.0,
"kind": "ramp",
"bidirectional": true,
"via": [
[
944,
620
]
]
},
{
"id": "A_SOUTH_SE",
"source": "GS_SOUTH",
"target": "CON_SE",
"length_m": 251.8,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_SOUTH_S",
"source": "GS_SOUTH",
"target": "CON_SOUTH",
"length_m": 182.1,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_GAWEST_W",
"source": "GA_WEST",
"target": "CON_WEST",
"length_m": 174.6,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "A_GAWEST_NW",
"source": "GA_WEST",
"target": "CON_NW",
"length_m": 209.1,
"width_m": 10.0,
"capacity_ppm": 700.0,
"kind": "ramp",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_N",
"source": "PLAZA_MAIN",
"target": "CONC_NORTH",
"length_m": 134.1,
"width_m": 6.0,
"capacity_ppm": 420.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_N2",
"source": "CONC_NORTH",
"target": "CON_NE",
"length_m": 144.4,
"width_m": 6.0,
"capacity_ppm": 420.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_E",
"source": "CON_EAST",
"target": "CONC_EAST",
"length_m": 154.9,
"width_m": 5.5,
"capacity_ppm": 385.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_E2",
"source": "CONC_EAST",
"target": "CON_NE",
"length_m": 284.0,
"width_m": 5.5,
"capacity_ppm": 385.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_S",
"source": "CON_SOUTH",
"target": "CONC_SOUTH",
"length_m": 184.7,
"width_m": 5.5,
"capacity_ppm": 385.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "S_CONC_S2",
"source": "CONC_SOUTH",
"target": "CON_SE",
"length_m": 236.1,
"width_m": 5.5,
"capacity_ppm": 385.0,
"kind": "access",
"bidirectional": true,
"via": []
},
{
"id": "X_N_EXITA",
"source": "CON_NORTH",
"target": "EXIT_A",
"length_m": 94.3,
"width_m": 26.0,
"capacity_ppm": 1820.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "X_E_EXITB",
"source": "CON_EAST",
"target": "EXIT_B",
"length_m": 114.4,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "X_SE_EXITC",
"source": "CON_SE",
"target": "EXIT_C",
"length_m": 116.6,
"width_m": 21.0,
"capacity_ppm": 1470.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "X_W_EXITD",
"source": "CON_WEST",
"target": "EXIT_D",
"length_m": 106.0,
"width_m": 11.0,
"capacity_ppm": 770.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "G_GATEA",
"source": "GATE_A",
"target": "CON_NORTH",
"length_m": 167.7,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "G_GATEB",
"source": "GATE_B",
"target": "CON_NE",
"length_m": 286.5,
"width_m": 8.0,
"capacity_ppm": 560.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "G_GATEC",
"source": "GATE_C",
"target": "CON_SE",
"length_m": 214.3,
"width_m": 8.0,
"capacity_ppm": 560.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "G_GATED",
"source": "GATE_D",
"target": "CON_WEST",
"length_m": 198.0,
"width_m": 8.0,
"capacity_ppm": 560.0,
"kind": "gate_link",
"bidirectional": true,
"via": []
},
{
"id": "T_EXITA_RAIL",
"source": "EXIT_A",
"target": "TRANSPORT_RAIL",
"length_m": 124.6,
"width_m": 21.0,
"capacity_ppm": 1470.0,
"kind": "transport_link",
"bidirectional": true,
"via": []
},
{
"id": "T_EXITA_PARKN",
"source": "EXIT_A",
"target": "PARK_NORTH",
"length_m": 234.5,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "transport_link",
"bidirectional": true,
"via": []
},
{
"id": "T_EXITB_BUS",
"source": "EXIT_B",
"target": "TRANSPORT_BUS",
"length_m": 151.3,
"width_m": 16.0,
"capacity_ppm": 1120.0,
"kind": "transport_link",
"bidirectional": true,
"via": []
},
{
"id": "T_EXITC_BUS",
"source": "EXIT_C",
"target": "TRANSPORT_BUS",
"length_m": 621.5,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "transport_link",
"bidirectional": true,
"via": [
[
1130,
780
],
[
1290,
620
]
]
},
{
"id": "T_EXITC_PARKS",
"source": "EXIT_C",
"target": "PARK_SOUTH",
"length_m": 204.8,
"width_m": 12.0,
"capacity_ppm": 840.0,
"kind": "transport_link",
"bidirectional": true,
"via": []
},
{
"id": "T_EXITD_PARKN",
"source": "EXIT_D",
"target": "PARK_NORTH",
"length_m": 707.6,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "transport_link",
"bidirectional": true,
"via": [
[
30,
380
],
[
54,
120
]
]
},
{
"id": "T_EXITD_PARKS",
"source": "EXIT_D",
"target": "PARK_SOUTH",
"length_m": 726.2,
"width_m": 9.0,
"capacity_ppm": 630.0,
"kind": "transport_link",
"bidirectional": true,
"via": [
[
180,
890
],
[
430,
916
]
]
}
],
"landmarks": [
{
"id": "track_outer",
"kind": "track",
"points": [
[
300,
320
],
[
770,
318
],
[
868,
352
],
[
908,
428
],
[
886,
508
],
[
804,
552
],
[
648,
566
],
[
568,
606
],
[
528,
664
],
[
446,
686
],
[
362,
654
],
[
302,
584
],
[
262,
486
],
[
246,
396
],
[
300,
320
]
],
"label": "Circuit Alpha",
"closed": true
},
{
"id": "track_inner",
"kind": "infield",
"points": [
[
330,
358
],
[
752,
356
],
[
830,
382
],
[
862,
430
],
[
846,
484
],
[
782,
516
],
[
632,
530
],
[
546,
574
],
[
508,
630
],
[
452,
646
],
[
390,
620
],
[
342,
566
],
[
306,
482
],
[
292,
404
],
[
330,
358
]
],
"label": "",
"closed": true
},
{
"id": "pit_lane",
"kind": "building",
"points": [
[
330,
300
],
[
700,
299
],
[
700,
316
],
[
330,
317
]
],
"label": "PIT LANE",
"closed": true
},
{
"id": "start_line",
"kind": "label",
"points": [
[
500,
300
],
[
500,
320
]
],
"label": "S/F",
"closed": false
}
],
"phases": [
{
"id": "pre_race",
"name": "Pre-race",
"start_s": 0,
"end_s": 0,
"description": "Spectators seated, network idle."
},
{
"id": "egress",
"name": "Post-race egress",
"start_s": 0,
"end_s": 1500,
"description": "Chequered flag: mass departure begins."
},
{
"id": "dispersal",
"name": "Dispersal",
"start_s": 1500,
"end_s": null,
"description": "Tail of the crowd clearing the network."
}
]
}