New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop clusters based on parent stations #2364

Closed
barslett opened this Issue Nov 9, 2016 · 3 comments

Comments

Projects
None yet
1 participant
@barslett
Contributor

barslett commented Nov 9, 2016

Hi,

here in Greater Oslo, our stop hierarchy is 100% based on parent/child stops, for all transport modes. The parent stations are the ones that are exposed in our stop/place/address lookup module, while itineraries are presented on the "child stop"/stop point level. To achieve this, we have until now been using a mapping table in our integration platform. To mitigate the dependency on modules outside OTP, we have recently started looking at stop clusters, which seem to have been aimed at serving the purpose of mapping between child and parent.

However, it seems to me that today's implementation is only halfway there. The clustering is based on proximity instead of parent/child relation, and the cluster indexing is done during the generation. From the code comments, I understand that this is done because of insufficient parent station data in some cities, and the proximity-based clustering is done as a best effort (?)

What is the current view about this? I have rewritten the clusterStops() method to do the clustering based on parent/child, which seems to pretty much solve our requirements. Would it be possible to have both options available in the code base?

@barslett

This comment has been minimized.

Contributor

barslett commented Nov 28, 2016

While working with the stop clusters, we have also bumped into the same problem with lazy initialization as was fixed for Index API in #2178. Have fixed it and will submit it in a PR.

@barslett

This comment has been minimized.

Contributor

barslett commented Dec 8, 2016

The lazy initialization has been added to the PR #2376.

@abyrd - Do you have any recommendations of how to handle the two different approaches to stop clusterings? I could add a build parameter to choose between proximity or parent/child relation?

@barslett

This comment has been minimized.

Contributor

barslett commented Jan 8, 2017

The PR contains a route-config parameter stopClusterMode which allows for any number of different ways of clustering, including the implementation for clustering by parent station.

Closing the issue as the PR has been merged.

@barslett barslett closed this Jan 8, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment