Compare commits
14 Commits
0.0.14
...
97703a081a
| Author | SHA1 | Date | |
|---|---|---|---|
| 97703a081a | |||
| e7530846f2 | |||
| 660b38950f | |||
| 437ce6c3e0 | |||
| 765923ca0a | |||
| 1393f458db | |||
| 3f1ad2cf39 | |||
| 2016497c9e | |||
| 454561e481 | |||
| 488217923f | |||
| 6232277de1 | |||
| cff62fa343 | |||
| f359938d78 | |||
| 7e68192312 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@ node_modules
|
||||
# Transpiled JSON
|
||||
/static/mapFiles/json/
|
||||
/static/map-index.json
|
||||
/src/lib/assets/route/*.json
|
||||
|
||||
# Output
|
||||
.output
|
||||
|
||||
@@ -6,7 +6,7 @@ RUN npm ci
|
||||
|
||||
COPY . .
|
||||
RUN node ./scripts/parse-maps.js
|
||||
RUN rm -r ./static/mapFiles/yaml
|
||||
RUN rm -r ./static/mapFiles
|
||||
RUN npm run build
|
||||
RUN npm prune --production
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
const inputDir = './static/mapFiles/yaml';
|
||||
const outputDir = './static/mapFiles/json';
|
||||
const outputDir = './src/lib/assets/route';
|
||||
const indexFile = './static/map-index.json';
|
||||
|
||||
const noiseRegex = /\s+(single line|junction|jn|junc|jct|gf|north|south|east|west)\.?$/i;
|
||||
|
||||
@@ -7,6 +7,13 @@
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"
|
||||
/>
|
||||
<link rel="manifest" href="/manifest.webmanifest" />
|
||||
<meta name="title" content="OwlBoard Maps | Railway route schematics to assist with learning & refreshing routes" />
|
||||
<meta name="description" content="Schematic route diagrams showing stations, junctions, crossings, bridges and more" />
|
||||
<meta name="theme-color" content="#4fd1d1" />
|
||||
<link rel="canonical" href="https://maps.owlboard.info" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://maps.owlboard.info" />
|
||||
<title>OwlBoard Maps</title>
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
<script lang="ts">
|
||||
import { components } from '$lib/mapRegistry';
|
||||
import type { ElecType } from '$lib/railStyles';
|
||||
import { IconArrowNarrowRight } from '@tabler/icons-svelte';
|
||||
|
||||
export let feature: any; // Raw Object
|
||||
export let activeElec: string; // Active Electrification Type
|
||||
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 activeElec: ElecType; // Active Electrification Type
|
||||
export let reversed: boolean = false;
|
||||
|
||||
$: Icon = components[feature.type] || components.default;
|
||||
|
||||
// Linking Logic
|
||||
$: isLinkable = !!(feature.goto && feature.entryPoint);
|
||||
$: href = `/map/${feature.goto}#${feature.entryPoint}`;
|
||||
|
||||
const slugify = (str?: string) =>
|
||||
str?.toLocaleLowerCase().trim().replace(/\s+/g, '-') ?? 'unknown';
|
||||
</script>
|
||||
@@ -18,9 +25,10 @@
|
||||
</div>
|
||||
|
||||
<div class="icon-col">
|
||||
<svelte:component this={Icon} {feature} {activeElec} {reversed} />
|
||||
<svelte:component this={Icon} feature={feature as any} {activeElec} {reversed} />
|
||||
</div>
|
||||
|
||||
<svelte:element this={isLinkable ? 'a' : 'div'} {...(isLinkable ? { href } : {})} class="link-wrapper">
|
||||
<div class="label-col">
|
||||
{#if feature.name}
|
||||
<div class="feature-name">{feature.name}</div>
|
||||
@@ -29,18 +37,31 @@
|
||||
<div class="feature-desc">{feature.description}</div>
|
||||
{/if}
|
||||
</div>
|
||||
{#if isLinkable}
|
||||
<div class="link-indicator">
|
||||
<IconArrowNarrowRight />
|
||||
</div>
|
||||
{/if}
|
||||
</svelte:element>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<style>
|
||||
a {
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
.row-container {
|
||||
display: grid;
|
||||
/* Balanced columns: 1fr on both sides keeps the 64px icon in the dead center */
|
||||
grid-template-columns: 3.5rem 64px 1fr;
|
||||
width: 100%;
|
||||
height: 64px;
|
||||
max-height: 64px;
|
||||
align-items: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mileage-col {
|
||||
@@ -50,7 +71,7 @@
|
||||
padding-right: 12px;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 0.85rem;
|
||||
color: #64748b; /* Adjusted slightly for contrast */
|
||||
color: #64748b;
|
||||
}
|
||||
|
||||
.miles {
|
||||
@@ -62,13 +83,46 @@
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
|
||||
.icon-col {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
/* Ensure the icon itself is centered if the SVG is smaller than 64px */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
|
||||
.link-wrapper {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.link-indicator {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 5px;
|
||||
margin-right: 8px;
|
||||
flex-shrink: 0;
|
||||
color: #e1ebeb;
|
||||
background-color: #3c6f79;
|
||||
padding: 2px 2px;
|
||||
border-radius: 999px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.link-wrapper:hover .link-indicator {
|
||||
background-color: #404c55;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.label-col {
|
||||
@@ -76,20 +130,16 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
||||
/* FIX: Allow children to manage their own wrapping */
|
||||
overflow: hidden;
|
||||
/* min-width: 0 is critical for flex children to allow truncation */
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.feature-name {
|
||||
font-weight: 700;
|
||||
font-family: sans-serif;
|
||||
color: #1e293b;
|
||||
font-size: 0.8rem;
|
||||
text-transform: capitalize;
|
||||
|
||||
/* Allow the title to wrap naturally onto multiple lines */
|
||||
white-space: normal;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 2px;
|
||||
@@ -98,12 +148,11 @@
|
||||
.feature-desc {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
font-family: sans-serif;
|
||||
-webkit-line-clamp: 2;
|
||||
line-clamp: 2;
|
||||
overflow: hidden;
|
||||
|
||||
/* Firefox Fix: Ensure white-space is normal here too */
|
||||
white-space: normal;
|
||||
|
||||
line-height: 1.2rem;
|
||||
max-height: 2.4rem;
|
||||
font-size: 0.75rem;
|
||||
@@ -111,21 +160,26 @@
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/* Tablet and Desktop scaling */
|
||||
@media (max-width: 320px) {
|
||||
.feature-desc {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
.feature-name {
|
||||
font-size: 1rem; /* The larger title you requested */
|
||||
font-size: 1rem;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.feature-desc {
|
||||
font-size: 0.85rem; /* Slightly larger desc to match */
|
||||
font-size: 0.85rem;
|
||||
line-height: 1.3rem;
|
||||
max-height: 2.6rem;
|
||||
}
|
||||
|
||||
.label-col {
|
||||
padding-left: 24px; /* More "breathing room" on big screens */
|
||||
padding-left: 24px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -9,10 +9,9 @@
|
||||
|
||||
$: type = feature.kind.toLowerCase();
|
||||
$: isFoot = type === 'foot';
|
||||
$: filterCategory = isFoot ? 'foot' : type === 'uwc' ? 'uwc' : 'level-crossing';
|
||||
</script>
|
||||
|
||||
<svg viewBox="0 0 64 64" width="64" height="64" class={filterCategory}>
|
||||
<svg viewBox="0 0 64 64" width="64" height="64">
|
||||
<BaseTrack {activeElec} height={64} />
|
||||
|
||||
{#if type === 'foot'}
|
||||
|
||||
@@ -37,13 +37,13 @@
|
||||
<g font-family="sans-serif" font-size="10" font-weight="800" text-anchor="start">
|
||||
{#if showFromEco}
|
||||
<text x="75" y="24" fill="#b91c1c" style="text-transform: uppercase;">
|
||||
ECO: {feature.from.eco}
|
||||
ECO: {feature.from.eco} | Type: {feature.from.elec}
|
||||
</text>
|
||||
{/if}
|
||||
|
||||
{#if showToEco}
|
||||
<text x="75" y="48" fill="#b91c1c" style="text-transform: uppercase;">
|
||||
ECO: {feature.to.eco}
|
||||
ECO: {feature.to.eco} | Type: {feature.from.elec}
|
||||
</text>
|
||||
{/if}
|
||||
</g>
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
direction: 'up' | 'down';
|
||||
diverges: 'left' | 'right' | 'both';
|
||||
elecBranch?: string;
|
||||
goto?: string;
|
||||
entryPoint?: string;
|
||||
};
|
||||
export let activeElec: any;
|
||||
export let reversed: boolean = false;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { IconArrowNarrowRight } from '@tabler/icons-svelte';
|
||||
export let feature: {
|
||||
routeName: string;
|
||||
routeId: string;
|
||||
@@ -17,16 +18,7 @@
|
||||
</div>
|
||||
|
||||
<div class="icon-circle">
|
||||
<svg viewBox="0 0 24 24" width="20" height="20">
|
||||
<path
|
||||
d="M5 12h14M12 5l7 7-7 7"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="3"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
<IconArrowNarrowRight />
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -69,12 +61,14 @@
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
font-family: "urwgothic";
|
||||
color: #64748b;
|
||||
}
|
||||
|
||||
.route-id-chip {
|
||||
font-size: 0.6rem;
|
||||
font-weight: 800;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
||||
background: #f1f5f9;
|
||||
color: #475569;
|
||||
padding: 2px 6px;
|
||||
@@ -83,6 +77,7 @@
|
||||
}
|
||||
|
||||
.main-text {
|
||||
font-family: "urwgothic";
|
||||
font-size: 1rem;
|
||||
font-weight: 800;
|
||||
color: #0f172a;
|
||||
@@ -92,16 +87,15 @@
|
||||
}
|
||||
|
||||
.icon-circle {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #f8fafc;
|
||||
border-radius: 50%;
|
||||
color: #94a3b8;
|
||||
|
||||
color: #e1ebeb;
|
||||
background-color: #3c6f79;
|
||||
padding: 4px 4px;
|
||||
border-radius: 999px;
|
||||
transition: all 0.3s ease;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.wide-button:hover {
|
||||
@@ -111,8 +105,7 @@
|
||||
}
|
||||
|
||||
.wide-button:hover .icon-circle {
|
||||
background: #4f46e5;
|
||||
color: #ffffff;
|
||||
background-color: #404c55;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import BaseTrack from './BaseTrack.svelte';
|
||||
|
||||
export let feature: {
|
||||
tunnelType: 'start' | 'whole' | 'end';
|
||||
tunnelType: 'start' | 'whole' | 'end' | 'mid';
|
||||
length: string;
|
||||
};
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
const portalColour = '#475569'; // Slate grey
|
||||
|
||||
$: effectiveType = (() => {
|
||||
if (!reversed || feature.tunnelType === 'whole') return feature.tunnelType;
|
||||
if (!reversed || feature.tunnelType === 'whole' || feature.tunnelType === 'mid') return feature.tunnelType;
|
||||
return feature.tunnelType === 'start' ? 'end' : 'start';
|
||||
})();
|
||||
</script>
|
||||
@@ -32,7 +32,7 @@
|
||||
{/if}
|
||||
</g>
|
||||
|
||||
{#if feature.tunnelType === 'whole' && feature.length}
|
||||
{#if feature.length}
|
||||
<rect x="12" y="26" width="40" height="12" fill="white" />
|
||||
<text
|
||||
x="32"
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
electrificationChange: true,
|
||||
siteof: true,
|
||||
junction: true,
|
||||
tunnel: true
|
||||
tunnel: true,
|
||||
crossing: true,
|
||||
};
|
||||
|
||||
let showFilters = false;
|
||||
@@ -75,7 +76,8 @@
|
||||
{reversed ? data.route.routeEnd : data.route.routeStart}
|
||||
</h1>
|
||||
<span class="secondary-station">
|
||||
to {reversed ? data.route.routeStart : data.route.routeEnd}
|
||||
<span class="route-stack-to">
|
||||
to</span> {reversed ? data.route.routeStart : data.route.routeEnd}
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
@@ -186,6 +188,8 @@
|
||||
height: 52px;
|
||||
padding-left: 0;
|
||||
margin-left: 15px;
|
||||
margin-right: 0;
|
||||
padding-right: 0;
|
||||
flex-shrink: 0;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
@@ -208,8 +212,14 @@
|
||||
|
||||
.route-stack {
|
||||
display: flex;
|
||||
font-family: "urwgothic";
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.route-stack-to {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
.primary-station {
|
||||
@@ -225,7 +235,7 @@
|
||||
.secondary-station {
|
||||
font-size: 0.7rem;
|
||||
color: #cce9e9;
|
||||
text-transform: uppercase;
|
||||
text-transform: capitalize;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@@ -365,7 +375,7 @@
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
@media (max-width: 350px) {
|
||||
@media (max-width: 390px) {
|
||||
.icon-btn {
|
||||
padding: 0.3rem 0.3rem;
|
||||
}
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
import type { PageLoad } from '/$types';
|
||||
import { error } from '@sveltejs/kit';
|
||||
|
||||
export const load: PageLoad = async ({ params, fetch }) => {
|
||||
const mapDataFiles = import.meta.glob('$lib/assets/route/*.json', { query: '?json' });
|
||||
|
||||
export const load: PageLoad = async ({ params }) => {
|
||||
const { slug } = params;
|
||||
|
||||
try {
|
||||
const res = await fetch(`/mapFiles/json/${slug}.json`);
|
||||
const path = `/src/lib/assets/route/${slug}.json`;
|
||||
console.log(`Finding path: ${path}`);
|
||||
|
||||
if (!res.ok) {
|
||||
if (!(path in mapDataFiles)) {
|
||||
throw error(404, {
|
||||
message: `Route ${slug} not found`
|
||||
});
|
||||
}
|
||||
|
||||
const rawData = await res.json();
|
||||
try {
|
||||
const rawData = await mapDataFiles[path]();
|
||||
|
||||
return {
|
||||
route: rawData,
|
||||
slug: slug
|
||||
slug: slug,
|
||||
};
|
||||
|
||||
} catch (err) {
|
||||
console.error(`Error loading map ${slug}: `, err);
|
||||
|
||||
throw error(500, {
|
||||
message: `Failed to parse map data for ${slug}`
|
||||
});
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 124 KiB |
@@ -52,7 +52,7 @@ routeDetail:
|
||||
chains: 52
|
||||
|
||||
- type: crossovers
|
||||
name: Subway Junction
|
||||
name: Subway Jn
|
||||
miles: 0
|
||||
chains: 61
|
||||
|
||||
@@ -85,7 +85,7 @@ routeDetail:
|
||||
chains: 18
|
||||
|
||||
- type: junction
|
||||
name: Westbourne Park Junction
|
||||
name: Westbourne Park Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
description: to Crossrail Core Operating Section
|
||||
@@ -93,7 +93,7 @@ routeDetail:
|
||||
chains: 21
|
||||
|
||||
- type: crossovers
|
||||
name: Portobello Junction
|
||||
name: Portobello Jn
|
||||
miles: 1
|
||||
chains: 33
|
||||
|
||||
@@ -120,7 +120,7 @@ routeDetail:
|
||||
chains: 73
|
||||
|
||||
- type: junction
|
||||
name: Kensal Green East Junction
|
||||
name: Kensal Green East Jn
|
||||
diverges: both
|
||||
direction: down
|
||||
description: to Crossrail & North Pole Depots
|
||||
@@ -177,7 +177,7 @@ routeDetail:
|
||||
chains: 45
|
||||
|
||||
- type: junction
|
||||
name: Friars Junction
|
||||
name: Friars Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
elecBranch: none
|
||||
@@ -207,7 +207,7 @@ routeDetail:
|
||||
chains: 80
|
||||
|
||||
- type: junction
|
||||
name: Acton East Junction
|
||||
name: Acton East Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
description: Up/Dn Poplar to Acton Wells Jn
|
||||
@@ -312,7 +312,7 @@ routeDetail:
|
||||
chains: 46
|
||||
|
||||
- type: junction
|
||||
name: West Ealing Junction
|
||||
name: West Ealing Jn
|
||||
diverges: left
|
||||
direction: down
|
||||
elecBranch: none
|
||||
@@ -328,7 +328,7 @@ routeDetail:
|
||||
chains: 71
|
||||
|
||||
- type: junction
|
||||
name: Hanwell Junction
|
||||
name: Hanwell Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
elecBranch: none
|
||||
@@ -394,7 +394,7 @@ routeDetail:
|
||||
chains: 46
|
||||
|
||||
- type: junction
|
||||
name: Southall East Junction
|
||||
name: Southall East Jn
|
||||
diverges: right
|
||||
direction: up
|
||||
elecBranch: none
|
||||
@@ -423,7 +423,7 @@ routeDetail:
|
||||
chains: 53
|
||||
|
||||
- type: crossovers
|
||||
name: Southall West Junction
|
||||
name: Southall West Jn
|
||||
description: Southall Sidings Diverge
|
||||
miles: 9
|
||||
chains: 70
|
||||
@@ -490,7 +490,7 @@ routeDetail:
|
||||
chains: 77
|
||||
|
||||
- type: junction
|
||||
name: Heathrow Airport Junction
|
||||
name: Heathrow Airport Jn
|
||||
diverges: both
|
||||
direction: down
|
||||
miles: 11
|
||||
@@ -506,7 +506,7 @@ routeDetail:
|
||||
chains: 28
|
||||
|
||||
- type: crossovers
|
||||
name: Stockley Bridge Junction
|
||||
name: Stockley Bridge Jn
|
||||
miles: 12
|
||||
chains: 9
|
||||
|
||||
@@ -519,7 +519,7 @@ routeDetail:
|
||||
chains: 22
|
||||
|
||||
- type: crossovers
|
||||
name: West Drayton East Junction
|
||||
name: West Drayton East Jn
|
||||
miles: 12
|
||||
chains: 67
|
||||
|
||||
@@ -544,7 +544,7 @@ routeDetail:
|
||||
chains: 56
|
||||
|
||||
- type: junction
|
||||
name: West Drayton Junction
|
||||
name: West Drayton Jn
|
||||
diverges: left
|
||||
direction: down
|
||||
description: Colnbrook Freight (near Heathrow)
|
||||
@@ -725,7 +725,7 @@ routeDetail:
|
||||
chains: 42
|
||||
|
||||
- type: junction
|
||||
name: Windsor Branch Junction
|
||||
name: Windsor Branch Jn
|
||||
diverges: right
|
||||
direction: down
|
||||
description: Windsor Branch from platforms 1 & 2 Only
|
||||
@@ -1048,7 +1048,7 @@ routeDetail:
|
||||
chains: 1
|
||||
|
||||
- type: junction
|
||||
name: Henley Branch Junction
|
||||
name: Henley Branch Jn
|
||||
diverges: left
|
||||
direction: down
|
||||
description: Henley-on-Thames from Platform 4 only
|
||||
@@ -1169,7 +1169,7 @@ routeDetail:
|
||||
chains: 77
|
||||
|
||||
- type: crossovers
|
||||
name: Kennet Bridge Junction
|
||||
name: Kennet Bridge Jn
|
||||
miles: 35
|
||||
chains: 10
|
||||
|
||||
@@ -1182,7 +1182,7 @@ routeDetail:
|
||||
chains: 28
|
||||
|
||||
- type: junction
|
||||
name: Reading New Junction
|
||||
name: Reading New Jn
|
||||
diverges: right
|
||||
direction: up
|
||||
elecBranch: none
|
||||
@@ -1199,7 +1199,7 @@ routeDetail:
|
||||
chains: 40
|
||||
|
||||
- type: junction
|
||||
name: Reading East Junction
|
||||
name: Reading East Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
elecBranch: none
|
||||
@@ -1222,3 +1222,4 @@ routeDetail:
|
||||
- type: continues
|
||||
routeName: Reading - Bristol TM
|
||||
routeId: '0002'
|
||||
entryPoint: reading
|
||||
|
||||
@@ -14,6 +14,7 @@ routeDetail:
|
||||
- type: continues
|
||||
routeName: Paddington - Reading
|
||||
routeId: '0001'
|
||||
entryPoint: reading
|
||||
|
||||
- type: station
|
||||
name: Reading
|
||||
@@ -30,21 +31,25 @@ routeDetail:
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: down
|
||||
name: Westbury Line Junction
|
||||
name: Westbury Line Jn
|
||||
description: to Oxford Road Jn
|
||||
goto: "0201"
|
||||
entryPoint: "oxford-road-jn"
|
||||
miles: 36
|
||||
chains: 17
|
||||
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: down
|
||||
name: Caversham Road Junction
|
||||
name: Caversham Road Jn
|
||||
description: Reading Feeder Main/Relief diverge and pass under Reading Viaduct to Oxford Rd Jn
|
||||
goto: "0201"
|
||||
entryPoint: "oxford-road-jn"
|
||||
miles: 36
|
||||
chains: 22
|
||||
|
||||
- type: crossovers
|
||||
name: Reading High Level Junction
|
||||
name: Reading High Level Jn
|
||||
description: Down Reading Festival Connects to Down Main
|
||||
miles: 36
|
||||
chains: 47
|
||||
@@ -52,7 +57,9 @@ routeDetail:
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: up
|
||||
name: Reading West Junction
|
||||
name: Reading West Jn
|
||||
description: to Oxford Road Junction (From relief lines only)
|
||||
goto: "0201"
|
||||
entryPoint: "oxford-road-jn"
|
||||
miles: 37
|
||||
chains: 17
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
routeStart: Swindon Junction
|
||||
routeEnd: Standish Junction
|
||||
routeId: 0230
|
||||
updated: 2026-02-11
|
||||
checked: 2026-02-11
|
||||
updated: 2026-02-14
|
||||
checked: 2026-02-14
|
||||
signallerStart: TVSC Swindon WS
|
||||
signallerEnd: Gloucester PSB
|
||||
elecStart:
|
||||
@@ -10,3 +10,756 @@ elecStart:
|
||||
eco: Didcot (TVSC)
|
||||
elecEnd:
|
||||
elec: none
|
||||
|
||||
routeDetail:
|
||||
- type: continues
|
||||
routeName: Reading - Bristol TM
|
||||
routeId: '0002'
|
||||
entryPoint: swindon
|
||||
|
||||
- type: junction
|
||||
name: Swindon Jn
|
||||
diverges: right
|
||||
goto: "0002"
|
||||
entryPoint: swindon-jn
|
||||
miles: 77
|
||||
chains: 36
|
||||
|
||||
- type: electrificationChange
|
||||
miles: 77
|
||||
chains: 58
|
||||
from:
|
||||
elec: 25kvac
|
||||
eco: Didcot
|
||||
to:
|
||||
elec: none
|
||||
|
||||
- type: minorBridge
|
||||
name: Bruce Street
|
||||
position: under
|
||||
category: road
|
||||
miles: 78
|
||||
chains: 7
|
||||
|
||||
- type: crossovers
|
||||
name: Rodbourne Jn
|
||||
description: Limit of bidirectional running from Swindon
|
||||
miles: 78
|
||||
chains: 30
|
||||
|
||||
- type: bridge
|
||||
name: River Hay
|
||||
position: under
|
||||
category: waterway
|
||||
miles: 78
|
||||
chains: 71
|
||||
|
||||
- type: minorBridge
|
||||
name: Former MSWJ Railway
|
||||
position: under
|
||||
category: foot
|
||||
miles: 79
|
||||
chains: 20
|
||||
|
||||
- type: minorBridge
|
||||
name: Edward's Bridge
|
||||
position: under
|
||||
category: road
|
||||
miles: 79
|
||||
chains: 33
|
||||
|
||||
- type: minorBridge
|
||||
name: Mill Brook
|
||||
position: under
|
||||
category: stream
|
||||
miles: 79
|
||||
chains: 34
|
||||
|
||||
- type: bridge
|
||||
name: Purton Road
|
||||
description: Double bridge
|
||||
position: over
|
||||
category: road
|
||||
roadName: B4534
|
||||
miles: 79
|
||||
chains: 53
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: road
|
||||
miles: 80
|
||||
chains: 0
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
category: road
|
||||
roadName: B4553
|
||||
miles: 80
|
||||
chains: 30
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Purton No.72 Foot Crossing
|
||||
miles: 80
|
||||
chains: 63
|
||||
|
||||
- type: crossing
|
||||
kind: AHB
|
||||
name: Purton Collins Lane LC
|
||||
miles: 81
|
||||
chains: 9
|
||||
|
||||
- type: crossing
|
||||
name: Purton No.64 Foot Crossing
|
||||
kind: foot
|
||||
miles: 81
|
||||
chains: 25
|
||||
|
||||
- type: crossing
|
||||
name: Purton No.60 Foot Crossing
|
||||
kind: foot
|
||||
miles: 81
|
||||
chains: 46
|
||||
|
||||
- type: crossing
|
||||
name: Purton Common Crossing
|
||||
kind: MSL
|
||||
miles: 81
|
||||
chains: 65
|
||||
|
||||
- type: crossing
|
||||
name: Purton No.129 Foot Crossing
|
||||
kind: foot
|
||||
miles: 82
|
||||
chains: 9
|
||||
|
||||
- type: minorBridge
|
||||
name: Farm Bridge
|
||||
position: over
|
||||
category: road
|
||||
miles: 82
|
||||
chains: 13
|
||||
|
||||
- type: crossing
|
||||
name: Purton No.34 Foot Crossing
|
||||
kind: foot
|
||||
miles: 82
|
||||
chains: 30
|
||||
|
||||
- type: minorBridge
|
||||
name: Carpenter's
|
||||
position: under
|
||||
category: road
|
||||
miles: 82
|
||||
chains: 39
|
||||
|
||||
- type: minorBridge
|
||||
name: Braydon Brook
|
||||
position: under
|
||||
category: stream
|
||||
miles: 82
|
||||
chains: 53
|
||||
|
||||
- type: minorBridge
|
||||
name: Oak Hill (Coxhill Farm)
|
||||
position: under
|
||||
category: road
|
||||
miles: 82
|
||||
chains: 69
|
||||
|
||||
- type: crossing
|
||||
kind: uwc
|
||||
name: Clover's Foot Crossing
|
||||
miles: 83
|
||||
chains: 11
|
||||
|
||||
- type: minorBridge
|
||||
name: Farm Bridge
|
||||
position: over
|
||||
category: road
|
||||
miles: 83
|
||||
chains: 28
|
||||
|
||||
- type: crossing
|
||||
name: Gambols Farm Crossing
|
||||
kind: uwc
|
||||
miles: 83
|
||||
chains: 57
|
||||
|
||||
- type: minorBridge
|
||||
name: Black Dog Road
|
||||
roadName: B4696
|
||||
category: road
|
||||
position: over
|
||||
miles: 84
|
||||
chains: 25
|
||||
|
||||
- type: crossing
|
||||
kind: uwc
|
||||
name: Gryphon Lodge Crossing
|
||||
miles: 84
|
||||
chains: 66
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: stream
|
||||
miles: 84
|
||||
chains: 22
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
name: Station Road
|
||||
roadName: B4040
|
||||
category: road
|
||||
miles: 85
|
||||
chains: 36
|
||||
|
||||
- type: siteof
|
||||
name: Minety & Ashton Keynes
|
||||
description: Former station
|
||||
miles: 85
|
||||
chains: 37
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.44 Foot Crossing
|
||||
miles: 85
|
||||
chains: 62
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.6 Foot Crossing
|
||||
miles: 86
|
||||
chains: 06
|
||||
|
||||
- type: minorBridge
|
||||
nam: Askew Bridge
|
||||
category: road
|
||||
position: under
|
||||
miles: 86
|
||||
chains: 18
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.3 Foot Crossing
|
||||
miles: 86
|
||||
chains: 23
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: road
|
||||
name: Minety Moor
|
||||
miles: 86
|
||||
chains: 36
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.5 Foot Crossing
|
||||
miles: 86
|
||||
chains: 42
|
||||
|
||||
- type: crossing
|
||||
kind: CCTV
|
||||
name: Minety LC
|
||||
description: CCTV by TVSC (LC Workstation)
|
||||
miles: 86
|
||||
chains: 74
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.26 Foot Crossing
|
||||
miles: 87
|
||||
chains: 4
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Minety No.26 Foot Crossing
|
||||
miles: 87
|
||||
chains: 31
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: road
|
||||
name: Slurt Bridge
|
||||
miles: 87
|
||||
chains: 63
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: stream
|
||||
name: Swill Brook
|
||||
miles: 88
|
||||
chains: 5
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Oaksey No.5 Foot Crossing
|
||||
miles: 88
|
||||
chains: 31
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
name: Oaksey Road
|
||||
category: road
|
||||
miles: 88
|
||||
chains: 37
|
||||
|
||||
- type: crossing
|
||||
name: Oaksey No.4 Foot Crossing
|
||||
kind: foot
|
||||
miles: 88
|
||||
chains: 56
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: road
|
||||
miles: 88
|
||||
chains: 77
|
||||
|
||||
- type: crossing
|
||||
name: West End Farm Foot Crossing
|
||||
kind: foot
|
||||
miles: 89
|
||||
chains: 29
|
||||
|
||||
- type: minorBridge
|
||||
name: Poole Keynes
|
||||
position: under
|
||||
category: road
|
||||
miles: 89
|
||||
chains: 30
|
||||
|
||||
- type: crossing
|
||||
name: Kemble Wick Foot Crossing
|
||||
kind: foot
|
||||
miles: 89
|
||||
chains: 59
|
||||
|
||||
- type: minorBridge
|
||||
name: Wick Bridge
|
||||
position: over
|
||||
category: road
|
||||
miles: 90
|
||||
chains: 3
|
||||
|
||||
- type: tunnel
|
||||
tunnelType: whole
|
||||
name: Kemble Tunnel
|
||||
length: 0mi 409yd
|
||||
miles: 90
|
||||
chains: 50
|
||||
|
||||
- type: crossovers
|
||||
name: Kemble Jn
|
||||
miles: 90
|
||||
chains: 65
|
||||
|
||||
- type: junction
|
||||
diverges: left
|
||||
direction: down
|
||||
description: Up Kemble Siding (Former platform)
|
||||
miles: 90
|
||||
chains: 74
|
||||
name: Kemble GF
|
||||
|
||||
- type: station
|
||||
name: Kemble
|
||||
miles: 90
|
||||
chains: 79
|
||||
|
||||
- type: minorBridge
|
||||
name: Windmill/Tarlton Road
|
||||
position: under
|
||||
category: road
|
||||
miles: 91
|
||||
chains: 28
|
||||
|
||||
- type: minorBridge
|
||||
name: Tetbury Road
|
||||
position: under
|
||||
roadName: A433
|
||||
category: aroad
|
||||
miles: 91
|
||||
chains: 60
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Old Quarry Foot Crossing
|
||||
miles: 91
|
||||
chains: 77
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: stream
|
||||
name: Thames & Severn Canal
|
||||
description: Disused Canal
|
||||
miles: 92
|
||||
chains: 67
|
||||
|
||||
- type: minorBridge
|
||||
name: Coates
|
||||
description: to Tarlton Road
|
||||
category: road
|
||||
position: under
|
||||
miles: 92
|
||||
chains: 77
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Coates Tunnel House Foot Crossing
|
||||
miles: 93
|
||||
chains: 21
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 93
|
||||
chains: 42
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
miles: 93
|
||||
chains: 66
|
||||
|
||||
- type: signallerChange
|
||||
from: TVSC Swindon WS (SW)
|
||||
to: Gloucester PSB Panel C (G)
|
||||
miles: 93
|
||||
chains: 79
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
miles: 94
|
||||
chains: 4
|
||||
|
||||
- type: minorBridge
|
||||
name: Hailey Farm
|
||||
position: over
|
||||
miles: 94
|
||||
chains: 40
|
||||
|
||||
- type: tunnel
|
||||
tunnelType: whole
|
||||
name: Sapperton Short Tunnel
|
||||
length: 0mi 352yd
|
||||
miles: 94
|
||||
chains: 58
|
||||
|
||||
- type: tunnel
|
||||
tunnelType: whole
|
||||
name: Sapperton Long Tunnel
|
||||
length: 1mi 104yd
|
||||
miles: 95
|
||||
chains: 40
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Frampton Common Foot Crossing
|
||||
miles: 96
|
||||
chains: 5
|
||||
|
||||
- type: crossing
|
||||
kind: OMSL
|
||||
name: Frampton Level Crossing
|
||||
miles: 96
|
||||
chains: 32
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Frampton Mansell Foot Crossing
|
||||
miles: 96
|
||||
chains: 43
|
||||
|
||||
- type: bridge
|
||||
position: under
|
||||
name: Frampton Mansell Viaduct
|
||||
miles: 96
|
||||
chians: 57
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
category: road
|
||||
name: Lower Manor
|
||||
miles: 96
|
||||
chains: 65
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
miles: 97
|
||||
chains: 4
|
||||
|
||||
- type: minorBridge
|
||||
name: Marley Lane
|
||||
position: over
|
||||
category: road
|
||||
miles: 97
|
||||
chains: 39
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Chalford Foot Crossing
|
||||
miles: 97
|
||||
chains: 52
|
||||
|
||||
- type: bridge
|
||||
name: Chalford Viaduct
|
||||
position: under
|
||||
miles: 97
|
||||
chains: 61
|
||||
|
||||
- type: bridge
|
||||
name: Cowcombe Hill
|
||||
roadName: A419
|
||||
category: aroad
|
||||
position: over
|
||||
miles: 98
|
||||
chains: 4
|
||||
|
||||
- type: minorBridge
|
||||
name: Chalford Bottom
|
||||
position: under
|
||||
miles: 98
|
||||
chains: 36
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Hampton Road Foot Crossing
|
||||
miles: 98
|
||||
chains: 53
|
||||
|
||||
- type: crossing
|
||||
name: St. Mary's Level Crossing
|
||||
kind: MCG
|
||||
miles: 98
|
||||
chains: 64
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Brimscombe Foot Crossing
|
||||
miles: 99
|
||||
chains: 22
|
||||
|
||||
- type: minorBridge
|
||||
name: Knap Lane
|
||||
position: under
|
||||
category: road
|
||||
miles: 99
|
||||
chains: 34
|
||||
|
||||
- type: bridge
|
||||
name: Bourne Viaduct
|
||||
position: under
|
||||
miles: 99
|
||||
chains: 51
|
||||
|
||||
- type: minorBridge
|
||||
name: Brimscombe Hill
|
||||
position: over
|
||||
category: road
|
||||
miles: 99
|
||||
chains: 76
|
||||
|
||||
- type: minorBridge
|
||||
name: Orchard Lane
|
||||
position: under
|
||||
category: road
|
||||
miles: 100
|
||||
chains: 12
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Bagpath Foot Crossing
|
||||
miles: 100
|
||||
chains: 37
|
||||
|
||||
- type: crossing
|
||||
kind: MSL
|
||||
name: Ham Mill Foot Crossing
|
||||
miles: 100
|
||||
chains: 63
|
||||
|
||||
- type: crossing
|
||||
name: Thrupp Foot Crossing
|
||||
kind: foot
|
||||
miles: 100
|
||||
chains: 75
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Butterrow Foot Crossing
|
||||
miles: 101
|
||||
chains: 21
|
||||
|
||||
- type: crossing
|
||||
kind: MSL
|
||||
name: Bowbridge Foot Crossing
|
||||
miles: 101
|
||||
chains: 36
|
||||
|
||||
- type: minorBridge
|
||||
name: Butterrow Hill
|
||||
position: over
|
||||
category: road
|
||||
miles: 101
|
||||
chains: 44
|
||||
|
||||
- type: bridge
|
||||
name: Capels Viaduct
|
||||
position: under
|
||||
category: stream
|
||||
description: Also crosses A419
|
||||
miles: 101
|
||||
chains: 66
|
||||
|
||||
- type: station
|
||||
name: Stroud
|
||||
miles: 102
|
||||
chains: 13
|
||||
|
||||
- type: bridge
|
||||
name: Watts Viaduct
|
||||
roadName: A46
|
||||
category: aroad
|
||||
position: under
|
||||
miles: 102
|
||||
chains: 19
|
||||
|
||||
- type: bridge
|
||||
name: Stratford Viaduct
|
||||
position: under
|
||||
miles: 102
|
||||
chains: 32
|
||||
|
||||
- type: crossing
|
||||
kind: OMSL
|
||||
name: Gannicox Foot Crossing
|
||||
miles: 102
|
||||
chains: 50
|
||||
|
||||
- type: minorBridge
|
||||
name: Footbridge
|
||||
position: over
|
||||
category: foot
|
||||
miles: 102
|
||||
chains: 65
|
||||
|
||||
- type: bridge
|
||||
category: aroad
|
||||
position: under
|
||||
roadName: A4171
|
||||
miles: 103
|
||||
chains: 3
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 103
|
||||
chains: 11
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
category: road
|
||||
name: Cashes Green Road
|
||||
miles: 103
|
||||
chains: 21
|
||||
|
||||
- type: crossing
|
||||
kind: MSL
|
||||
name: Ebley Crossing
|
||||
miles: 103
|
||||
chains: 49
|
||||
|
||||
- type: minorBridge
|
||||
name: Foxmoor Lane
|
||||
position: under
|
||||
category: road
|
||||
miles: 103
|
||||
chains: 41
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 104
|
||||
chains: 40
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
miles: 104
|
||||
chains: 45
|
||||
|
||||
- type: minorBridge
|
||||
name: Brown's Lane
|
||||
position: over
|
||||
miles: 104
|
||||
chains: 47
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Stonehouse 26 Foot Crossing
|
||||
miles: 104
|
||||
chains: 63
|
||||
|
||||
- type: station
|
||||
name: Stonehouse
|
||||
miles: 104
|
||||
chains: 74
|
||||
|
||||
- type: minorBridge
|
||||
name: Queen's Road
|
||||
position: under
|
||||
category: road
|
||||
miles: 104
|
||||
chains: 79
|
||||
|
||||
- type: crossing
|
||||
kind: MSL
|
||||
name: Globe Inn Foot Crossing
|
||||
miles: 105
|
||||
chains: 10
|
||||
|
||||
- type: minorBridge
|
||||
name: Gloucester Road
|
||||
roadName: B4008
|
||||
position: under
|
||||
miles: 105
|
||||
chains: 17
|
||||
|
||||
- type: bridge
|
||||
name: Oldends Lane
|
||||
position: under
|
||||
category: road
|
||||
miles: 105
|
||||
chains: 35
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Little Australia Foot Crossing
|
||||
miles: 105
|
||||
chains: 56
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 105
|
||||
chains: 64
|
||||
|
||||
- type: minorBridge
|
||||
name: Black Bridge
|
||||
position: over
|
||||
miles: 106
|
||||
chains: 13
|
||||
|
||||
- type: minorBridge
|
||||
name: Gloucester Road
|
||||
roadName: B4008
|
||||
position: over
|
||||
miles: 106
|
||||
chains: 60
|
||||
|
||||
- type: junction
|
||||
name: Standish Jn
|
||||
diverges: right
|
||||
direction: up
|
||||
description: Up to Gloucester, Dn to Bristol
|
||||
miles: 106
|
||||
chains: 74
|
||||
goto: 2420
|
||||
entryPoint: standish-jn
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
routeStart: Wootton Bassett Junction
|
||||
routeEnd: Stoke Gifford Junction
|
||||
routeStart: Wootton Bassett Jn
|
||||
routeEnd: Stoke Gifford Jn
|
||||
routeId: 0240
|
||||
updated: 2026-02-11
|
||||
checked: 2026-02-11
|
||||
@@ -14,14 +14,16 @@ elecEnd:
|
||||
routeDetail:
|
||||
- type: continues
|
||||
routeName: Reading - Bristol TM
|
||||
entryPoint: wootton-bassett-junction
|
||||
entryPoint: wootton-bassett-jn
|
||||
routeId: '0002'
|
||||
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: down
|
||||
name: Wootton Basset Junction
|
||||
name: Wootton Basset Jn
|
||||
description: to Chippenham & Bristol via Bath
|
||||
goto: "0002"
|
||||
entryPoint: wootton-bassett-jn
|
||||
miles: 83
|
||||
chains: 7
|
||||
|
||||
@@ -486,7 +488,9 @@ routeDetail:
|
||||
- type: junction
|
||||
diverges: left
|
||||
direction: up
|
||||
name: Westerleigh Junction
|
||||
name: Westerleigh Jn
|
||||
goto: '2420'
|
||||
entryPoint: westerleigh-jn
|
||||
miles: 107
|
||||
chains: 14
|
||||
description: Up/Dn Charfield towards Gloucester
|
||||
@@ -614,7 +618,7 @@ routeDetail:
|
||||
chains: 14
|
||||
|
||||
- type: crossovers
|
||||
name: Stoke Gifford East Junction
|
||||
name: Stoke Gifford East Jn
|
||||
miles: 111
|
||||
chains: 20
|
||||
|
||||
@@ -639,7 +643,7 @@ routeDetail:
|
||||
chains: 77
|
||||
|
||||
- type: junction
|
||||
name: Stoke Gifford No.1 Junction
|
||||
name: Stoke Gifford No.1 Jn
|
||||
diverges: right
|
||||
direction: down
|
||||
description: Up/Dn Filton & Bristol TM
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
routeStart: Westerleigh Junction
|
||||
routeStart: Westerleigh Jn
|
||||
routeEnd: Gloucester
|
||||
routeId: 2420
|
||||
updated: 2026-02-11
|
||||
checked: 2026-02-11
|
||||
checked:
|
||||
signallerStart: TVSC Swindon WS
|
||||
signallerEnd: Gloucester PSB
|
||||
elecStart:
|
||||
@@ -10,3 +10,672 @@ elecStart:
|
||||
eco: Didcot (TVSC)
|
||||
elecEnd:
|
||||
elec: none
|
||||
|
||||
routeDetail:
|
||||
|
||||
- type: junction
|
||||
name: Westerleigh Jn
|
||||
diverges: left
|
||||
direction: down
|
||||
goto: '0240'
|
||||
entryPoint: westerleigh-jn
|
||||
miles: 121
|
||||
chains: 26
|
||||
|
||||
- type: bridge
|
||||
name: Westerleigh Road
|
||||
category: road
|
||||
position: under
|
||||
miles: 121
|
||||
chains: 19
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
name: Cattle Creep
|
||||
miles: 121
|
||||
chains: 20
|
||||
|
||||
- type: electrificationChange
|
||||
from:
|
||||
elec: 25kvac
|
||||
eco: Didcot
|
||||
to:
|
||||
elec: none
|
||||
miles: 120
|
||||
chains: 67
|
||||
|
||||
- type: minorBridge
|
||||
name: Westerleigh Road
|
||||
position: under
|
||||
category: road
|
||||
miles: 120
|
||||
chains: 63
|
||||
|
||||
- type: minorBridge
|
||||
name: Farm Bridge
|
||||
position: under
|
||||
miles: 120
|
||||
chains: 36
|
||||
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: up
|
||||
name: Yate South Jn
|
||||
description: to Westerleigh Oil Terminal
|
||||
miles: 120
|
||||
chains: 3
|
||||
|
||||
- type: station
|
||||
name: Yate
|
||||
miles: 119
|
||||
chains: 60
|
||||
|
||||
- type: minorBridge
|
||||
category: aroad
|
||||
position: over
|
||||
description: Between platforms
|
||||
roadName: A432
|
||||
name: Station Road
|
||||
miles: 119
|
||||
chains: 59
|
||||
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: down
|
||||
name: Yate Middle Junction
|
||||
description: Diverges between platforms, to Tytherington
|
||||
miles: 119
|
||||
chains: 57
|
||||
|
||||
- type: minorBridge
|
||||
name: Stream
|
||||
category: Stream
|
||||
miles: 119
|
||||
chains: 23
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Celestine Road Foot Crossing
|
||||
miles: 119
|
||||
chains: 23
|
||||
|
||||
- type: minorBridge
|
||||
name: Goose Green Way
|
||||
category: road
|
||||
roadName: B4059
|
||||
position: over
|
||||
miles: 119
|
||||
chains: 6
|
||||
|
||||
- type: minorBridge
|
||||
name: Broad Lane
|
||||
category: road
|
||||
position: over
|
||||
miles: 119
|
||||
chains: 3
|
||||
|
||||
- type: minorBridge
|
||||
category: road
|
||||
miles: 118
|
||||
chains: 56
|
||||
position: over
|
||||
|
||||
- type: minorBridge
|
||||
name: Limekiln Road
|
||||
position: over
|
||||
miles: 117
|
||||
chains: 37
|
||||
|
||||
- type: minorBridge
|
||||
name: Hall End Lane
|
||||
category: road
|
||||
position: over
|
||||
miles: 116
|
||||
chains: 61
|
||||
|
||||
- type: minorBridge
|
||||
name: Westend Road
|
||||
category: road
|
||||
position: over
|
||||
miles: 116
|
||||
chains: 36
|
||||
|
||||
- type: minorBridge
|
||||
name: Aqueduct
|
||||
category: stream
|
||||
position: over
|
||||
miles: 116
|
||||
chains: 25
|
||||
|
||||
- type: tunnel
|
||||
name: Wickwar Tunnel
|
||||
tunnelType: whole
|
||||
length: 0mi 1401yd
|
||||
miles: 116
|
||||
chains: 60
|
||||
|
||||
- type: siteof
|
||||
name: Wickwar
|
||||
description: Former station
|
||||
miles: 115
|
||||
chains: 9
|
||||
|
||||
- type: minorBridge
|
||||
name: Station Road
|
||||
category: road
|
||||
position: under
|
||||
miles: 114
|
||||
chains: 79
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 113
|
||||
chains: 74
|
||||
|
||||
- type: siteof
|
||||
name: Charfield
|
||||
description: Former & Future Station
|
||||
miles: 113
|
||||
chains: 14
|
||||
|
||||
- type: minorBridge
|
||||
name: Wooton Road
|
||||
category: road
|
||||
roadName: B4058
|
||||
position: over
|
||||
miles: 113
|
||||
chains: 9
|
||||
|
||||
- type: loop
|
||||
position: both
|
||||
name: Charfield Loops
|
||||
miles: 112
|
||||
chains: 72
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Charfield 8 Foot Crossing
|
||||
miles: 112
|
||||
chains: 42
|
||||
|
||||
- type: minorBridge
|
||||
name: Little Avon River
|
||||
category: stream
|
||||
position: under
|
||||
miles: 112
|
||||
chains: 38
|
||||
|
||||
- type: minorBridge
|
||||
name: Charfield Meadow
|
||||
category: road
|
||||
position: under
|
||||
miles: 112
|
||||
chains: 21
|
||||
|
||||
- type: minorBridge
|
||||
name: Huntingford Bridge
|
||||
category: road
|
||||
position: under
|
||||
miles: 112
|
||||
chains: 10
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 111
|
||||
chains: 49
|
||||
|
||||
- type: minorBridge
|
||||
name: Foot Bridge
|
||||
category: foot
|
||||
position: over
|
||||
miles: 111
|
||||
chains: 1
|
||||
|
||||
- type: minorBridge
|
||||
category: road
|
||||
name: Wick Bridge
|
||||
position: over
|
||||
miles: 110
|
||||
chains: 60
|
||||
|
||||
- type: bridge
|
||||
name: Motorway
|
||||
roadName: M5
|
||||
category: motorway
|
||||
position: over
|
||||
miles: 110
|
||||
chains: 48
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Wick Mill No.2 Foot Crossing
|
||||
miles: 110
|
||||
chains: 9
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Wick Mill No.1 Foot Crossing
|
||||
miles: 109
|
||||
chains: 79
|
||||
|
||||
- type: minorBridge
|
||||
name: Crossways
|
||||
category: road
|
||||
position: over
|
||||
miiles: 109
|
||||
chains: 63
|
||||
|
||||
- type: signallerChange
|
||||
from: TVSC Stoke Gifford WS (BL)
|
||||
to: Gloucester PSB Panel C (G)
|
||||
miles: 109
|
||||
chains: 60
|
||||
|
||||
- type: crossing
|
||||
name: Goldwick Foot Crossing
|
||||
kind: foot
|
||||
miles: 109
|
||||
chains: 47
|
||||
|
||||
- type: crossing
|
||||
name: Alkington 14 Foot Crossing
|
||||
kind: foot
|
||||
miles: 109
|
||||
chains: 38
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 109
|
||||
chains: 15
|
||||
|
||||
- type: crossing
|
||||
name: Stinchcombe 6 Foot Crossing
|
||||
kind: foot
|
||||
miles: 108
|
||||
chains: 46
|
||||
|
||||
- type: minorBridge
|
||||
name: Cattle Creep
|
||||
position: under
|
||||
miles: 108
|
||||
chains: 53
|
||||
|
||||
- type: bridge
|
||||
name: Bristol Road
|
||||
position: over
|
||||
category: aroad
|
||||
roadName: A38
|
||||
miles: 108
|
||||
chains: 4
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Thornbury 45 Footpath
|
||||
miles: 107
|
||||
chains: 72
|
||||
|
||||
- type: junction
|
||||
diverges: right
|
||||
direction: Up
|
||||
name: Berkeley Road Jn
|
||||
description: to Sharpness Docks
|
||||
miles: 107
|
||||
chains: 70
|
||||
|
||||
- type: minorBridge
|
||||
name: Cattle Creep
|
||||
position: under
|
||||
miles: 107
|
||||
chains: 23
|
||||
|
||||
- type: minorBridge
|
||||
name: Tumpy Green
|
||||
position: over
|
||||
miles: 107
|
||||
chains: 4
|
||||
|
||||
- type: crossing
|
||||
name: Slimbridge 53 Foot Crossing
|
||||
kind: foot
|
||||
miles: 106
|
||||
chains: 62
|
||||
|
||||
- type: crossing
|
||||
name: Slimbridge 54 Foot Crossing
|
||||
kind: foot
|
||||
miles: 106
|
||||
chains: 48
|
||||
|
||||
- type: bridge
|
||||
name: Bristol Road
|
||||
category: aroad
|
||||
roadName: A38
|
||||
position: over
|
||||
miles: 106
|
||||
chains: 24
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Slimbridge 46 Foot Crossing
|
||||
miles: 105
|
||||
chains: 79
|
||||
|
||||
- type: bridge
|
||||
position: over
|
||||
name: Motorway
|
||||
roadName: M5
|
||||
category: motorway
|
||||
miles: 105
|
||||
chains: 70
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
category: aroad
|
||||
roadName: A4135
|
||||
miles: 105
|
||||
chains: 57
|
||||
|
||||
- type: crossovers
|
||||
name: Coaley GF
|
||||
miles: 105
|
||||
chains: 36
|
||||
|
||||
- type: station
|
||||
name: Cam & Dursley
|
||||
miles: 105
|
||||
chains: 30
|
||||
|
||||
- type: minorBridge
|
||||
name: Box Road
|
||||
position: over
|
||||
miles: 105
|
||||
chains: 26
|
||||
|
||||
- type: crossing
|
||||
name: Dursley Foot Crossing
|
||||
kind: foot
|
||||
miles: 105
|
||||
chains: 14
|
||||
|
||||
- type: minorBridge
|
||||
name: Westend
|
||||
position: under
|
||||
miles: 104
|
||||
chains: 60
|
||||
|
||||
- type: crossing
|
||||
name: Coaley 12 Foot Crossing
|
||||
miles: 104
|
||||
chains: 46
|
||||
kind: foot
|
||||
|
||||
- type: minorBridge
|
||||
name: Peter's Street
|
||||
position: under
|
||||
miles: 104
|
||||
chains: 39
|
||||
|
||||
- type: crossing
|
||||
name: Coaley 17 Foot Crossing
|
||||
kind: foot
|
||||
miles: 104
|
||||
chains: 27
|
||||
|
||||
- type: crossing
|
||||
name: Frocester 23 Foot Crossing
|
||||
kind: foot
|
||||
miles: 104
|
||||
chains: 14
|
||||
|
||||
- type: siteof
|
||||
name: Frocester
|
||||
description: Former station
|
||||
miles: 103
|
||||
chains: 36
|
||||
|
||||
- type: minorBridge
|
||||
name: Peter's Street
|
||||
position: over
|
||||
miles: 103
|
||||
chains: 32
|
||||
|
||||
- type: minorBridge
|
||||
name: Bath Road
|
||||
position: over
|
||||
miles: 103
|
||||
chains: 16
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Leonard Stanley 4 Foot Crossing
|
||||
miles: 102
|
||||
chains: 60
|
||||
|
||||
- type: minorBridge
|
||||
position: under
|
||||
miles: 102
|
||||
chains: 30
|
||||
|
||||
- type: bridge
|
||||
name: Stonehouse Viaduct
|
||||
position: under
|
||||
miles: 102
|
||||
chains: 9
|
||||
|
||||
- type: minorBridge
|
||||
name: River Frome
|
||||
category: waterway
|
||||
position: under
|
||||
miles: 101
|
||||
chains: 75
|
||||
|
||||
- type: minorBridge
|
||||
name: Bristol Road
|
||||
roadName: A419
|
||||
position: under
|
||||
miles: 101
|
||||
chains: 67
|
||||
|
||||
- type: minorBridge
|
||||
name: Footbridge
|
||||
category: foot
|
||||
position: over
|
||||
miles: 101
|
||||
chains: 42
|
||||
|
||||
- type: crossing
|
||||
name: Old Ends Level Crossing
|
||||
kind: CCTV
|
||||
description: CCTV by Gloucester
|
||||
miles: 101
|
||||
chains: 27
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Stonehouse 2 Foot Crossing
|
||||
miles: 101
|
||||
chains: 7
|
||||
|
||||
- type: minorBridge
|
||||
name: Stagholt Farm
|
||||
position: under
|
||||
miles: 100
|
||||
chains: 74
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Stagholt Foot Crossing
|
||||
miles: 100
|
||||
chains: 73
|
||||
|
||||
- type: minorBridge
|
||||
name: Black Bridge
|
||||
position: over
|
||||
miles: 100
|
||||
chains: 40
|
||||
|
||||
- type: minorBridge
|
||||
name: Gloucester Road
|
||||
category: road
|
||||
roadName: B4008
|
||||
miles: 100
|
||||
chains: 2
|
||||
|
||||
- type: crossing
|
||||
name: Standish 12 Footpath
|
||||
kind: foot
|
||||
miles: 99
|
||||
chains: 71
|
||||
|
||||
- type: junction
|
||||
name: Standish Jn
|
||||
diverges: left
|
||||
direction: up
|
||||
goto: '0230'
|
||||
entryPoint: standish-jn
|
||||
miles: 99
|
||||
chains: 69
|
||||
|
||||
- type: crossing
|
||||
name: Standish 9 Foot Crossing
|
||||
kind: foot
|
||||
miles: 99
|
||||
chains: 45
|
||||
|
||||
- type: minorBridge
|
||||
name: Bridge Farm
|
||||
position: over
|
||||
miles: 99
|
||||
chains: 29
|
||||
|
||||
- type: loop
|
||||
name: Haresfield Down Goods Loop
|
||||
position: left
|
||||
miles: 99
|
||||
chains: 0
|
||||
|
||||
- type: crossing
|
||||
kind: R/G
|
||||
name: Haresfield Foot Crossing
|
||||
miles: 99
|
||||
chains: 62
|
||||
|
||||
- type: loop
|
||||
name: Haresfield Up Goods Loop
|
||||
description: Exit signal usually blank
|
||||
position: right
|
||||
miles: 98
|
||||
chains: 40
|
||||
|
||||
- type: minorBridge
|
||||
position: over
|
||||
miles: 98
|
||||
chains: 38
|
||||
|
||||
- type: crossing
|
||||
kind: foot
|
||||
name: Brookthorpe Foot Crossing
|
||||
miles: 97
|
||||
chains: 01
|
||||
|
||||
- type: minorBridge
|
||||
name: Grange Road
|
||||
category: road
|
||||
position: under
|
||||
miles: 95
|
||||
chains: 66
|
||||
|
||||
- type: minorBridge
|
||||
name: Southern Avenue
|
||||
category: aroad
|
||||
roadName: A38
|
||||
miles: 95
|
||||
chains: 3
|
||||
position: over
|
||||
|
||||
- type: crossovers
|
||||
name: Tuffley Jn
|
||||
description: Limit of bidirectional running from Gloucester
|
||||
miles: 94
|
||||
chains: 74
|
||||
|
||||
- type: minorBridge
|
||||
name: Stroud Road
|
||||
roadName: B4072
|
||||
category: road
|
||||
position: over
|
||||
miles: 94
|
||||
chains: 62
|
||||
|
||||
- type: minorBridge
|
||||
name: Footbridge
|
||||
position: over
|
||||
miles: 93
|
||||
chains: 72
|
||||
|
||||
- type: minorBridge
|
||||
name: Tredworth Road
|
||||
position: under
|
||||
category: road
|
||||
miles: 93
|
||||
chains: 37
|
||||
|
||||
- type: minorBridge
|
||||
name: Barton Street
|
||||
category: road
|
||||
position: under
|
||||
roadName: B4073
|
||||
miles: 93
|
||||
chains: 10
|
||||
|
||||
- type: junction
|
||||
name: Gloucester Yard Junction
|
||||
diverges: left
|
||||
direction: down
|
||||
description: to Barnwood Junction
|
||||
goto: "2422"
|
||||
entryPoint: barnwood-jn
|
||||
miles: 93
|
||||
chains: 8
|
||||
|
||||
- type: loop
|
||||
name: Curve Through Siding
|
||||
position: left
|
||||
miles: 113
|
||||
chains: 20
|
||||
description: Mileage Change from Gloucester Yard Jn
|
||||
|
||||
- type: bridge
|
||||
name: Metz Way
|
||||
category: aroad
|
||||
roadName: A4032
|
||||
position: over
|
||||
miles: 113
|
||||
chains: 24
|
||||
|
||||
- type: crossing
|
||||
kind: MCB
|
||||
name: Horton Road LC
|
||||
description: Controlled by Gloucester PSB
|
||||
miles: 113
|
||||
chains: 56
|
||||
|
||||
- type: junction
|
||||
diverges: left
|
||||
direction: up
|
||||
name: Horton Road Jn
|
||||
description: to Barnwood Jn
|
||||
goto: "2422"
|
||||
entryPoint: horton-road-jn
|
||||
miles: 113
|
||||
chains: 61
|
||||
|
||||
- type: station
|
||||
name: Gloucester
|
||||
miles: 114
|
||||
chains: 4
|
||||
|
||||
- type: continues
|
||||
routeName: Gloucester - Severn Tunnel Jn
|
||||
entryPoint: gloucester
|
||||
routeId: '2421'
|
||||
Reference in New Issue
Block a user