Skip to content

Google's unofficial route_type 8 to 12#174

Merged
timMillet merged 3 commits intogoogle:masterfrom
MobilityData:extension/route-types-8-to-12
Feb 5, 2020
Merged

Google's unofficial route_type 8 to 12#174
timMillet merged 3 commits intogoogle:masterfrom
MobilityData:extension/route-types-8-to-12

Conversation

@LeoFrachet
Copy link
Contributor

Google uses the following unofficial route_type:

They'd like to officialize some of them, namely:

Regarding the other ones:

  • route_type=8 could be defined as an "easter egg" route type (Catapult in CityMapper, Hogwarts Express in Transit, Dragon service, loch ness monster...) => Could be worth also adding
  • route_type=10 commuter rail is already broadly represented using route_type=2, which is defined as "Rail. Used for intercity or long-distance traveled". => Should maybe not be added
  • route_type=9 intercity buses aren't really described in GTFS, they are usually represented with route_type=3 bus, which is defined by "Bus. Used for short- and long-distance bus routes.". => Should it be also added?

This conversation can be linked to the extended route types, which are not part of the specification but which are officially used by Google.

(Ping: @aababilov )

@skinkie
Copy link
Contributor

skinkie commented Jul 22, 2019

Can you please reference where you retrieved this information (8-12) from? Since it is not on https://developers.google.com/transit/gtfs/reference/#routestxt

Are you representing Google in this pull request?

@LeoFrachet
Copy link
Contributor Author

I'm not aware of any public documentation of those route types that I could refer to. They come directly from conversations with Google. @aababilov: Could you maybe share your perspective?

@flocsy
Copy link
Contributor

flocsy commented Jul 22, 2019

+1 for 11 Trolleybus, and I don't think 3 needs to be changed, because where they use trolleybuses people call them like "trolley" vs "bus" anyway.
In other words: bus vs trolleybus look different, so people can tell apart.

But 9 is a bit of a problem, because if we'd add it then the definition of 3 probably should drop the "long-distance", but that's a non-backward compatible change.
In other words: short-distance vs long-distance or city vs intercity buses might look different for locals who know what to look for, but are usually harder to tell apart for turists, they both looks just "bus".

@flocsy
Copy link
Contributor

flocsy commented Jul 22, 2019

BTW what about Rickshaw? https://en.wikipedia.org/wiki/Rickshaw

@skinkie
Copy link
Contributor

skinkie commented Jul 22, 2019

BTW what about Rickshaw? https://en.wikipedia.org/wiki/Rickshaw

Can you present a timetabled Rickshaw?

@LeoFrachet
Copy link
Contributor Author

About richshaws, I assume @flocsy may be referring to the "Auto-rickshaw", like the Tuk-tuk in Nairobi (https://en.wikipedia.org/wiki/Auto_rickshaw), which has been described using GTFS by the University of Nairobi as part of "Digital Matatus" (http://www.digitalmatatus.com/intro_lite.html, the GTFS is in the "Map" tab). It is one of the project by DigitalTransport4Africa, which also described the informal transit network in Accra (Ghanna).

But maybe we should keep the informal transit conversation for another thread, and try to first see which among those Google unofficial route type we should merge with the official spec.

@aababilov
Copy link
Contributor

+1 from Google.

Trolleybus (11) and monorail (12) are used by private providers in 5 countries.
Trolleybuses are perceived by locals as a distinct vehicle type from buses (e.g., in Russia and Ukraine which have robust trolleybus networks), so route_type 3 (bus) cannot be used for trolleybus routes.

Monorails are also perceived as a special vehicle type, so they need their own route_type.

@paulswartz
Copy link
Contributor

@mbta has trolleybuses, but our riders don't think of them as separate from regular buses: the routes w/ trolleybuses also have trips served by regular buses.

@gcamp
Copy link
Contributor

gcamp commented Jul 26, 2019

I understand that Google is a big player, but wouldn't it be more logical to have Trolleybus and monorail as 8 and 9? For google to support it we could talk about having an indicator of the GTFS version or supported feature like discussed in #171

@aababilov
Copy link
Contributor

aababilov commented Jul 30, 2019

We at Google don't think that it is important to have sequential numbers for route types. However, if it is the goal, I can suggest more vehicle types to fill the gap:

  • animal-powered carriage - Google has a feed giving buffalo carriage in Japan that uses extended number 1702 here
  • people mover - popular in airports (Charles de Gaulle, Sheremetyevo); Google has providers that use extended number 108 here
  • rack-and-pinion railway - mostly found in mountains; Google has providers that use 7 (funicular) for them

All those route types are substantially different from the existing standard route types. E.g., it is fine to give commuter rail as 2 (rail) but there is no way to represent a people mover using types 0-7.

By the way, is there a conflict with existing large providers or consumers that may use 8-12 in some other senses? If so, the standard GTFS may declare 8-12 as "reserved, do not use".

We at Goolge would like to avoid defining versioning of the spec. While this can make lives easier for data providers, data consumers may have to take the burden of supporting official versions of the spec.

@flocsy
Copy link
Contributor

flocsy commented Jul 31, 2019

+1 for rack-and-pinion railway

@LeoFrachet
Copy link
Contributor Author

I see three options being discussed here:

  • Option 1) We add monorail & trolleybus as 8 and 9 (@gcamp proposal, but @aababilov seems against it)
  • Option 2) We add monorail & trolley as 11 and 12, and we leave a gap (First proposal, but @gcamp seems at least reluctant)
  • Option 3) We add monorail & trolley as 11 and 12 and we fill the gap (last @aababilov proposal)

