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';
|
||||
|
||||
const inputDir = './static/mapFiles/yaml';
|
||||
const stationInputDir = './static/stations';
|
||||
const outputDir = './src/lib/assets/route';
|
||||
const stationOutputDir = './src/lib/assets/station';
|
||||
const indexFile = './static/map-index.json';
|
||||
|
||||
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 });
|
||||
|
||||
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) => {
|
||||
if (file.endsWith('.yaml')) {
|
||||
@@ -18,12 +37,19 @@ fs.readdirSync(inputDir).forEach((file) => {
|
||||
const content = yaml.load(fs.readFileSync(fullPath, 'utf8'));
|
||||
|
||||
const fileName = file.replace('.yaml', '.json');
|
||||
fs.writeFileSync(path.join(outputDir, fileName), JSON.stringify(content));
|
||||
|
||||
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)) {
|
||||
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) {
|
||||
let cleanName = item.name;
|
||||
|
||||
@@ -44,6 +70,8 @@ fs.readdirSync(inputDir).forEach((file) => {
|
||||
});
|
||||
}
|
||||
|
||||
fs.writeFileSync(path.join(outputDir, fileName), JSON.stringify(content));
|
||||
|
||||
mapList.push({
|
||||
routeId: content.routeId || null,
|
||||
routeStart: content.routeStart || null,
|
||||
@@ -55,6 +83,7 @@ fs.readdirSync(inputDir).forEach((file) => {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
fs.writeFileSync(indexFile, JSON.stringify(mapList));
|
||||
|
||||
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">
|
||||
import { components } from '$lib/mapRegistry';
|
||||
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";
|
||||
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
|
||||
$: isLinkable = !!(feature.goto && feature.entryPoint);
|
||||
$: href = `/map/${feature.goto}#${feature.entryPoint}`;
|
||||
$: stationInfo = (feature.type === "station" && feature.stationInfo && feature.crs);
|
||||
|
||||
const slugify = (str?: string) =>
|
||||
str?.toLocaleLowerCase().trim().replace(/\s+/g, '-') ?? 'unknown';
|
||||
|
||||
function stationInfo(crs) {
|
||||
console.log(`Date requested for CRS: ${crs}`)
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="row-container" id={slugify(feature.name)}>
|
||||
@@ -37,6 +42,12 @@
|
||||
<div class="feature-desc">{feature.description}</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if stationInfo}
|
||||
<div class="link-indicator" on:click={stationInfo(feature.crs)}>
|
||||
<IconInfoCircle />
|
||||
</div>
|
||||
{/if}
|
||||
{#if isLinkable}
|
||||
<div class="link-indicator">
|
||||
<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
|
||||
name: Theale
|
||||
crs: the
|
||||
description: Temporary Platform 3 on Theale Goods Loop (OOU)
|
||||
miles: 41
|
||||
chains: 22
|
||||
@@ -106,6 +107,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Aldermaston
|
||||
crs: amt
|
||||
miles: 44
|
||||
chains: 61
|
||||
|
||||
@@ -124,6 +126,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Midgham
|
||||
crs: mdg
|
||||
miles: 46
|
||||
chains: 59
|
||||
|
||||
@@ -147,6 +150,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Thatcham
|
||||
crs: tha
|
||||
miles: 49
|
||||
chains: 45
|
||||
|
||||
@@ -171,11 +175,13 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Newbury Racecourse
|
||||
crs: nrc
|
||||
miles: 52
|
||||
chains: 31
|
||||
|
||||
- type: station
|
||||
name: Newbury
|
||||
crs: nby
|
||||
miles: 53
|
||||
chains: 6
|
||||
|
||||
@@ -203,6 +209,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Kintbury
|
||||
crs: kit
|
||||
miles: 58
|
||||
chains: 38
|
||||
|
||||
@@ -226,6 +233,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Hungerford
|
||||
crs: hgd
|
||||
miles: 61
|
||||
chains: 43
|
||||
|
||||
@@ -262,6 +270,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Bedwyn
|
||||
crs: bdw
|
||||
miles: 66
|
||||
chains: 22
|
||||
|
||||
@@ -310,6 +319,7 @@ routeDetail:
|
||||
|
||||
- type: station
|
||||
name: Pewsey
|
||||
crs: pew
|
||||
miles: 75
|
||||
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
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,0]
|
||||
doors: [1,9]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [1,9]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [1,9]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
max-car: 5
|
||||
- platformId: 2Up
|
||||
platformLength: 123
|
||||
signal: true
|
||||
dispatch: false
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [0,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [2,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [2,10]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [2,10]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
max-car: 5
|
||||
@@ -5,87 +5,27 @@ checked: 2026-03-11
|
||||
platforms:
|
||||
- platformId: 1Up
|
||||
platformLength: 153
|
||||
signal: true
|
||||
signal: false
|
||||
dispatch: false
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [1,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [8,18]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [9,20]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
max-car: 6
|
||||
- platformId: 2Dn
|
||||
platformLength: 150
|
||||
signal: true
|
||||
signal: false
|
||||
dispatch: false
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [1,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [1,11]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [1,11]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
max-car: 6
|
||||
@@ -1,92 +1,33 @@
|
||||
name: Kintbury
|
||||
crs: kit
|
||||
--- INCOMPLETE --- NOTHING DONE BWLOW LINE
|
||||
updated: 2026-03-11
|
||||
checked: 2026-03-11
|
||||
platforms:
|
||||
- platformId: 1Up
|
||||
platformLength: 153
|
||||
signal: true
|
||||
- platformId: 1Dn
|
||||
platformLength: 105
|
||||
signal: false
|
||||
dispatch: false
|
||||
stepFree:
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [2,9]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [2,9]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [2,9]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
- platformId: 2Dn
|
||||
platformLength: 150
|
||||
signal: true
|
||||
max-car: 4
|
||||
- platformId: 2Up
|
||||
platformLength: 106
|
||||
signal: false
|
||||
dispatch: false
|
||||
stepFree:
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [4,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [12,18]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [14,20]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
max-car: 4
|
||||
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
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [1,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [2,15]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [2,15]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
7: [1,1]
|
||||
max-car: 7
|
||||
- platformId: 2Up
|
||||
platformLength: 177
|
||||
signal: true
|
||||
dispatch: false
|
||||
doorPattern:
|
||||
- kind: IET5
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
doors: [1,10]
|
||||
- kind: IET9
|
||||
doors:
|
||||
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]
|
||||
doors: [2,15]
|
||||
- kind: IET10
|
||||
doors:
|
||||
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]
|
||||
doors: [2,15]
|
||||
- kind: DMU
|
||||
doors:
|
||||
1: [1,1]
|
||||
2: [1,1]
|
||||
3: [1,1]
|
||||
4: [1,1]
|
||||
5: [1,1]
|
||||
6: [1,1]
|
||||
7: [1,1]
|
||||
max-car: 7
|
||||
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