Skip to content
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

Handle GTFS feeds with pathway nodes #804

Merged
merged 6 commits into from
May 19, 2022
Merged

Handle GTFS feeds with pathway nodes #804

merged 6 commits into from
May 19, 2022

Conversation

abyrd
Copy link
Member

@abyrd abyrd commented Apr 15, 2022

This PR contains first steps to address issue #803. The most visible immediate effect is that it avoids spatial index errors from feeds with stops that lack coordinates when generating GTFS vector tiles. The underlying change is gracefully tolerating GTFS feeds that use the pathway extensions, even where we don't yet use those nodes in routing.

The code is already in working condition, but we may want to add more validation or build a full routable model from the pathways in transfers.txt. That could be done in this PR or a subsequent one.

This is the first step of #803.
It will gracefully ignore pathway nodes and reduce errors, but does not
yet build the routable edges inside the stations.
@abyrd abyrd marked this pull request as draft April 15, 2022 08:56
@abyrd
Copy link
Member Author

abyrd commented May 10, 2022

In the interest of getting this fix into the next maintenance release, we will not implement full pathway routing in this PR. In its current form the PR should now at least tolerate non-stop nodes in stops.txt and fully validate whether they must or must not have coordinates based on their types. In order to perform this validation, which requires checking internal references between rows in stops.txt and therefore cannot be applied on the fly as rows are loaded, this PR introduces post-load validation checks that run after all tables are loaded. Using this mechanism, this PR also includes a simple fix for #777: the calendar and calendar_dates tables are both treated as non-required, but a post-load rule adds a general error on the whole feed if no service entries were generated by loading the feed.

@abyrd abyrd marked this pull request as ready for review May 10, 2022 06:51
Copy link
Member

@ansoncfit ansoncfit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a couple minor renaming suggestions. Otherwise, this looks good to me.

@abyrd abyrd enabled auto-merge May 19, 2022 16:32
@abyrd abyrd merged commit b6e56a4 into dev May 19, 2022
@abyrd abyrd deleted the gtfs-pathways branch May 19, 2022 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants