Timetable Writing - 'Validate' reorders location list

You are here: Home > Forum > Simulations > Released > Oxted > Timetable Writing - 'Validate' reorders location list

Page 1 of 1

Timetable Writing - 'Validate' reorders location list 13/01/2018 at 14:27 #105030
rfw
Avatar
125 posts
So, I'm working on a timetable for Oxted & when I click on the validate button, the location list gets reordered, meaning that trains don't stop where they're meant to, unless I notice and order them back again. Example:




I don't know if this is a problem with the core or the sim, but it's really quite trying wherever it's a problem.
All I know it the locations that get shifted aren't 'way-points' / are intermediate stops & aren't mandatory for routing trains

Loader version: 4.6.7
Oxted data version: 3.0

The train now standing on platform 2, should be on the rails
Last edited: 13/01/2018 at 14:38 by rfw
Reason: Details added

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 14:37 #105031
headshot119
Avatar
4869 posts
It's not a core code issue, it'll be a simulation issue.

Mantis 19261 applies.

"Passengers for New Lane, should be seated in the rear coach of the train " - Opinions are my own and not those of my employer
Last edited: 13/01/2018 at 14:38 by headshot119
Reason: None given

Log in to reply
The following user said thank you: rfw
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 14:48 #105032
axmh
Avatar
61 posts
Interesting situation there.

I remember trying to add a few trains in the Southampton sim and I set the route according to its locations by locations but got the locations mixed up after pressing the OK button.

I realised it is something to do with the route you want a train to run so had to input the path route such as FL, SL, DM, P4, etc, etc.

So in the end I got what I wanted it to run by setting the path/route lines after the timings and it was alright after the press of OK button so train ran ok.

In that Oxted sim, I would like to think it is a case of setting the route/path line and platform positions as to get the t/t run well.

Just a thought so please correct me if I am wrong.

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 15:13 #105033
Steamer
Avatar
3913 posts
Online
rfw in post 105030 said:

All I know it the locations that get shifted aren't 'way-points' / are intermediate stops & aren't mandatory for routing trains
This tends to happen when you have trains timed at a non-mandatory location, but don't put sensible times for mandatory locations. I'm almost certain that these trains wouldn't run as you'd expect them to, even if you didn't press validate. You can solve the problem simply by inserting appropriate pass times at Blackham Jn and Ashurst Jn, you don't need to wait for the bug Karl raised to be fixed.

There should be no need to enter passing times at Riddlesdown, Upper Warlingham, Woldingham, Cowden and Eridge anyway; they aren't required and the pass time isn't really useful to anyone.

"Don't stress/ relax/ let life roll off your backs./ Except for death and paying taxes/ everything in life.../ is only for now." (Avenue Q)
Last edited: 13/01/2018 at 15:16 by Steamer
Reason: None given

Log in to reply
The following user said thank you: rfw
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 15:41 #105035
rfw
Avatar
125 posts
Ta, I put in the appropriate timings for them & that's fixed my problem. Many thank yous. I wish I hadn't been lazy & looked it up to begin with, it'd saved my what little sanity I had left!
The train now standing on platform 2, should be on the rails
Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 17:20 #105037
clive
Avatar
2736 posts
rfw in post 105030 said:
So, I'm working on a timetable for Oxted & when I click on the validate button, the location list gets reordered, meaning that trains don't stop where they're meant to, unless I notice and order them back again.
[...]
All I know it the locations that get shifted aren't 'way-points' / are intermediate stops & aren't mandatory for routing trains
Those are what we call "non-key" locations. They aren't part of the timetable paths and so the main validation logic has no idea of their relative locations. Therefore one of two methods are used to get them in their "right" place:
* position them according to the time you've given for the location
* position them according to the internal location codes
These latter are numbers and they *should* be in order for each path between key locations. That could be the problem.

As Steamer says, there's no need to put in times at non-key locations if the train doesn't stop there. If it's supposed to be a mandatory timing point, it should be a key location.

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 18:48 #105039
Noisynoel
Avatar
989 posts
Put times in for ALL locations if you leave any as --/-- it confuses the sim
Noisynoel
Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 19:01 #105040
Danny252
Avatar
1461 posts
Somewhat apart from the issue of bad timetable data, is there any real advantage to keeping the reordering function? I have never found it to fix an error I've made, but multiple times I've had to completely re-order a train's timetable because I made a single typo, and Simsig decided that randomly reordering would help.

I think any case where the timetable is reordered brings up an error anyway - usually that the passing time at X is earlier than the passing time at Y.

Last edited: 13/01/2018 at 19:01 by Danny252
Reason: None given

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 19:40 #105044
Noisynoel
Avatar
989 posts
It's not a re-ordering function, is a validation process. It primarily function ensures that a path between each location exists in order to prevent locations being input in wrong order
Noisynoel
Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 20:02 #105045
Steamer
Avatar
3913 posts
Online
Noisynoel in post 105039 said:
Put times in for ALL locations if you leave any as --/-- it confuses the sim
There are plenty of timetables (usually for shunts or 'unplanned' moves) which have --/-- times for all of their locations, which work fine.

Danny252 said:
I have never found it to fix an error I've made, but multiple times I've had to completely re-order a train's timetable because I made a single typo, and Simsig decided that randomly reordering would help.
If you correct the typo and validate again, the order should sort itself out without further intervention.

"Don't stress/ relax/ let life roll off your backs./ Except for death and paying taxes/ everything in life.../ is only for now." (Avenue Q)
Last edited: 13/01/2018 at 20:02 by Steamer
Reason: None given

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 20:13 #105046
GeoffM
Avatar
6274 posts
Danny252 in post 105040 said:
Somewhat apart from the issue of bad timetable data, is there any real advantage to keeping the reordering function? I have never found it to fix an error I've made, but multiple times I've had to completely re-order a train's timetable because I made a single typo, and Simsig decided that randomly reordering would help.

I think any case where the timetable is reordered brings up an error anyway - usually that the passing time at X is earlier than the passing time at Y.
Obviously it's not random otherwise you'd see different results each time.

The validation involves looking at just the key locations (usually major stations and junctions) and verifying that it's valid to get from A to B with the specified platform/line/path codes, if appropriate. Once that's done, the non-key locations get re-inserted. This is where the problem occurs: you have a set of locations in one order, and a set of times in a different order. So how do you re-insert when the two contradict each other?

Zero times are okay if they're all zero. A mix is not okay.

SimSig Boss
Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 21:32 #105052
DriverCurran
Avatar
682 posts
I have had a look through the requisite file and the numbers increase in the required way. I have shown this as closed (will not fix) pending any further issues. I can certainly not see any data based issue that stands out immediately.

Cheers

Paul

You have to get a red before you can get any other colour
Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 21:34 #105053
Danny252
Avatar
1461 posts
GeoffM in post 105046 said:
The validation involves looking at just the key locations (usually major stations and junctions) and verifying that it's valid to get from A to B with the specified platform/line/path codes, if appropriate. Once that's done, the non-key locations get re-inserted. This is where the problem occurs: you have a set of locations in one order, and a set of times in a different order. So how do you re-insert when the two contradict each other?
Is the simplest answer not just to leave the timetable order and timings as-is, and to warn the user that validation has failed, asking them to go and fix the issue? That's what occurs for just about every other validation issue (e.g. trying to depart before you arrive), with invalid platform/line/path codes being the only exception I can think of currently - and even that often prompts the user if it has an issue, asking them to select a valid option.

