Skip to content

Commit 91a08bd

Browse files
authored
FI stop positions (#672)
Fixes #630 Changes: - Support for T-144 and new T-144 signs - Support for T-270 - T272 signs for stop positions - Support for T-273 - T275 signs for train compositions Tampere (http://localhost:8000/#view=15.94/61.498645/23.774113/-43.1&style=signals): <img width="1091" height="980" alt="image" src="https://github.com/user-attachments/assets/275faf5c-9530-45dd-a719-0f9c30898cfb" /> Nokia (http://localhost:8000/#view=16.44/61.481815/23.501053&style=signals): <img width="1335" height="1004" alt="image" src="https://github.com/user-attachments/assets/eb04e71c-82c6-415f-9a42-ed4d1d459010" /> Note some signals have multiple stop signals tagged on a single node, which does not work.
1 parent b63ea41 commit 91a08bd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+391
-5
lines changed

features/signals_railway_signals.yaml

Lines changed: 125 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3934,13 +3934,136 @@ features:
39343934
- { tag: 'railway:signal:train_protection', any: [ 'FI:T-143', 'FI:T-143A' ] }
39353935
- { tag: 'railway:signal:train_protection:form', value: 'sign' }
39363936

3937-
- description: Baliisiryhmämerkki
3937+
- description: Baliisiryhmämerkki (old)
39383938
country: FI
39393939
icon: [ default: 'fi/t-144' ]
39403940
tags:
3941-
- { tag: 'railway:signal:train_protection', any: [ 'FI:T-144', 'FI:T-144A', 'FI:T-144B', 'FI:T-144C' ] }
3941+
- { tag: 'railway:signal:train_protection', value: 'FI:T-144' }
39423942
- { tag: 'railway:signal:train_protection:form', value: 'sign' }
39433943

3944+
- description: Baliisiryhmämerkki (new)
3945+
country: FI
3946+
icon:
3947+
- default: 'fi/t-144A'
3948+
- match: 'railway:signal:train_protection'
3949+
cases:
3950+
- { exact: 'FI:T-144B', value: 'fi/t-144-right' }
3951+
- { exact: 'FI:T-144C', value: 'fi/t-144-left' }
3952+
- { exact: 'FI:T-144D', value: 'fi/t-144-both' }
3953+
tags:
3954+
- { tag: 'railway:signal:train_protection', any: [ 'FI:T-144A', 'FI:T-144B', 'FI:T-144C', 'FI:T-144D' ] }
3955+
- { tag: 'railway:signal:train_protection:form', value: 'sign' }
3956+
3957+
- description: Stopping position (single)
3958+
country: FI
3959+
icon:
3960+
- default: 'fi/t-270'
3961+
- match: 'railway:signal:stop:caption'
3962+
cases:
3963+
- { any: ['1', '2', '3', '4', '5'], value: 'fi/t-270-{}', example: 'fi/t-270-{2}' }
3964+
default: 'fi/t-270-unknown'
3965+
- match: 'railway:signal:stop'
3966+
cases:
3967+
- { exact: 'FI:T-270B', value: 'fi/t-270-right' }
3968+
- { exact: 'FI:T-270C', value: 'fi/t-270-left' }
3969+
- { exact: 'FI:T-270D', value: 'fi/t-270-both' }
3970+
exampleIcon: 'fi/t-270-example'
3971+
tags:
3972+
- { tag: 'railway:signal:stop', any: ['FI:T-270A', 'FI:T-270B', 'FI:T-270C', 'FI:T-270D'] }
3973+
- { tag: 'railway:signal:stop:form', value: 'sign' }
3974+
3975+
- description: Stopping position (combination)
3976+
country: FI
3977+
icon:
3978+
- default: 'fi/t-270'
3979+
- match: 'railway:signal:stop:caption'
3980+
cases:
3981+
- { regex: '^([1-5]);[^;]+$', value: 'fi/t-271-top-{}', example: 'fi/t-271-top-{1}' }
3982+
- { regex: '^([^;]+);[^;]+$', value: 'fi/t-271-top-unknown' }
3983+
- match: 'railway:signal:stop:caption'
3984+
cases:
3985+
- { regex: '^[^;]+;(1|2|3|4|5)$', value: 'fi/t-271-bottom-{}', example: 'fi/t-271-bottom-{2}' }
3986+
- { regex: '^[^;]+;([^;]+)$', value: 'fi/t-271-bottom-unknown' }
3987+
- match: 'railway:signal:stop'
3988+
cases:
3989+
- { exact: 'FI:T-271B', value: 'fi/t-271-right' }
3990+
- { exact: 'FI:T-271C', value: 'fi/t-271-left' }
3991+
- { exact: 'FI:T-271D', value: 'fi/t-271-both' }
3992+
exampleIcon: 'fi/t-271-example'
3993+
tags:
3994+
- { tag: 'railway:signal:stop', any: ['FI:T-271A', 'FI:T-271B', 'FI:T-271C', 'FI:T-271D'] }
3995+
- { tag: 'railway:signal:stop:form', value: 'sign' }
3996+
3997+
- description: Stopping position point
3998+
country: FI
3999+
icon:
4000+
- default: 'fi/t-270'
4001+
- default: 'fi/t-272'
4002+
- match: 'railway:signal:stop'
4003+
cases:
4004+
- { exact: 'FI:T-272B', value: 'fi/t-270-right' }
4005+
- { exact: 'FI:T-272C', value: 'fi/t-270-left' }
4006+
- { exact: 'FI:T-272D', value: 'fi/t-270-both' }
4007+
exampleIcon: 'fi/t-272-example'
4008+
tags:
4009+
- { tag: 'railway:signal:stop', any: ['FI:T-272A', 'FI:T-272B', 'FI:T-272C', 'FI:T-272D'] }
4010+
- { tag: 'railway:signal:stop:form', value: 'sign' }
4011+
4012+
- description: Train composition (single)
4013+
country: FI
4014+
icon:
4015+
- default: 'fi/t-273'
4016+
- match: 'railway:signal:stop:caption'
4017+
cases:
4018+
- { any: ['1', '2', '3', '4'], value: 'fi/t-273-{}', example: 'fi/t-273-{2}' }
4019+
default: 'fi/t-273-unknown'
4020+
- match: 'railway:signal:stop'
4021+
cases:
4022+
- { exact: 'FI:T-273B', value: 'fi/t-273-right' }
4023+
- { exact: 'FI:T-273C', value: 'fi/t-273-left' }
4024+
- { exact: 'FI:T-273D', value: 'fi/t-273-both' }
4025+
exampleIcon: 'fi/t-273-example'
4026+
tags:
4027+
- { tag: 'railway:signal:stop', any: ['FI:T-273A', 'FI:T-273B', 'FI:T-273C', 'FI:T-273D'] }
4028+
- { tag: 'railway:signal:stop:form', value: 'sign' }
4029+
4030+
- description: Train composition (combination)
4031+
country: FI
4032+
icon:
4033+
- default: 'fi/t-273'
4034+
- match: 'railway:signal:stop:caption'
4035+
cases:
4036+
- { regex: '^([1-4]);[^;]+$', value: 'fi/t-274-top-{}', example: 'fi/t-274-top-{2}' }
4037+
- { regex: '^([^;]+);[^;]+$', value: 'fi/t-274-top-unknown' }
4038+
- match: 'railway:signal:stop:caption'
4039+
cases:
4040+
- { regex: '^[^;]+;(1|2|3|4)$', value: 'fi/t-274-bottom-{}', example: 'fi/t-274-bottom-{4}' }
4041+
- { regex: '^[^;]+;([^;]+)$', value: 'fi/t-274-bottom-unknown' }
4042+
- match: 'railway:signal:stop'
4043+
cases:
4044+
- { exact: 'FI:T-274B', value: 'fi/t-274-right' }
4045+
- { exact: 'FI:T-274C', value: 'fi/t-274-left' }
4046+
- { exact: 'FI:T-274D', value: 'fi/t-274-both' }
4047+
exampleIcon: 'fi/t-274-example'
4048+
tags:
4049+
- { tag: 'railway:signal:stop', any: ['FI:T-274A', 'FI:T-274B', 'FI:T-274C', 'FI:T-274D'] }
4050+
- { tag: 'railway:signal:stop:form', value: 'sign' }
4051+
4052+
- description: Train composition point
4053+
country: FI
4054+
icon:
4055+
- default: 'fi/t-273'
4056+
- default: 'fi/t-275'
4057+
- match: 'railway:signal:stop'
4058+
cases:
4059+
- { exact: 'FI:T-275B', value: 'fi/t-273-right' }
4060+
- { exact: 'FI:T-275C', value: 'fi/t-273-left' }
4061+
- { exact: 'FI:T-275D', value: 'fi/t-273-both' }
4062+
exampleIcon: 'fi/t-275-example'
4063+
tags:
4064+
- { tag: 'railway:signal:stop', any: ['FI:T-275A', 'FI:T-275B', 'FI:T-275C', 'FI:T-275D'] }
4065+
- { tag: 'railway:signal:stop:form', value: 'sign' }
4066+
39444067
- description: Main repeated light
39454068
country: FI
39464069
icon: [ default: 'fi/ko1' ]

symbols/fi/t-144-both.svg

Lines changed: 4 additions & 0 deletions
Loading

symbols/fi/t-144-left.svg

Lines changed: 4 additions & 0 deletions
Loading

symbols/fi/t-144-right.svg

Lines changed: 4 additions & 0 deletions
Loading

symbols/fi/t-144.svg

Lines changed: 3 additions & 3 deletions
Loading

symbols/fi/t-144A.svg

Lines changed: 5 additions & 0 deletions
Loading

symbols/fi/t-270-both.svg

Lines changed: 4 additions & 0 deletions
Loading

symbols/fi/t-270-example.svg

Lines changed: 6 additions & 0 deletions
Loading

symbols/fi/t-270-left.svg

Lines changed: 4 additions & 0 deletions
Loading

symbols/fi/t-270-right.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)