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

Define stop_lat & stop_lon as "where passengers are waiting" #179

Merged
merged 5 commits into from
Aug 26, 2019

Conversation

LeoFrachet
Copy link
Contributor

GTFS producers are not all locating their stop lat/lon at the same place for buses:

  • most of them are placing it on the sidewalk, where the passengers are waiting;
  • a few of them are placing it on the roadway, where the bus stops (example: VVS in Stuttgart, Germany; you can see it in Google Maps or download the GTFS).

The specification is currently silent on this, it only says:

  • stop_lat: "Latitude of the location."
  • stop_lon: "Longitude of the location."

This proposal offers to specify it, choosing the most commonly use option: on the sidewalk, where passengers are waiting.

(To download the VRR dataset, follow this link, then click on "Herunterladen" — "Download" in German — then they will ask you if you're read the license agreement, click "Zustimmen" — "Agree" in German — if you agree to download it.)

Ping @aababilov

@flocsy
Copy link
Contributor

flocsy commented Aug 7, 2019

+1

@tsherlockcraig
Copy link

This is very much needed, but two typos to fix and one question:

  • "the coordinates must the ones" should read "the coordinates must be the ones"
  • "For stops/platforms (location_type=1)" should be "For stops/platforms (location_type=0)"
  • I wonder whether in some situations (larger platforms, bus stations with buildings where waiting is allowed far from the pickup location) this definition would encourage or allow locations that are too far from the roadway. What about a phrasing like "where travelers board and alight the bus" or "where the road and sidewalk meet and travelers board"? Potentially that type of phrase could remove the need for the parenthetical clarification too.

@LeoFrachet
Copy link
Contributor Author

LeoFrachet commented Aug 7, 2019

Hi @thomastrillium, thanks for the careful review.

I've fixed the two typos you pointed out.

Regarding waiting vs boarding, I agree that this is a tricky question (and I personally share your concerns).

I like the "where the road and sidewalk meet and travelers board".

As food-for-thoughts, I've just checked the PTv2 specification for bus stops (the data model used by OSM to describe public transit), they define two distinct objects:

  • "Add a node at the location of the bus stop sign. "
  • "If you choose to add a stop position node, place a node on the road where the bus stops."

And I'm starting to think that for bus stops, the current untold consensus is to put it at the bus pole, which is what passenger search when they search for the "bus stop", and which is technically neither where passengers wait (sometimes there is shelter nearby) nor where they board. (Sorry to complicate this).

So:

  • Option 1 (the current one): where passengers wait.
  • Option 2 (Thomas one): where passengers board.
  • Option 3 (OSM one): where is the stop sign.

I have no strong opinion, but I agree with Thomas that the first one may lead to error in edge cases.

Thoughts? @thomastrillium @aababilov @gcamp @prhod @abyrd @paulswartz @devadvance @skinkie...

@skinkie
Copy link
Contributor

skinkie commented Aug 7, 2019

Option 2 is what is commonly used in the EU. The OSM variant is a derivative of that, because if no stop sign exists, they still place a stopicon ;-) Anyway, for buses this is all easy, but what to do with trains?

@flocsy
Copy link
Contributor

flocsy commented Aug 8, 2019 via email

@skinkie
Copy link
Contributor

skinkie commented Aug 8, 2019 via email

@botanize
Copy link
Contributor

botanize commented Aug 8, 2019

The policy at Metro Transit in Minneapolis is that operators stop at the transit sign. Sometimes they load one or two buses back from the sign, but they have to make sure there are no customers waiting at the sign before they can leave the stop. So even when a bus stops some distance from the sign, a customer should be guaranteed to board if they're at the sign. Thus option 3 best fits our policy and practice.

Waiting areas are adjacent to signs, so there's not really an issue with finding the waiting area. We have a few stops that are essentially at intersections and equidistant to two streets, however, the shape assigned to the trip serving the stop clears up any confusion about which street the stop serves.

We typically use the middle of our train platforms as the stop location, though that varies a little, apparently at random. Once a customer is at the middle of the platform they can easily follow signage if shorter trains are serving only part of the platform.

@barbeau
Copy link
Collaborator

barbeau commented Aug 8, 2019

And I'm starting to think that for bus stops, the current untold consensus is to put it at the bus pole,

This matches up with my personal experience talking with agencies that run buses. Often this comes directly from an asset inventory, which is based on the pole/sign position. All stops have signs, but not all of them have benches, sidewalks, etc.

It would be interesting to survey a large number of GTFS producers to see how this is currently being handled. It's certainly not a trivial thing to change in a dataset, so we might be better off trying to define the current practice rather than creating a standard ourselves.

@aababilov
Copy link
Contributor

+1 from Google

The main thing we would like to avoid is getting a GTFS stop coordinates in the middle of the road. In this case, Google Maps navigate the user to a random side of the road. The user may cross the street, come to the wrong side of the road, realize that the instruction was wrong and see the bus departing from the other side.

@flocsy
Copy link
Contributor

flocsy commented Aug 8, 2019 via email

@tsherlockcraig
Copy link

In Saigon on a visit there last year I didn't find any bus stop signs, but came to realize 24 hours in that the diagonally crossed paint on the ground (which was usually somewhat faded) consistently indicated a bus stop. It's also common for rural American bus systems to have designated but unsigned stops.

I've used "right on top of the pole" before to describe to an agency what we were going for, but if it were used in the spec it would need to be as an example or in addition to another description.

@LeoFrachet
Copy link
Contributor Author

Thanks for all your feedback! So maybe I should rephase by saying that:

the coordinates must be the ones of the bus pole — if exists — and otherwise of where the travelers are boarding the vehicle (on the sidewalk or the platform, and not on the roadway or the track where the vehicle stops).

@flocsy
Copy link
Contributor

flocsy commented Aug 12, 2019 via email

@aababilov
Copy link
Contributor

+1 from Google

@prhod
Copy link

prhod commented Aug 14, 2019

+1

@skinkie
Copy link
Contributor

skinkie commented Aug 14, 2019

+1 OpenGeo

@harringtonp
Copy link

+1 YourStop

@gcamp
Copy link
Contributor

gcamp commented Aug 14, 2019

+1

@LeoFrachet
Copy link
Contributor Author

Since everybody seems to like the proposed phrasing I've just updated the proposal and we can open the vote.

The vote will be closed on Wednesday, August 21st at 23:59:59 UTC.

@gcamp, @harringtonp, @skinkie, @prhod, @aababilov and @flocsy could you please recast your vote, now that the vote is open?

Thanks!

@harringtonp
Copy link

+1

2 similar comments
@gcamp
Copy link
Contributor

gcamp commented Aug 14, 2019

+1

@mgilligan
Copy link

+1

@skinkie
Copy link
Contributor

skinkie commented Aug 14, 2019 via email

@LeoFrachet LeoFrachet added the Status: Voting Pull Requests where the advocate has called for a vote as described in the changes.md label Aug 20, 2019
@LeoFrachet
Copy link
Contributor Author

Vote closed. It passed by four +1 (MBTA, OpenGeo, Transit, YourStop)

@LeoFrachet LeoFrachet merged commit 212e202 into google:master Aug 26, 2019
@LeoFrachet LeoFrachet deleted the change/stoplatlon branch August 26, 2019 21:54
@aababilov
Copy link
Contributor

Late +1 from Google. I am happy to see this merged.

@barbeau barbeau removed the Status: Voting Pull Requests where the advocate has called for a vote as described in the changes.md label Jan 11, 2020
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.