v6.0.0 #1909
emmambd
announced in
Announcements
v6.0.0
#1909
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Highlights
Partial validation support for Flex
GTFS Flex is a proposal that ensures riders can discover demand responsive services and how to book them. Flex was officially adopted into GTFS this March. With this validator release, we offer partial validation support for feeds that include Flex data. This includes:
No more false positives! Before, feeds with Flex features would trigger certain notices when the data was actually valid, such as
missing_required_fieldfor a missingstop_idinstop_times.txtwhenlocation_group_idorlocation_idwas provided. Now, any error or warning generated for your Flex feed is legitimate and should be fixed.Validation for booking_rules.txt. 10 new validation notices have been added to check data from
booking_rules.txtValidation for polygons in locations.geojson. Checks that each polygon in
locations.geojsonconforms to the OpenGIS Simple Features Specification, section 6.1.11, as required by GTFS.We'll continue to add more Flex validation rules in future releases. You can see the full list of validation rules here.
Notice changes
missing_required_file:feed_info.txtis now conditionally required whentranslations.txtexists. Clarification adopted in Update requirement for feed_info.txt google/transit#460.missing_required_fieldfortransfers.txt:from_stop_idandto_stop_idare no longer required for atransfer_typeof4or5. Clarification adopted in [Clarification] from/to_stop_id & from/to_trip_id description in transfers.txt google/transit#455.foreign_key_violation: Now checks ifnetwork_idexists infare_leg_rules.txtbut not inroutes.txtORnetworks.txt. Before, there was a bug that meantnetwork_idhad to be included in bothroutes.txtANDnetworks.txt.missing_timepoint_value: Modified to clarify that timepoint values should be set explicitly to0or1, not empty. Clarification adopted into GTFS in Clarify intended use for timepoint in stop_times.txt google/transit#474. 🟡missing_recommended_columnwas also removed as a result of this clarification.Flex notice changes
missing_required_file:stops.txtis now conditionally required. Iflocations.geojsonis not present,stops.txtis required.missing_required_field:stop_idis conditionally required instop_times.txt, in cases where the record does not includelocation_idorlocation_group_id.missing_trip_edge: Only checks stop times records if they do not includestart_pickup_dropoff_windoworend_pickup_drop_off_window.decreasing_or_equal_stop_time_distance: Skips stop times records with alocation_idorlocation_group_idinstead of astop_id. Cases whereshape_dist_traveledis provided with alocation_idorlocation_group_idare triggered in the new 🔴forbidden_shape_dist_travelederror.stop_without_stop_time: Skips stops that are a part of a location group referenced instop_times.txt.stop_too_far_from_shape: Only checks stop times records with astop_id.New notices
bidirectional_exit_gate: Triggered when exit gates (pathway_mode=7 inpathways.txt) are bidirectional.invalid_character: Triggered when text contains invalid characters, such as the replacement character ("�"). Check that text was properly encoded in UTF-8 as required by GTFS.single_shape_point: Triggered when a shape inshapes.txtonly includes one shape point.Flex new notices
forbidden_shape_dist_traveled: Triggered whenshape_dist_traveledis provided with alocation_idorlocation_group_idinstop_times.txt.forbidden_geography_id: Triggered when astop_times.txtincludes more than one geography id. Only one ofstop_id,location_group_idorlocation_idcan be defined for a given entry.locations.geojson notices
malformed_json: Triggered whenlocations.geojsonis malformed.invalid_geometry: Triggered when polygon inlocations.geojsonis unparsable or invalid. Each polygon must be valid by the definition of the OpenGIS Simple Features Specification, section 6.1.11.missing_required_element: Triggered when an element that's required in the geoJSON file is missing.unsupported_geo_json_type: Triggered when geoJSON type is a value other than"FeatureCollection".unsupported_feature_type: Triggered when feature type is a value other than"Feature".unsupported_geometry_type: Triggered when the geometry type is a value other than"Polygon"or"MultiPolygon".booking_rules.txt notices
forbidden_prior_day_booking_field_value: Triggered when a forbidden field value is present for a prior-day booking rule.forbidden_prior_notice_start_day:prior_notice_start_dayvalue is forbidden whenprior_notice_duration_maxis set.forbidden_prior_notice_start_time:prior_notice_start_timevalue is forbidden when prior_notice_start_day value is not setforbidden_real_time_booking_field_value: A forbidden field value is present for a real-time booking rule.forbidden_same_day_booking_field_value: A forbidden field value is present for a same-day booking rule.invalid_prior_notice_duration_min: Theprior_notice_duration_maxfield value needs to be greater or equal to theprior_notice_duration_minfield value.missing_prior_notice_duration_min:prior_notice_duration_minvalue is required for same day booking_typemissing_prior_day_booking_field_value:prior_notice_last_dayandprior_notice_last_time valuesare required for prior day booking_type.missing_prior_notice_start_time:prior_notice_start_timevalue is required whenprior_notice_start_dayvalue is setprior_notice_last_day_after_start_day:prior_notice_last_dayshould not be greater than theprior_notice_start_day.Impacts on existing data
You can find the impact of this release on all existing datasets we have in the Mobility Database in this spreadsheet.
Other notable improvements
New Contributors
PR List
missing_trip_edgefor flex feed by @cka-y in feat: updatemissing_trip_edgefor flex feed #1843forbidden_real_time_booking_field_valuevalidation notice by @cka-y in feat: flex -forbidden_real_time_booking_field_valuevalidation notice #1845forbidden_same_day_booking_field_valuenotice by @cka-y in feat: flex - addedforbidden_same_day_booking_field_valuenotice #1847forbidden_prior_day_booking_field_value,invalid_prior_notice_duration_minandforbidden_prior_notice_start_daynotices by @cka-y in feat: addedforbidden_prior_day_booking_field_value,invalid_prior_notice_duration_minandforbidden_prior_notice_start_daynotices #1860Predefined Routes with Deviationtrigger + test by @cka-y in fix:Predefined Routes with Deviationtrigger + test #1862stops.txtto be conditionally required by @cka-y in feat: modifystops.txtto be conditionally required #1868locations.geojsonfile parsing and geometry validation by @cka-y in feat:locations.geojsonfile parsing and geometry validation #1879Full Changelog: v5.0.1...v6.0.0
This discussion was created from the release v6.0.0.
Beta Was this translation helpful? Give feedback.
All reactions