openplannerteam / itinero-transit

A transit routing module for Itinero using Linked Connections.
Other
6 stars 1 forks source link

Vector tiles contain stop multiple times #90

Open xivk opened 4 years ago

xivk commented 4 years ago

In the vector tiles there are many different stops for the same station:

image

xivk commented 4 years ago

@pietervdvn Am I correct in assuming this is one stop for each platform?

xivk commented 4 years ago

Also this:

image

pietervdvn commented 4 years ago

All the stations and platforms indeed are in the original SNCB datasets (both GTFS & LC).

A URL ending with "_5" indicates 'platform 5', an URL with no underscore indicates the "station".

The SNCB does not use the "platform" stops, those can be filtered away by adding '--remove-unused', e.g. --read data.transitdb --remove-unused --write-vt directory/ will get them out.

Future work could be to fuse stops at the same location for VT generation, but this might not be needed.

xivk commented 4 years ago

In any case we should standardize how we handle this in the transitdb and abstract away these GTFS specifics. This would mean:

If this means we need to implement a specific parser for the NMBS data then so be it. It's up to NMBS to follow the standard; it should also be the end goal to stop consume GTFS in the long run anyway.

pietervdvn commented 4 years ago

Only stations that are used should end up in the transitdb.

I disagree. If we were to create a vector tile set of a service, there might be some stops in there that should be shown, even if unused, e.g. the stops of a service that is getting planned. However, I do agree that we should use the --remove-unused-flag everywhere in our scripts where necessary.

We implement a way to add the concept of a platform and we handle this the same way everywhere

This already is the case. A 'stop' in the code is a 'stop', we can use the attributes to add information about the platform number and if it is part of a parent station. There is still quite some work to do for this, especially because GTFS is not functioning for big datasets in the first place right now.

xivk commented 4 years ago

I disagree. If we were to create a vector tile set of a service, there might be some stops in there that should be shown, even if unused, e.g. the stops of a service that is getting planned. However, I do agree that we should use the --remove-unused-flag everywhere in our scripts where necessary.

I'm talking about what the default should be, we should turn it around and add an option to keep stops without connections but the primary purpose of this library is route planning and in that scenario it makes no sense to keep stops without connections.