-
Notifications
You must be signed in to change notification settings - Fork 181
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
Pathways and levels #143
Pathways and levels #143
Conversation
This reverts commit d2ecef5.
Brings this fork in line with google/transit
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the Googlers can find more info about SignCLA and this PR by following this link. |
I'm assuming stop_ids in stop_times.txt now can either be a Stop, Platform (type=0) or Boarding Area (type=4), but not Station (type=1), entrance (type=2) or generic nodes (type=3). Should that specified somewhere? |
Good point. I’ll add it.
|
If boarding areas are would be routable, this proposal becomes even a bigger mess. The authors were against a much more simple extension to allow an entrance to a platform. If the proposal is extending GTFS with a transit routable boarding area but not directly make stations transit routable as well, it seems clear that the only intention is to make GTFS more complex, and not better usable. |
Guillaume (@gcamp): On second thought, no, I don't see what you're speaking about. StopTimes can only refer to stops (
To:
Boarding areas in this proposal are only used to route rider within stations. |
Another dataset is publicly available. It contains the data for station Taverners Hill in Sydney (AU-NSW): http://bit.ly/gtfs-pathways-tfnsw-taverners-hill. Both datasets (King's Cross and Taverners Hill) are currently used in the production version of Google Maps. Both to process walking time in station and to display "follow sign" information (from |
So we have data producers, which have made extract of their data public (for TfL & TfNSW stations) and we have a data consumer, Google Maps, using this data in production. Also the PR has been open for more than one week. Therefore I opening the vote on the PR. The vote will be open until Tuesday 12 March at 23:59:59 UTC. |
@LeoFrachet is this a bogus claim? Previously it has been stated that Google was only using some parts of the pathway proposal, that previously existed and didn't have anything to do with your additions to it. -1 |
I'll let Google answer directly. |
Hello from Google, I am voting in favor of its addition to the core specification. +1 |
Can we have more details on what Google support and what is the "Core GTFS-Pathways" @aababilov ? Also @LeoFrachet can you fix the conflicts before calling for a vote since there are going to be changes needed to be done anyway? |
The "Core GTFS-Pathways" is what is in this proposal. Which is what Google support. It is a subset of the full GTFS-Pathways which is in the document bit.ly/gtfs-pathways. And yes I'll fix the conflicts. |
More details on Google's support for the proposed specification:
PS: |
I am now trying to consolidate information from throughout this thread so I can formulate an opinion on it. @gcamp my understanding is that "core pathways" means the set of features listed in the document http://bit.ly/gtfs-pathways-core, and the changes in this PR are intended to represent exactly that set of features, which are a subset of the larger recent pathways proposal. However "core pathways" is a superset of the older pathways proposal from years in the past. @aababilov and @dbabramov have confirmed that Google has implemented the entire set of features listed in the above-linked document, and would display or otherwise use all new data described in this pull request. One source of concern is that this micro-mapping is relatively complex and would probably require special tooling to be widely adopted. Some less complex changes focusing on implicit connectivity among grouped entities (rather than explicit pathway topology) could promote better representation of compound stations across a larger number of data sets. But perhaps that should be a separate proposal. There are also some decisions mixed into this PR (and the above comments) that might be considered orthogonal to the core issue of describing station pathway topology, specifically the idea that stop_times can only reference stops, meaning trips can only stop at specific platforms, rather than stations (when the platform is dynamically allocated and not yet known). |
About the question of assigning station to stop_times (for when the platform isn't known yet), I agree it is orthogonal to the current conversation, and I'd rather have this conversation another thread. It's a really important conversation, and I've been gathering feedback on it, but it's distinct to the Pathways proposal. |
@LeoFrachet shall I create an issue for stop_times visiting stations, or were you already planning to create one including the information you've gathered? On the topic of this PR, I am wondering about the inclusion of the additional levels.txt table in the minimal "core" proposal. I see that the levels section is a subset of the original at Might it be just as effective, yet less complex (avoiding a join), to include the level_index and level_name fields in the stops themselves? By way of comparison, we don't have a |
Regarding scheduling on station, I opened an issue: #147 Regarding But my concern is that now, in March 2019, we already have quite a few implementations done(MBTA, NY MTA, SF MTA, Google, London and some others stakeholders working on it). I don't know if all of them are supporting
|
@mbta has a |
+1, though it would be nice to clean up the trailing whitespace before merging. |
+0. I am hesitant to block this change alone at the last minute, as I see that a large number of stakeholders are already structuring the data this way with a separate levels table. It would be helpful though if someone can explain why levels are broken out into a separate table. I do not see the two representations (embedded field versus reference to external table) as equivalent. The table option somehow implies that the mezzanine or basement level of two unconnected stations are the same entity. It would be preferable to make such a decision about the data model for a solid reason. Fields stating the level directly (rather than referencing external tables) seem more readable, not significantly more voluminous, and closer to the reality of different stations being different entities. |
So the vote passed! 5 votes in favor:
One abstention:
I'll fix the trailing spaces and the CLA and I'll merge. |
Trailing spaces removed. Alexej @aababilov can you force-approve the CLA? Thanks! |
cla: yes |
A Googler has manually verified that the CLAs look good. (Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.) ℹ️ Googlers: Go here for more info. |
Can someone post a link to a complete GTFS dataset that makes use of these new tables? The examples linked above for Taverner's Hill and King's Cross have only a subset of the entire GTFS feed. I need a full dataset to do some testing for my tools. |
| Field Name | Type | Required | Description | | ||
| ------ | ------ | ------ | ------ | | ||
| `level_id` | ID | **Required** | Id of the level that can be referenced from `stops.txt`.| | ||
| `level_index` | Float | **Required** | Numeric index of the level that indicates relative position of this level in relation to other levels (levels with higher indices are assumed to be located above levels with lower indices).<br><br>Ground level should have index 0, with levels above ground indicated by positive indices and levels below ground by negative indices.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
level_index
is an integer in the spec here, rather than a float. Which is correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mbta is treating it as a float, and we have some non-integer values already.
* Making stop lat and lon optional * Changes to pathways required to support google feed
Hi GTFS community!
As explained last October in the issue #108, and as discussed in the Google Docs linked in the issue (bit.ly/gtfs-pathways), we've been working on extending GTFS to describe subway stations. Since the conversations faded out and since the consensus was reached, some agencies started to gather the data this Winter, including SF MTA, NYMTA & MBTA. They haven't put (as of today) those new fields in their production dataset, but we should be close to that for some of them.
From the full proposal, we extracted the mostly used fields, that you can either see in a Google Doc (bit.ly/gtfs-pathways-core) or in this proposal.
A first dataset has been created for King's Cross. It's publicly available for those who want to see what it looks like, or who want to start implementing: http://bit.ly/gtfs-pathways-tfl-kings-cross (the PR and the Google Doc are slightly different, since I updated the phrasing of the definition form the old version "The
blabla
field defines a something that" into the new phrasing: "Something that")