We have to keep in mind that option 3 may prolongate the conversation, and that we'll also then need producer of those values. So:

@gcamp: Would you be against adding 11 and 12 for now and discuss then the potential needs for 8 to 10?

@gcamp
Copy link
Contributor

gcamp commented Aug 12, 2019

What would be the end goal with the gap? Close it with new values that should match what Google has or fill it with any value that we find useful? How important is the backward compatibility with Google's extension?

@LeoFrachet
Copy link
Contributor Author

Values 8 to 10 aren't used by Google (even if they are defined), so they can be reallocate without having any impact.

So the gap would likely be filled with other needs with time (Alexej listed a few possible options), even if I guess nobody could ensure that it will be.

@gcamp
Copy link
Contributor

gcamp commented Aug 12, 2019

Good, then I don't mind really. I would prefer 8 to 10 but won't block otherwise.

@LeoFrachet
Copy link
Contributor Author

LeoFrachet commented Aug 12, 2019

Oh ok. Then I can open the vote with the current 11 and 12, and then we'll add the other when we'll need it.

We just need a producer. @aababilov Could you open a dataset with 11 and 12?

@devadvance
Copy link

devadvance commented Aug 12, 2019

  • route_type=9 intercity buses aren't really described in GTFS, they are usually represented with route_type=3 bus, which is defined by "Bus. Used for short- and long-distance bus routes.". => Should it be also added?

@LeoFrachet in our opinion, intercity bus should likely be added, but I think we would need producer input on this since many intercity buses operate in ways that are indistinguishable from intracity. It's not clear what specific characteristics would be used to separate types 9 and 3.

For example, one of our partners, NJ Transit, has bus routes that go between New York City and various cities in New Jersey [1] [2]. Today, they're represented simply as buses (3), and it's not clear which, if any, would become "intercity buses".

[1] http://transitfeeds.com/p/nj-transit/409/latest/route/3
[2] http://transitfeeds.com/p/nj-transit/409/latest/route/58

@flocsy
Copy link
Contributor

flocsy commented Aug 12, 2019 via email

@devadvance
Copy link

@flocsy in essence, it would provide for better granularity regarding the function of the vehicle (level of service provided), rather than the physical characteristics of the vehicle. This would seem to be in line with the other route_type options.

For instance, route_types 0, 1, and 2 can all use rail-based carriages, but their use by agencies and riders differs drastically. I agree that the vehicle type may be the same or highly similar, but the difference we wish to communicate to riders is their ability to travels short versus long distances.

@LeoFrachet
Copy link
Contributor Author

So, in my first message I was just stating the current internal Google definition and asking "Should it be also added?".

I personally think that we should not add intercity bus as a new route type, otherwise we just won't know if a route with route_type=3 is meant to be an intra-city bus, or if the producer is using the old definition and still define intercity bus like that.

@flocsy: We could define a distinction between both. As @devadvance said, this is what is done for rail service. And for bus, they are a big physical distinction between city buses and coaches. Passenger are expected to just stand between the seats in the first one, when it's too crowded, when for coaches the maximum number of person allowed is the number of seats. But for backward compatibility reason, I would just avoid making that distinction.

@flocsy
Copy link
Contributor

flocsy commented Aug 13, 2019 via email

@aababilov
Copy link
Contributor

Here is the open GTFS data kindly provided by Easyway.
Easyway is a reliable partner that provides GTFS data to Google.

11 - Trolleybus - a feed for Lviv (Ukraine)
https://drive.google.com/open?id=1qGuy5Y-jJvGy2fHU6h4Jv_zdGWNbTnEH

12 - Monorail - an open subset of the Moscow feed (Russia)
https://drive.google.com/open?id=1hU8gKI64LTF2BmdlJkOyFkRVOiO_xn81

@LeoFrachet
Copy link
Contributor Author

So the full request has been open for more than 7 days, and we have a producer (Easyway) and a consumer (Google).

