Add station data and parser for the script.
Need to do: - Write the StationIfno modal and enable toggling it's display.
This commit is contained in:
@@ -3,7 +3,9 @@ import fs from 'fs';
|
|||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
|
||||||
const inputDir = './static/mapFiles/yaml';
|
const inputDir = './static/mapFiles/yaml';
|
||||||
|
const stationInputDir = './static/stations';
|
||||||
const outputDir = './src/lib/assets/route';
|
const outputDir = './src/lib/assets/route';
|
||||||
|
const stationOutputDir = './src/lib/assets/station';
|
||||||
const indexFile = './static/map-index.json';
|
const indexFile = './static/map-index.json';
|
||||||
|
|
||||||
const noiseRegex = /\s+(single line|junction|jn|junc|jct|gf|north|south|east|west)\.?$/i;
|
const noiseRegex = /\s+(single line|junction|jn|junc|jct|gf|north|south|east|west)\.?$/i;
|
||||||
@@ -11,6 +13,23 @@ const noiseRegex = /\s+(single line|junction|jn|junc|jct|gf|north|south|east|wes
|
|||||||
if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir, { recursive: true });
|
if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir, { recursive: true });
|
||||||
|
|
||||||
const mapList = [];
|
const mapList = [];
|
||||||
|
const stationList = [];
|
||||||
|
|
||||||
|
fs.readdirSync(stationInputDir).forEach((file) => {
|
||||||
|
if (file.endsWith('.yaml')) {
|
||||||
|
const fullPath = path.join(stationInputDir, file);
|
||||||
|
const content = yaml.load(fs.readFileSync(fullPath, 'utf8'));
|
||||||
|
|
||||||
|
if (content.crs) {
|
||||||
|
stationList.push(content.crs)
|
||||||
|
}
|
||||||
|
|
||||||
|
const fileName = file.replace('.yaml', '.json');
|
||||||
|
fs.writeFileSync(path.join(stationOutputDir, fileName), JSON.stringify(content));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Found station declarations for the following: ${JSON.stringify(stationList)}`);
|
||||||
|
|
||||||
fs.readdirSync(inputDir).forEach((file) => {
|
fs.readdirSync(inputDir).forEach((file) => {
|
||||||
if (file.endsWith('.yaml')) {
|
if (file.endsWith('.yaml')) {
|
||||||
@@ -18,12 +37,19 @@ fs.readdirSync(inputDir).forEach((file) => {
|
|||||||
const content = yaml.load(fs.readFileSync(fullPath, 'utf8'));
|
const content = yaml.load(fs.readFileSync(fullPath, 'utf8'));
|
||||||
|
|
||||||
const fileName = file.replace('.yaml', '.json');
|
const fileName = file.replace('.yaml', '.json');
|
||||||
fs.writeFileSync(path.join(outputDir, fileName), JSON.stringify(content));
|
|
||||||
|
|
||||||
const contentSet = new Set();
|
const contentSet = new Set();
|
||||||
|
|
||||||
|
|
||||||
|
// Use this loop to add a 'link' to each station if its CRS exists in 'stationList'
|
||||||
if (Array.isArray(content.routeDetail)) {
|
if (Array.isArray(content.routeDetail)) {
|
||||||
content.routeDetail.forEach((item) => {
|
content.routeDetail.forEach((item) => {
|
||||||
|
if ((item.type === 'station') && (item.crs)) {
|
||||||
|
// Edit the item if item.crs exists in 'stationList' - maybe a `linkable: true`?
|
||||||
|
if (stationList.includes(item.crs)) {
|
||||||
|
item.stationInfo = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
if ((item.type === 'junction' || item.type === 'station') && item.name) {
|
if ((item.type === 'junction' || item.type === 'station') && item.name) {
|
||||||
let cleanName = item.name;
|
let cleanName = item.name;
|
||||||
|
|
||||||
@@ -44,6 +70,8 @@ fs.readdirSync(inputDir).forEach((file) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fs.writeFileSync(path.join(outputDir, fileName), JSON.stringify(content));
|
||||||
|
|
||||||
mapList.push({
|
mapList.push({
|
||||||
routeId: content.routeId || null,
|
routeId: content.routeId || null,
|
||||||
routeStart: content.routeStart || null,
|
routeStart: content.routeStart || null,
|
||||||
@@ -55,6 +83,7 @@ fs.readdirSync(inputDir).forEach((file) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
fs.writeFileSync(indexFile, JSON.stringify(mapList));
|
fs.writeFileSync(indexFile, JSON.stringify(mapList));
|
||||||
|
|
||||||
console.log(`Generated ${mapList.length} map files and index.`);
|
console.log(`Generated ${mapList.length} map files and index.`);
|
||||||
|
|||||||
1
src/lib/assets/station/amt.json
Normal file
1
src/lib/assets/station/amt.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Aldermaston","crs":"amt","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Up","platformLength":115,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[2,10]},{"kind":"IET9","doors":[2,9]},{"kind":"IET10","doors":[2,10]},{"kind":"DMU","max-car":5}]},{"platformId":"2Dn","platformLength":115,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,7]},{"kind":"IET9","doors":[1,7]},{"kind":"IET10","doors":[1,7]},{"kind":"DMU","max-car":5}]}]}
|
||||||
1
src/lib/assets/station/bdw.json
Normal file
1
src/lib/assets/station/bdw.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Bedwyn","crs":"bdw","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":121,"signal":true,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[1,9]},{"kind":"IET9","doors":[1,9]},{"kind":"IET10","doors":[1,9]},{"kind":"DMU","max-car":5}]},{"platformId":"2Up","platformLength":123,"signal":true,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[2,10]},{"kind":"IET9","doors":[2,10]},{"kind":"IET10","doors":[2,10]},{"kind":"DMU","max-car":5}]}]}
|
||||||
1
src/lib/assets/station/hgd.json
Normal file
1
src/lib/assets/station/hgd.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Hungerford","crs":"hgd","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Up","platformLength":153,"signal":false,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[8,18]},{"kind":"IET10","doors":[9,20]},{"kind":"DMU","max-car":6}]},{"platformId":"2Dn","platformLength":150,"signal":false,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[1,11]},{"kind":"IET10","doors":[1,11]},{"kind":"DMU","max-car":6}]}]}
|
||||||
1
src/lib/assets/station/kit.json
Normal file
1
src/lib/assets/station/kit.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Kintbury","crs":"kit","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":105,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[2,9]},{"kind":"IET9","doors":[2,9]},{"kind":"IET10","doors":[2,9]},{"kind":"DMU","max-car":4}]},{"platformId":"2Up","platformLength":106,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[4,10]},{"kind":"IET9","doors":[12,18]},{"kind":"IET10","doors":[14,20]},{"kind":"DMU","max-car":4}]}]}
|
||||||
1
src/lib/assets/station/mdg.json
Normal file
1
src/lib/assets/station/mdg.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Midgham","crs":"mdg","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":120,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[4,10]},{"kind":"IET9","doors":[4,10]},{"kind":"IET10","doors":[4,10]},{"kind":"DMU","max-car":5}]},{"platformId":"2Up","platformLength":117,"signal":true,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,7]},{"kind":"IET9","doors":[1,7]},{"kind":"IET10","doors":[1,7]},{"kind":"DMU","max-car":5}]}]}
|
||||||
1
src/lib/assets/station/nby.json
Normal file
1
src/lib/assets/station/nby.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Newbury","crs":"nby","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":291,"signal":true,"dispatch":true,"dispatchNote":"Staffed until 22:00 Daily","stepFree":true,"stepFreeNote":"Accessible from street & via lifts","doorPattern":[{"kind":"IET5","doors":"all"},{"kind":"IET9","doors":"all"},{"kind":"IET10","doors":"all"},{"kind":"DMU","max-car":12}]},{"platformId":"1Up","platformLength":291,"signal":true,"dispatch":true,"dispatchNote":"Staffed until 22:00 Daily","stepFree":true,"stepFreeNote":"Accessible from street & via lifts","doorPattern":[{"kind":"IET5","doors":"all"},{"kind":"IET9","doors":"all"},{"kind":"IET10","doors":"all"},{"kind":"DMU","max-car":12}]},{"platformId":"2Dn","platformLength":327,"signal":true,"dispatch":true,"dispatchNote":"Staffed until 22:00 Daily","stepFree":true,"stepFreeNote":"Accessible from street & via lifts","doorPattern":[{"kind":"IET5","doors":"all"},{"kind":"IET9","doors":"all"},{"kind":"IET10","doors":"all"},{"kind":"DMU","max-car":14}]},{"platformId":"2Up","platformLength":327,"signal":true,"dispatch":true,"dispatchNote":"Staffed until 22:00 Daily","stepFree":true,"stepFreeNote":"Accessible from street & via lifts","doorPattern":[{"kind":"IET5","doors":"all"},{"kind":"IET9","doors":"all"},{"kind":"IET10","doors":"all"},{"kind":"DMU","max-car":14}]},{"platformId":3,"platformLength":129,"signal":true,"dispatch":true,"dispatchNote":"Staffed until 22:00 Daily","stepFree":true,"stepFreeNote":"Accessible from street & via lifts","doorPattern":[{"kind":"IET5","doors":"all"},{"kind":"IET9","doors":null},{"kind":"IET10","doors":null},{"kind":"DMU","max-car":5}]}]}
|
||||||
1
src/lib/assets/station/nrc.json
Normal file
1
src/lib/assets/station/nrc.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Newbury Racecourse","crs":"nrc","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":89,"signal":false,"dispatch":false,"stepFree":false,"doorPattern":[{"kind":"IET5","doors":[1,6]},{"kind":"IET9","doors":[1,6]},{"kind":"IET10","doors":[1,6]},{"kind":"DMU","max-car":4}]},{"platformId":"2Up","platformLength":74,"signal":true,"dispatch":false,"stepFree":true,"doorPattern":[{"kind":"IET5","doors":[4,9]},{"kind":"IET9","doors":[4,9]},{"kind":"IET10","doors":[4,9]},{"kind":"DMU","max-car":4}]},{"platformId":"3Up","platformLength":225,"signal":false,"dispatch":false,"stepFree":true,"doorPattern":[{"kind":"IET5","doors":[2,10]},{"kind":"IET9","doors":[2,15]},{"kind":"IET10","doors":[2,16]},{"kind":"DMU","max-car":9}]},{"platformId":"3Dn","platformLength":225,"signal":false,"dispatch":false,"stepFree":true,"doorPattern":[{"kind":"IET5","doors":[2,10]},{"kind":"IET9","doors":[2,15]},{"kind":"IET10","doors":[2,16]},{"kind":"DMU","max-car":9}]}]}
|
||||||
1
src/lib/assets/station/pew.json
Normal file
1
src/lib/assets/station/pew.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Pewsey","crs":"pew","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":170,"signal":true,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[2,15]},{"kind":"IET10","doors":[2,15]},{"kind":"DMU","max-car":7}]},{"platformId":"2Up","platformLength":177,"signal":true,"dispatch":false,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[2,15]},{"kind":"IET10","doors":[2,15]},{"kind":"DMU","max-car":7}]}]}
|
||||||
1
src/lib/assets/station/tha.json
Normal file
1
src/lib/assets/station/tha.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Thatcham","crs":"tha","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Dn","platformLength":168,"signal":true,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[1,12]},{"kind":"IET10","doors":[1,12]},{"kind":"DMU","max-car":7}]},{"platformId":"2Up","platformLength":168,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[7,18]},{"kind":"IET10","doors":[9,20]},{"kind":"DMU","max-car":7}]}]}
|
||||||
1
src/lib/assets/station/the.json
Normal file
1
src/lib/assets/station/the.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"Theale","crs":"the","updated":"2026-03-11T00:00:00.000Z","checked":"2026-03-11T00:00:00.000Z","platforms":[{"platformId":"1Up","platformLength":168,"signal":true,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[1,13]},{"kind":"IET10","doors":[1,13]},{"kind":"DMU","max-car":7}]},{"platformId":"2Dn","platformLength":168,"signal":false,"dispatch":false,"stepFree":null,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[1,13]},{"kind":"IET10","doors":[1,13]},{"kind":"DMU","max-car":7}]},{"platformId":3,"platformLength":153,"signal":false,"dispatch":false,"stepFree":true,"doorPattern":[{"kind":"IET5","doors":[1,10]},{"kind":"IET9","doors":[1,11]},{"kind":"IET10","doors":[1,11]}]}]}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { components } from '$lib/mapRegistry';
|
import { components } from '$lib/mapRegistry';
|
||||||
import type { ElecType } from '$lib/railStyles';
|
import type { ElecType } from '$lib/railStyles';
|
||||||
import { IconArrowNarrowRight } from '@tabler/icons-svelte';
|
import { IconArrowNarrowRight, IconInfoCircle } from '@tabler/icons-svelte';
|
||||||
|
|
||||||
type featureType = "station" | "junction" | "crossovers" | "siteof" | "bridge" | "minorBridge" | "crossover" | "crossing" | "loop" | "loops" | "signallerChange" | "electrificationChange" | "default" | "tunnel";
|
type featureType = "station" | "junction" | "crossovers" | "siteof" | "bridge" | "minorBridge" | "crossover" | "crossing" | "loop" | "loops" | "signallerChange" | "electrificationChange" | "default" | "tunnel";
|
||||||
export let feature: {name: string; type: featureType; goto?: string; entryPoint?: string; miles: number; chains: number; description?: string}; // Raw Object
|
export let feature: {name: string; type: featureType; goto?: string; entryPoint?: string; miles: number; chains: number; description?: string}; // Raw Object
|
||||||
@@ -13,9 +13,14 @@
|
|||||||
// Linking Logic
|
// Linking Logic
|
||||||
$: isLinkable = !!(feature.goto && feature.entryPoint);
|
$: isLinkable = !!(feature.goto && feature.entryPoint);
|
||||||
$: href = `/map/${feature.goto}#${feature.entryPoint}`;
|
$: href = `/map/${feature.goto}#${feature.entryPoint}`;
|
||||||
|
$: stationInfo = (feature.type === "station" && feature.stationInfo && feature.crs);
|
||||||
|
|
||||||
const slugify = (str?: string) =>
|
const slugify = (str?: string) =>
|
||||||
str?.toLocaleLowerCase().trim().replace(/\s+/g, '-') ?? 'unknown';
|
str?.toLocaleLowerCase().trim().replace(/\s+/g, '-') ?? 'unknown';
|
||||||
|
|
||||||
|
function stationInfo(crs) {
|
||||||
|
console.log(`Date requested for CRS: ${crs}`)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="row-container" id={slugify(feature.name)}>
|
<div class="row-container" id={slugify(feature.name)}>
|
||||||
@@ -37,6 +42,12 @@
|
|||||||
<div class="feature-desc">{feature.description}</div>
|
<div class="feature-desc">{feature.description}</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{#if stationInfo}
|
||||||
|
<div class="link-indicator" on:click={stationInfo(feature.crs)}>
|
||||||
|
<IconInfoCircle />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
{#if isLinkable}
|
{#if isLinkable}
|
||||||
<div class="link-indicator">
|
<div class="link-indicator">
|
||||||
<IconArrowNarrowRight />
|
<IconArrowNarrowRight />
|
||||||
|
|||||||
16
src/lib/components/StationInfo.svelte
Normal file
16
src/lib/components/StationInfo.svelte
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
|
||||||
|
/*
|
||||||
|
Loads and displayes a 'Station Info' Modal
|
||||||
|
*/
|
||||||
|
|
||||||
|
let crs = $props();
|
||||||
|
|
||||||
|
const allStations = import.meta.glob('$lib/assets/station/*.json', { query: '?json' });
|
||||||
|
|
||||||
|
const stationData = $derived(allStations[`../data/stations/${crs}.json`]);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#if stationData}
|
||||||
|
<!-- RENDER STATION DATA DISPLAY HERE -->
|
||||||
|
{/if}
|
||||||
@@ -76,6 +76,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Theale
|
name: Theale
|
||||||
|
crs: the
|
||||||
description: Temporary Platform 3 on Theale Goods Loop (OOU)
|
description: Temporary Platform 3 on Theale Goods Loop (OOU)
|
||||||
miles: 41
|
miles: 41
|
||||||
chains: 22
|
chains: 22
|
||||||
@@ -106,6 +107,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Aldermaston
|
name: Aldermaston
|
||||||
|
crs: amt
|
||||||
miles: 44
|
miles: 44
|
||||||
chains: 61
|
chains: 61
|
||||||
|
|
||||||
@@ -124,6 +126,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Midgham
|
name: Midgham
|
||||||
|
crs: mdg
|
||||||
miles: 46
|
miles: 46
|
||||||
chains: 59
|
chains: 59
|
||||||
|
|
||||||
@@ -147,6 +150,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Thatcham
|
name: Thatcham
|
||||||
|
crs: tha
|
||||||
miles: 49
|
miles: 49
|
||||||
chains: 45
|
chains: 45
|
||||||
|
|
||||||
@@ -171,11 +175,13 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Newbury Racecourse
|
name: Newbury Racecourse
|
||||||
|
crs: nrc
|
||||||
miles: 52
|
miles: 52
|
||||||
chains: 31
|
chains: 31
|
||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Newbury
|
name: Newbury
|
||||||
|
crs: nby
|
||||||
miles: 53
|
miles: 53
|
||||||
chains: 6
|
chains: 6
|
||||||
|
|
||||||
@@ -203,6 +209,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Kintbury
|
name: Kintbury
|
||||||
|
crs: kit
|
||||||
miles: 58
|
miles: 58
|
||||||
chains: 38
|
chains: 38
|
||||||
|
|
||||||
@@ -226,6 +233,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Hungerford
|
name: Hungerford
|
||||||
|
crs: hgd
|
||||||
miles: 61
|
miles: 61
|
||||||
chains: 43
|
chains: 43
|
||||||
|
|
||||||
@@ -262,6 +270,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Bedwyn
|
name: Bedwyn
|
||||||
|
crs: bdw
|
||||||
miles: 66
|
miles: 66
|
||||||
chains: 22
|
chains: 22
|
||||||
|
|
||||||
@@ -310,6 +319,7 @@ routeDetail:
|
|||||||
|
|
||||||
- type: station
|
- type: station
|
||||||
name: Pewsey
|
name: Pewsey
|
||||||
|
crs: pew
|
||||||
miles: 75
|
miles: 75
|
||||||
chains: 26
|
chains: 26
|
||||||
|
|
||||||
|
|||||||
33
static/stations/amt.yaml
Normal file
33
static/stations/amt.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Aldermaston
|
||||||
|
crs: amt
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Up
|
||||||
|
platformLength: 115
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [2,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [2,9]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [2,10]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 5
|
||||||
|
- platformId: 2Dn
|
||||||
|
platformLength: 115
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 5
|
||||||
@@ -9,81 +9,23 @@ platforms:
|
|||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [1,9]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,0]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [1,9]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,0]
|
|
||||||
6: [0,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [1,9]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,0]
|
|
||||||
6: [0,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 5
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- platformId: 2Up
|
- platformId: 2Up
|
||||||
platformLength: 123
|
platformLength: 123
|
||||||
signal: true
|
signal: true
|
||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [2,10]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [2,10]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [0,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [2,10]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [0,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 5
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
@@ -5,87 +5,27 @@ checked: 2026-03-11
|
|||||||
platforms:
|
platforms:
|
||||||
- platformId: 1Up
|
- platformId: 1Up
|
||||||
platformLength: 153
|
platformLength: 153
|
||||||
signal: true
|
signal: false
|
||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [1,10]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [8,18]
|
||||||
1: [0,0]
|
|
||||||
2: [0,0]
|
|
||||||
3: [0,0]
|
|
||||||
4: [0,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,1]
|
|
||||||
9: [1,1]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [9,20]
|
||||||
1: [0,0]
|
|
||||||
2: [0,0]
|
|
||||||
3: [0,0]
|
|
||||||
4: [0,0]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,1]
|
|
||||||
9: [1,1]
|
|
||||||
10: [1,1]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 6
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
- platformId: 2Dn
|
- platformId: 2Dn
|
||||||
platformLength: 150
|
platformLength: 150
|
||||||
signal: true
|
signal: false
|
||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [1,10]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [1,11]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [1,11]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 6
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
@@ -1,92 +1,33 @@
|
|||||||
name: Kintbury
|
name: Kintbury
|
||||||
crs: kit
|
crs: kit
|
||||||
--- INCOMPLETE --- NOTHING DONE BWLOW LINE
|
|
||||||
updated: 2026-03-11
|
updated: 2026-03-11
|
||||||
checked: 2026-03-11
|
checked: 2026-03-11
|
||||||
platforms:
|
platforms:
|
||||||
- platformId: 1Up
|
- platformId: 1Dn
|
||||||
platformLength: 153
|
platformLength: 105
|
||||||
signal: true
|
signal: false
|
||||||
dispatch: false
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [2,9]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [2,9]
|
||||||
1: [0,0]
|
|
||||||
2: [0,0]
|
|
||||||
3: [0,0]
|
|
||||||
4: [0,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,1]
|
|
||||||
9: [1,1]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [2,9]
|
||||||
1: [0,0]
|
|
||||||
2: [0,0]
|
|
||||||
3: [0,0]
|
|
||||||
4: [0,0]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,1]
|
|
||||||
9: [1,1]
|
|
||||||
10: [1,1]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 4
|
||||||
1: [1,1]
|
- platformId: 2Up
|
||||||
2: [1,1]
|
platformLength: 106
|
||||||
3: [1,1]
|
signal: false
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
- platformId: 2Dn
|
|
||||||
platformLength: 150
|
|
||||||
signal: true
|
|
||||||
dispatch: false
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [4,10]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [12,18]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [14,20]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,0]
|
|
||||||
7: [0,0]
|
|
||||||
8: [0,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 4
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
33
static/stations/mdg.yaml
Normal file
33
static/stations/mdg.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Midgham
|
||||||
|
crs: mdg
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Dn
|
||||||
|
platformLength: 120
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [4,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [4,10]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [4,10]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 5
|
||||||
|
- platformId: 2Up
|
||||||
|
platformLength: 117
|
||||||
|
signal: true
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,7]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 5
|
||||||
85
static/stations/nby.yaml
Normal file
85
static/stations/nby.yaml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
name: Newbury
|
||||||
|
crs: nby
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Dn
|
||||||
|
platformLength: 291
|
||||||
|
signal: true
|
||||||
|
dispatch: true
|
||||||
|
dispatchNote: Staffed until 22:00 Daily
|
||||||
|
stepFree: true
|
||||||
|
stepFreeNote: Accessible from street & via lifts
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: all
|
||||||
|
- kind: IET9
|
||||||
|
doors: all
|
||||||
|
- kind: IET10
|
||||||
|
doors: all
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 12
|
||||||
|
- platformId: 1Up
|
||||||
|
platformLength: 291
|
||||||
|
signal: true
|
||||||
|
dispatch: true
|
||||||
|
dispatchNote: Staffed until 22:00 Daily
|
||||||
|
stepFree: true
|
||||||
|
stepFreeNote: Accessible from street & via lifts
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: all
|
||||||
|
- kind: IET9
|
||||||
|
doors: all
|
||||||
|
- kind: IET10
|
||||||
|
doors: all
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 12
|
||||||
|
- platformId: 2Dn
|
||||||
|
platformLength: 327
|
||||||
|
signal: true
|
||||||
|
dispatch: true
|
||||||
|
dispatchNote: Staffed until 22:00 Daily
|
||||||
|
stepFree: true
|
||||||
|
stepFreeNote: Accessible from street & via lifts
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: all
|
||||||
|
- kind: IET9
|
||||||
|
doors: all
|
||||||
|
- kind: IET10
|
||||||
|
doors: all
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 14
|
||||||
|
- platformId: 2Up
|
||||||
|
platformLength: 327
|
||||||
|
signal: true
|
||||||
|
dispatch: true
|
||||||
|
dispatchNote: Staffed until 22:00 Daily
|
||||||
|
stepFree: true
|
||||||
|
stepFreeNote: Accessible from street & via lifts
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: all
|
||||||
|
- kind: IET9
|
||||||
|
doors: all
|
||||||
|
- kind: IET10
|
||||||
|
doors: all
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 14
|
||||||
|
- platformId: 3
|
||||||
|
platformLength: 129
|
||||||
|
signal: true
|
||||||
|
dispatch: true
|
||||||
|
dispatchNote: Staffed until 22:00 Daily
|
||||||
|
stepFree: true
|
||||||
|
stepFreeNote: Accessible from street & via lifts
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: all
|
||||||
|
- kind: IET9
|
||||||
|
doors: null
|
||||||
|
- kind: IET10
|
||||||
|
doors: null
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 5
|
||||||
61
static/stations/nrc.yaml
Normal file
61
static/stations/nrc.yaml
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
name: Newbury Racecourse
|
||||||
|
crs: nrc
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Dn
|
||||||
|
platformLength: 89
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree: false
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,6]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,6]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,6]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 4
|
||||||
|
- platformId: 2Up
|
||||||
|
platformLength: 74
|
||||||
|
signal: true
|
||||||
|
dispatch: false
|
||||||
|
stepFree: true
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [4,9]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [4,9]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [4,9]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 4
|
||||||
|
- platformId: 3Up
|
||||||
|
platformLength: 225
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree: true
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [2,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [2,15]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [2,16]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 9
|
||||||
|
- platformId: 3Dn
|
||||||
|
platformLength: 225
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree: true
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [2,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [2,15]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [2,16]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 9
|
||||||
@@ -9,85 +9,23 @@ platforms:
|
|||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [1,10]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [2,15]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [2,15]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 7
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
- platformId: 2Up
|
- platformId: 2Up
|
||||||
platformLength: 177
|
platformLength: 177
|
||||||
signal: true
|
signal: true
|
||||||
dispatch: false
|
dispatch: false
|
||||||
doorPattern:
|
doorPattern:
|
||||||
- kind: IET5
|
- kind: IET5
|
||||||
doors:
|
doors: [1,10]
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
- kind: IET9
|
- kind: IET9
|
||||||
doors:
|
doors: [2,15]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,0]
|
|
||||||
9: [0,0]
|
|
||||||
- kind: IET10
|
- kind: IET10
|
||||||
doors:
|
doors: [2,15]
|
||||||
1: [0,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
8: [1,0]
|
|
||||||
9: [0,0]
|
|
||||||
10: [0,0]
|
|
||||||
- kind: DMU
|
- kind: DMU
|
||||||
doors:
|
max-car: 7
|
||||||
1: [1,1]
|
|
||||||
2: [1,1]
|
|
||||||
3: [1,1]
|
|
||||||
4: [1,1]
|
|
||||||
5: [1,1]
|
|
||||||
6: [1,1]
|
|
||||||
7: [1,1]
|
|
||||||
33
static/stations/tha.yaml
Normal file
33
static/stations/tha.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Thatcham
|
||||||
|
crs: tha
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Dn
|
||||||
|
platformLength: 168
|
||||||
|
signal: true
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,12]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,12]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 7
|
||||||
|
- platformId: 2Up
|
||||||
|
platformLength: 168
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [7,18]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [9,20]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 7
|
||||||
45
static/stations/the.yaml
Normal file
45
static/stations/the.yaml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
name: Theale
|
||||||
|
crs: the
|
||||||
|
updated: 2026-03-11
|
||||||
|
checked: 2026-03-11
|
||||||
|
platforms:
|
||||||
|
- platformId: 1Up
|
||||||
|
platformLength: 168
|
||||||
|
signal: true
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,13]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,13]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 7
|
||||||
|
- platformId: 2Dn
|
||||||
|
platformLength: 168
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree:
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,13]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,13]
|
||||||
|
- kind: DMU
|
||||||
|
max-car: 7
|
||||||
|
- platformId: 3
|
||||||
|
platformLength: 153
|
||||||
|
signal: false
|
||||||
|
dispatch: false
|
||||||
|
stepFree: true
|
||||||
|
doorPattern:
|
||||||
|
- kind: IET5
|
||||||
|
doors: [1,10]
|
||||||
|
- kind: IET9
|
||||||
|
doors: [1,11]
|
||||||
|
- kind: IET10
|
||||||
|
doors: [1,11]
|
||||||
Reference in New Issue
Block a user