-
Notifications
You must be signed in to change notification settings - Fork 183
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
GTFS-Flex #388
GTFS-Flex #388
Conversation
Modify stop_areas.txt to allow grouping of GeoJSON locations and/or stops which allow predetermined groups of these features to be specified on individual rows of stop_times.txt.
Fantastic work! The PR looks great to me, pending these outstanding items. PR#50Curious to hear other's thoughts. I had already laid out mine in that PR's comments. issue#72I've given this some more thought and lean against allowing allowing issue#339No, and I think the consensus was considerably strong (not just within the context of the GH issue, but also in discussion elsewhere) for not doing so for reasons outlined in the issue. issue#70Continuous pickup/drop-off should only be defined for a standard fixed route. I recommend forbidding in:
|
Thanks for this, @tzujenchanmbd! Here are my replies about the open questions: PR#50 I can't say that I have much of an opinion about this since I have yet to work with flex services that had formalised their workflow to this degree. Most have been "Call this number and we will work it out." Having said that I would prefer to force people to supply a time it even if they say Issue#72 My reservations (or soft opposition) are documented in the ticket. It feels like an impossible scenario that I would be ok with not being able to model in the spec. If the proposer cannot convince the operator that it's a bad idea to advertise a fixed time for a zone, I would prefer something more explicit in the spec, because as Weston has pointed out, it's easy to switch to this behaviour by accident. Issue#339 I don't have very strong emotions either way but I would prefer to keep the properties in Issue#70 I have originally asked this question and I think mixing continuous_pickup/dropoff with flex makes no sense, so I'm in favour of not allowing it. |
No. I think the most common occurrence of flex service that includes a fixed |
I agree with @westontrillium on:
I have a question about the same for routes though...if we forbid it for any route that has a stop_id that refers to locations.geojson, then are we basically just saying that the following should be coded instead within graph LR
A(A) --> | continuous stops | B(B)
B --> | continuous stops | zone
subgraph zone
end
|
MobilityData/gtfs-flex#50 MobilityData/gtfs-flex#72 #339
One weakness of gtfs is that often field lengths or datatype are not well defined. Removing those options will help. I don't agree with the rest of the ticket but on the contrary would like to see as much information (name, description) about the areas as possible in the geojson file. The geojson file can then be usefully processed without the rest of the GTF. |
RE moving I can also see an extension for using Another way to simplify this is to add an optional geometry field to Either way, I don't see a particular advantage to having properties in locations.geojson. I understand and agree with @westontrillium 's comment that this should have been discussed in the drafting phase, but also the drafting phase has lasted a decade or so and we shouldn't ignore the various experiences with gtfs and data wrangling in the interim that have happened. Ultimately, I represent more of the data producers though, and Flex doesn't/wont' matter unless it is adopted by data consumers...so I'm happy to "disagree and commit" to adopt the framework that would make adoption easiest for data consumers. |
Re. continuous stopping...
While that specific scenario may be easier to code in routes.txt, a universal allowance at the route level would make way for scenarios we'd want to disallow. For example, with no forbids, it would be "valid" to have continuous stopping enabled at the route level and have that route contain any number of intra/interzone-only trips which would technically be continuous stopping even though it doesn't make sense to define those trips as such. @e-lo Do you think there is a way to word the forbid that would allow for the scenario you describe without causing confusion? "Forbidden in routes.txt unless that route has a stop_time referencing a locations.geojson id or area_id that precedes or follows a fixed stop" seems more confusing to me than just directing producers to define this specific scenario at the stop_time level. |
Re. moving locations.geojson's primary key to stops.txt I'll simply stand by what I've said already in issue #339's comment section, but add that this issue has been open for over a year with multiple requests for comment, and there is still no common call for moving the locations.geojson's primary key to stops.txt. This suggests to me that locations.geojson's current design is not an obstacle to adoption. |
RE Continuous stops... @westontrillium I think you are talking about wanting to make sure that adding continuous stops to routes.txt would not make sense for the following situation? graph LR
A(A) --> | continuous stops | B(B)
B --> | continuous stops | zone1["Zone 1"]
zone1 --> | NO continuous stops | zone2["Zone 2"]
I would think that adding continuous stops in graph LR
A(A) --> | continuous stops | B(B)
B --> | continuous stops | zone1["Zone 1"]
zone1 --> | YES continuous stops | zone2["Zone 2"]
Or are you referring to another situation? |
I think I still agree with my original recommendation on routes.txt. I don't think you could ever see either a "YES continuous stops" between Stop B and Zone 1 or between Zone 1 and Zone 2 out in the wild. Let's back up and think in concrete, operational terms what kind of service this is actually describing, because I don't think it is possible: A transit service that runs a fixed route and allows continuous stopping along that route between stops, but also may subsequently serve two consecutive zones and allows continuous stopping on the way to/from those zones (but those trips only exist if someone books them, and the path of travel to/from those zones cannot be pre-defined since it depends on the destination of the scheduled ride(s), so a rider couldn't know where to stand to flag the vehicle). |
I just left a comment on MobilityData/gtfs-flex#50 indicating opposition to that change, but otherwise agree with what I see @westontrillium articulating above:
|
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.
Hi all, I'm providing some comments in hopes that they will be useful.
I have not participated in the working group meetings, nor in the early drafting of the spec, and other than code review on early Flex routing implementations I have not been involved. For these reasons I realize my comments will not carry much weight, but I’m providing them as observations from a relative outsider to the Flex spec catching up on its current state. Maybe the outside perspective is useful.
Co-authored-by: Andrew Byrd <[email protected]>
📣 FLEX WORKING GROUP MEETING ALERT!GTFS-Flex - Working Group Meeting - Implementation & Testing | January 17, 2024 @ 10 AM EST Sign up hereTopics to discuss in Flex meeting:
Can't make the meeting? no problem. Write down your comments and concerns here or contact us at: [email protected] |
👋 On January 17, we held the 4th GTFS-Flex Working Group Meeting and discussed the outstanding issues. Here is a brief summary. More details are available in the meeting notes. 🦜 Discussed during meeting: 1️⃣ Should we include normalization of location_groups in a separate file?
2️⃣ File name for
3️⃣ Opening a vote without the 4 duration fields? (
⏭️ Next steps:
🙏 Thank you for joining us and we are hopeful for the future of GTFS-Flex. |
Thanks @tzujenchanmbd for the summary of the meeting. For time zone reasons I will not be able to participate in meetings of this kind for the foreseeable future, but since live meetings seem to be the preferred collaboration approach I'm happy to see that people are apparently reaching some conclusions in them, and I hope my written commentary was useful in the course of that discussion. |
@abyrd Appreciate your valuable written commentary, which has been a valuable contribution to the ongoing discussions. Your insights have played a crucial role in shaping our conclusions! Accommodating every contributor's schedule can pose challenges due to the global nature of our collaboration. You are not alone in this situation, as we also engage with stakeholders in Japan and Australia. We have and will continue to accommodate different timezones from time to time. |
Quick updates:
|
pickup_type drop_off_type start_pickup_drop_off_window end_pickup_drop_off_window
Closing this one as the vote passed on #433 |
GTFS-Flex is a GTFS extension that aims to facilitate discoverability of Demand Responsive Transportation Services. This extension describes services that operate according to a schedule, but also include one or more flexible features, such as:
For more information please see original proposal and issue#382(closed since we changed the scope).
In the working meeting on June 28th, there was an agreement among the group community to pursue an iteration that covers all fields currently produced and consumed. Therefore, all fields that appear as “in discussion” in the adoption tracker are included in this PR.
The changes in this PR are:
stop_areas.txt
to allow grouping of GeoJSON locations and/or stops which allow predetermined groups of these features to be specified on individual rows ofstop_times.txt
.stop_times.txt
to clarify elements of the current specification necessary to inform data consumers of how to interpret the added and extended files and fieldsstop_times.txt
withstart_pickup_drop_off_window
andend_pickup_drop_off_window
to define the time that demand responsive transportation service becomes available/ends in a GeoJSON location, stop area or stop.stop_times.txt
withpickup_booking_rule_id
anddrop_off_booking_rule_id
to define links to booking ruleslocations.geojson
, to define zones (Polygon
orMultipolygon
) where riders can request either pickup or drop off.booking_rules.txt
, to define the booking rules that provide riders information about how to request service.Here is a data example for RufBus in Angermünde and Gartzer, Germany. The image below is an example illustrating how the data could be presented in a trip planner:
Based on the previous discussions, there are still some outstanding items that need to be clarified in this PR, before we proceed to the voting process:
prior_notice_last_time
/prior_notice_start_time
fromConditionally Required
toOptional
? For cases in which a service has defined earliest/last days but unknown or undefined earliest/last times, should we ask producers to explicitly define earliest/last times or it’s okay to not provide values?If we change to Optional, what is the empty semantics? (e.g. 24:00:00)
arrival_time
anddeparture_time
? (i.e. Change presence ofpickup_drop_off_window
fromConditionally Required
toConditionally Forbidden
) @klement-MENTZ mentioned there are “area-based” services that have fixed departure time.locations.geojson.properties
tostops.txt
? It seems there was a soft consensus of NOT moving it, we would like to confirm this.continuous_pick_up
/continuous_drop_off
mean for stop areas and GeoJSON locations? Do we want to forbid continuous pickup/drop-off forstop_times
that refer to a locations.geojson or stop area?Please go through the changes and outstanding items and share your thoughts here. MobilityData plans to hold a technical meeting to discuss any remaining outstanding items and build on the consensus reached within the discussion in this PR. Details will be announced soon.