Therefore I'm opening the vote on it! We are Wednesday 14th, so the vote will be open until Wednesday 21st 23:59:59 UTC.

@aababilov, @flocsy, @devadvance, @gcamp, @skinkie, @paulswartz you all contributed to the conversation. You can cast your vote now.

@abyrd
Copy link

abyrd commented Aug 14, 2019

Is this necessary, given the existence of the extended route types proposal? Would it be more advantageous to officially adopt extended route types, and not add a small number of redundant codes that only cover certain modes?

@flocsy
Copy link
Contributor

flocsy commented Aug 14, 2019

+1 for adding Trolleybus and Monorail (with any id the others decide)

@aababilov
Copy link
Contributor

+1 from Google for 11 (trolleybus) and 12 (monorail)

I find extended route types dreadful. Many of them are unclearly defined (say, what is the difference between metro and underground?!) and many types are simply missing there (no way to tell between tram and light rail etc). I am supporting the GTFS-Modes proposal which gives the full flexibility to data providers and consumers (http://bit.ly/gtfs-modes-and-networks). I would like to keep the list of route_types short and dense.

@flocsy
Copy link
Contributor

flocsy commented Aug 14, 2019

Re: @aababilov following your comment I have a question: What's the purpose of the route_type field vs the purpose of GTFS-Modes proposal?

To me it looks like the latter is more end-user facing (a bit like l11n or translation) Locals are used to see Subway vs Path.

But the route_type maybe shouldn't aim at end-users. For example in Moovit we use route_type in the fare calculations in Sydney.

@skinkie
Copy link
Contributor

skinkie commented Aug 14, 2019

@flocsy what is the reason you do not select the fare information in Sydney by only route_id?

The end-user wants to see or select a mode of transport when exploring transit options. I fail to see why we wouldn't want that for the end-user.

@flocsy
Copy link
Contributor

flocsy commented Jan 22, 2020

@LeoFrachet can you fix the conflict and reopen voting?

@aababilov
Copy link
Contributor

Thanks for the update, Tim! Please could you reopen voting?

+1 from Google.

@timMillet
Copy link
Contributor

timMillet commented Jan 28, 2020

Little wrap-up on the PR discussion

A consensus was reached on adding 2 new route_type values (11 Trolleybus and 12 Monorail, without any preferences on enum IDs) along with clarifying the descriptions of route_types 5 and 6. Adding (or not) route_types other than 11 and 12 was still being discussed (with a shared opinion on "keeping the list of route_types short and dense") and related to removing support to the Extended Route Types extension as well as working on the GTFS-ModesAndNetworks proposal.


As the PR clarifying the route_types 5 and 6 has passed, I’m now reopening the vote on this PR for adding the route_types 11 Trolleybus and 12Monorail.

Consumer: Google
Producer: EasyWay
Dataset for route_type 11 Trolleybuses in Lviv, Ukraine
Dataset for route_type 12 Monorail in Moscow, Russia

The vote is open until Tuesday, February 4th at 23:59:59 UTC.

@flocsy, @aababilov, @mgilligan, @devadvance, @abyrd: as you voted on this PR back in August, don’t hesitate to vote again if you want to.

@gcamp
Copy link
Contributor

gcamp commented Jan 28, 2020

+1 from Transit

@flocsy
Copy link
Contributor

flocsy commented Jan 28, 2020

+1 Moovit

@aababilov
Copy link
Contributor

+1 from Google

@prhod
Copy link

prhod commented Jan 29, 2020

+1 from Kisio

@rickbruce
Copy link

+1 from Ito World

@ibi-group-team
Copy link
Contributor

+1 from IBI Group

@tsherlockcraig
Copy link

+1 from Trillium

@timMillet
Copy link
Contributor

The vote has ended and the new route_types 11 Trolleybus and 12 Monorail are now adopted!

Producer: EasyWay
Consumer: Google

7 votes for:
@gcamp from Transit
@flocsy from Moovit
@aababilov from Google
@prhod from Kisio
@rickbruce from Ito World
@ibi-group-team from IBI Group
@thomastrillium from Trillium.

No abstentions, no votes against.
I'll fix a typo, and I'll merge.

@timMillet timMillet merged commit a655871 into google:master Feb 5, 2020
@timMillet timMillet deleted the extension/route-types-8-to-12 branch February 5, 2020 18:48
@aababilov
Copy link
Contributor

I am so glad to see trolleybus and monorail added. Thanks everyone!

barbeau added a commit to MobilityData/gtfs-realtime-bindings that referenced this pull request Apr 3, 2020
@sccmcca sccmcca added proposal GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule labels May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule

Projects

None yet

Development

Successfully merging this pull request may close these issues.