Class only PID's trolleybus lines as trolleybuses, and name the new modes in the plural for voice

PID's routes.txt types lines 51, 52, 53, 58, 59, 232 and 275 as
trolleybuses (route type 11); the rest of 50 to 59 stay buses, as before.
Voice now also knows trolleybuses, gondolas, cable cars, funiculars and
monorails.
This commit is contained in:
Sameh Khamis committed 2026-11-14 12:22:30 -08:00
1 parent 96cefa28b3
commit dd15223109
3 files changed
+12 -2

No files matched your search

+6 -2
View File
@@ -547,6 +547,9 @@ function astuceRouteLabel(routeId) {
return ASTUCE_ROUTES[routeId ?? '']?.label ?? astuceNetworkLabel(routeId);
}
/** PID trolleybus lines: route_type 11 in PID's routes.txt (checked 2026-11-14). */
const PID_TROLLEYBUS_LINES = new Set([51, 52, 53, 58, 59, 232, 275]);
/**
* Prague PID route ids are `L` plus a number whose range says what runs it,
* per PID's GTFS routes.txt (data.pid.cz, checked 2026-11-09): 1–99 trams
@@ -566,10 +569,11 @@ function pidRoute(routeId) {
const n = Number(match[1]);
// i18n-ignore: line code, as signed
if (n === 49) return { mode: 'funicular', label: 'LD' };
if (n >= 50 && n <= 59) return { mode: 'trolleybus', label: String(n) };
if (PID_TROLLEYBUS_LINES.has(n))
return { mode: 'trolleybus', label: String(n) };
if (n >= 50 && n <= 59) return { mode: 'bus', label: String(n) };
if (n < 100) return { mode: 'tram', label: String(n) };
if (n >= 800 && n < 900) return { mode: 'bus', label: `X${n - 800}` };
if (n === 232 || n === 275) return { mode: 'trolleybus', label: String(n) };
if (n < 991) return { mode: 'bus', label: String(n) };
// i18n-ignore: metro line letters, as signed
if (n <= 993) return { mode: 'subway', label: 'ABC'[n - 991] };
+1
View File
@@ -734,6 +734,7 @@ test('Prague route-id ranges give metro, trains, ferries and trolleybuses their
];
assert.deepEqual(read('L22'), ['tram', '22']);
assert.deepEqual(read('L58'), ['trolleybus', '58']);
assert.deepEqual(read('L55'), ['bus', '55'], 'not a PID trolleybus line');
assert.deepEqual(read('L275'), ['trolleybus', '275'], 'route type 11');
assert.deepEqual(read('L49'), ['funicular', 'LD'], 'Petřín funicular');
assert.deepEqual(read('L135'), ['bus', '135']);
+5
View File
@@ -309,10 +309,15 @@ const layers = [
'trams',
'subway',
'trolleybus',
'trolleybuses',
'gondola',
'gondolas',
'cable car',
'cable cars',
'funicular',
'funiculars',
'monorail',
'monorails',
],
context: false,
query: {