Last edited: 13/01/2018 at 21:36 by Danny252
Reason: None given

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 22:17 #105054
Noisynoel
Avatar
989 posts
Danny252 in post 105053 said:
GeoffM in post 105046 said:
The validation involves looking at just the key locations (usually major stations and junctions) and verifying that it's valid to get from A to B with the specified platform/line/path codes, if appropriate. Once that's done, the non-key locations get re-inserted. This is where the problem occurs: you have a set of locations in one order, and a set of times in a different order. So how do you re-insert when the two contradict each other?
Is the simplest answer not just to leave the timetable order and timings as-is, and to warn the user that validation has failed, asking them to go and fix the issue? That's what occurs for just about every other validation issue (e.g. trying to depart before you arrive), with invalid platform/line/path codes being the only exception I can think of currently - and even that often prompts the user if it has an issue, asking them to select a valid option.
No all you need to do is put actual times in for Ashham & Blackham Jn's. Put them in the correct order and all will be well. Like Geoff says if some locations have times and others don't then the system will get confused.

So for example Blackham Jn at 04:45 and Asham at 05:00

Noisynoel
Last edited: 13/01/2018 at 22:18 by Noisynoel
Reason: None given

Log in to reply
Timetable Writing - 'Validate' reorders location list 13/01/2018 at 22:39 #105055
clive
Avatar
2736 posts
Danny252 in post 105040 said:
Somewhat apart from the issue of bad timetable data, is there any real advantage to keeping the reordering function?
When I get a chance I'll look at the code and see why it's done that way.

Log in to reply
The following user said thank you: postal
Timetable Writing - 'Validate' reorders location list 18/01/2018 at 22:46 #105216
clive
Avatar
2736 posts
Danny252 in post 105053 said:
GeoffM in post 105046 said:
The validation involves looking at just the key locations (usually major stations and junctions) and verifying that it's valid to get from A to B with the specified platform/line/path codes, if appropriate. Once that's done, the non-key locations get re-inserted. This is where the problem occurs: you have a set of locations in one order, and a set of times in a different order. So how do you re-insert when the two contradict each other?
Is the simplest answer not just to leave the timetable order and timings as-is, and to warn the user that validation has failed, asking them to go and fix the issue?
I'm afraid Geoff has slightly misled us in his description. It's not just timetable validation; the difficult situation is when a key location is auto-inserted. The code has to split the non-key locations either side of the insertion and that's the code that has the "interesting" behaviour. This logic gets called as part of validation and, because you don't know ahead of time whether an auto-insert will happen, it gets called for all validation.

I was wrong to refer to the sequence information in the sim data; that doesn't seem to be used. Rather, it tries to maintain time order or, if non-key locations don't have a departure or pass time, tries to maintain the original order. However, I can see that could go wrong in some cases.

Log in to reply
Timetable Writing - 'Validate' reorders location list 18/01/2018 at 23:19 #105219
GeoffM
Avatar
6274 posts
clive in post 105216 said:
Danny252 in post 105053 said:
GeoffM in post 105046 said:
The validation involves looking at just the key locations (usually major stations and junctions) and verifying that it's valid to get from A to B with the specified platform/line/path codes, if appropriate. Once that's done, the non-key locations get re-inserted. This is where the problem occurs: you have a set of locations in one order, and a set of times in a different order. So how do you re-insert when the two contradict each other?
Is the simplest answer not just to leave the timetable order and timings as-is, and to warn the user that validation has failed, asking them to go and fix the issue?
I'm afraid Geoff has slightly misled us in his description. It's not just timetable validation; the difficult situation is when a key location is auto-inserted. The code has to split the non-key locations either side of the insertion and that's the code that has the "interesting" behaviour. This logic gets called as part of validation and, because you don't know ahead of time whether an auto-insert will happen, it gets called for all validation.

I was wrong to refer to the sequence information in the sim data; that doesn't seem to be used. Rather, it tries to maintain time order or, if non-key locations don't have a departure or pass time, tries to maintain the original order. However, I can see that could go wrong in some cases.
Not intentionally misled: rather, just forgot to mention it.

The sequence information referenced was originally used for simplifier exports, though I think it's also used in TT validation now - but not for this.

SimSig Boss
Log in to reply