Comments (8)
Support for this information will be implemented in OpenTripPlanner and Fintraffic will produce the data (at least for the ferries in Finland and maybe for trains as well). We have discussed this addition and potential ways it can be modeled in GTFS with some fellow OTP developers.
First alternative we came up with consists of:
- Add
cars_allowed
field to trips.txt as suggested by @VillePihlava in #466 (comment). - Add
cars_allowed
to stops.txt as suggested by @VillePihlava in #466 (comment). There are at least trains in Finland which only allow boarding/alighting the vehicle with a car on certain stops that the trains go through. - Add
car_pickup_type
andcar_drop_off_type
to stop_times.txt. This would be required if there are stops which only allow boarding/alighting vehicle with a car on some trips that allow cars, but not on all. This is somewhat similar to how headsigns can be modeled both in trips.txt and stop_times.txt. In most cases, using the trips.txt would be sufficient. I'm not aware of a real-life example where this would be necessary, but there probably is somewhere in the world.
In this alternative, it would be possible to first add support for only the 1. (and maybe 2.) and later on expand the spec to support for modeling the edge cases. However, if a consumer has only added support for 1., there might be potential issues if 2. and 3. are added later on.
Second alternative:
Create a new file which is meant for modelling where cars are allowed or even something more generic that is not limited to cars as in the future, we might want to model, for example, if scooters are allowed in vehicles. The benefit from this approach would be that only a small percentage of trips/stops allow car boarding and the addition of the new fields in existing files would increase the file sizes just to model these few cases where it's possible to board/alight with a car. The downside of this approach would be that it's slightly unusual compared to how most things in GTFS are currently modeled.from transit.
@VillePihlava Thanks for bringing this up here! This is pretty relatable. When travelling in the Greek islands, some ferries allowed for cars and others didn't. Would have been great to have GTFS information on this.
Also, thank you for posting your first issue on google/transit! Your contributions are always appreciated! 🚀
from transit.
The same improvement should also be applied to bike and wheelchair as well
from transit.
Another thing that has to be considered related to this is whether a stop has the accommodations for loading cars. The stops.txt GTFS file (https://gtfs.org/schedule/reference/#stopstxt) contains the wheelchair_boarding
field. A similar field, such as car_boarding
, should be added indicating whether a stop can get cars aboard ferries.
from transit.
Should we also consider the need to book in advance vs ad hoc boarding with cars? This could be tackled with more enum values. However, this same problem is currently unsolved for bikes and wheelchairs.
from transit.
Shall we then deprecate the current bikes_allowed
and wheelchair_allowed
field? Because bike support can be any of the following:
- (Cars / bikes / motorcycles / wheelchairs) can be carried on (the whole of / part of / no section) of the service
- (Cars / bikes / motorcycles / wheelchairs) can be carried (walk-on / reservation)
- (Cars / bikes / motorcycles / wheelchairs) (can / cannot) (board / alight) at a station for a service which can carry then, where (no action / booking / notifying the driver) is needed to do so.
I think a new table is needed to properly encode all of the above.
I hope I can add support to my journey planner for taking bikes onto the tube / train but it is impossible to encode the rules in the current GTFS spec.
from transit.
I think the proposal of adding a new file/table mentioned by @optionsome and @miklcct would be a good idea. Designing the proposal for the new file requires some work though. I can look more into this in ~1 month if this issue hasn't progressed in other directions by then.
from transit.
I'm not aware of GTFS having two ways of specifying the same thing or using a deprecation strategy so I think you will have to convince the community that it's worth doing it.
from transit.
Related Issues (20)
- Make UTF-8 the mandatory GTFS encoding HOT 6
- GTFS Fares 2.0: Manage fare change HOT 2
- Moving Realtime Best Practices into the Spec: Phasing Plan
- [DRT] After the adoption of GTFS-Flex, stops.txt should no longer be a required file. HOT 1
- Using StopTimeEvent.uncertainty for non-timepoints HOT 4
- Addition of vehicles.txt to GTFS static HOT 6
- Make Shapes a recommended file in GTFS HOT 11
- Make bikes_allowed a recommended field in GTFS HOT 10
- Global trip id HOT 10
- The recommended discussion HOT 1
- Proposed Best Practice: always including trip_id in TripDescriptor for SCHEDULED trips HOT 6
- Inconsistency in trip update example vs. reference documentation? HOT 1
- Proposed Best Practice: clarify intended use for CANCELED/SKIPPED TripUpdates VS NO_SERVICE Alerts. HOT 6
- Center coordinate or Bounding box definition in feed_info.txt HOT 6
- GTFS-R : destination display (dynamic)
- Best practice for the use of shapes HOT 1
- Sample Feed HOT 1
- Make headsigns a recommended GTFS field HOT 10
- Scheduled reinforcement trips HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from transit.