http://groups.google.com/group/gtfs-changes/browse_thread/thread/9aec66b34d22068b
Summary of proposal:
The addition would add an optional feed_info.txt section to the GTFS
spec, with the following fields:
feed_publisher_name (required):
The feed_publisher_name field contains the full name of the
organization that publishes the feed. (This may be the same as one of
the agency_name values in agency.txt.) GTFS-consuming applications
can display this name when giving attribution for a particular feed's
data.
feed_publisher_url (required):
The feed_publisher_url field contains the URL of the feed publishing
organization's website. (This may be the same as one of the
agency_url values in agency.txt.) The value must be a fully qualified
URL that includes http:// or https://, and any special characters in
the URL must be correctly escaped. See
http://www.w3.org/Addressing/URL/4_URI_Recommentations.html for a
description of how to create fully qualified URL values.
feed_timezone (required):
The feed_timezone field specifies the timezone in which the times in
the feed will be given. Any stop/stations which don't have a
stop_timezone specified are also assumed to be located in this
timezone. For feeds containing feed_info.txt, this value is used
instead of the agency_timezone values in agency.txt. Please refer to
http://en.wikipedia.org/wiki/List_of_tz_zones for a list of valid
values.
feed_lang (required):
The feed_lang field contains a IETF BCP 47 language code specifying
the default language used for the text in this feed. This setting
helps
GTFS consumers choose capitalization rules and other language-specific
settings for the feed. For an introduction to IETF BCP 47, please refer to
http://www.rfc-editor.org/rfc/bcp/bcp47.txt and
http://www.w3.org/International/articles/language-tags/.
feed_valid_from (optional)
feed_valid_until (optional):
The feed provides complete and reliable schedule information for
service in the period from the beginning of the feed_valid_from day to
the end of the feed_valid_until day. Both days are given as dates in
YYYYDDMM format as for calendar.txt, or left empty if unavailable. The
feed_valid_until date must not precede the feed_valid_from date if
both are given. Feed providers are encouraged to give schedule data
outside this period to advise of likely future service, but feed
consumers should treat it mindful of its non-authoritative status.
feed_version (optional):
The feed publisher can specify a string here that indicates which
version of their feed this is. GTFS-consuming applications can
display this value to help feed publishers determine whether the
latest version of their feed has been incorporated.
Initial implementation from a GTFS producer and consumer:
Producers: Over 6% of the feeds in the current Google Transit corpus
define an feed_info.txt file.
Consumers: The feed_info.txt file is validated in the googletransit
extension of the feed validator and used in the Google Transit
product.
Status:
There are still some questions about the semantics of feed_timezone.
Specifically, should an agency.txt:agency_timezone be allowed to
override the feed_timezone? There was a question in the original
proposal about whether there are any existing GTFS feeds with multiple
agencies and multiple timezones. I’ve verified that no agencies
currently use different timezones in the same feed against the Google
Transit corpus. This is currently not checked in the validator.
Instead, the validator checks that any timezone mentioned in
feed_info.txt matches any timezone mentioned in agency.txt and throws
an error if not. We could clarify this in the spec by stating that
feed_timezone must mach any agency_timezone value in a supplied feed
(aka they are both the same).
Unless there are objections in the next week (Sept 6), we will
formally add this proposal to the GTFS spec.
Thanks,
Brian
Regarding feed_valid_from and feed_valid_until, I'd point out that
they are both optional, so if a provider is uncomfortable setting
either value, they don't have to (I believe they were required in the
original proposal). Regarding the names, I'm not opposed to changing
them.
Brian
> --
> You received this message because you are subscribed to the Google Groups "General Transit Feed Spec Changes" group.
> To post to this group, send email to gtfs-c...@googlegroups.com.
> To unsubscribe from this group, send email to gtfs-changes...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/gtfs-changes?hl=en.
>
>
Do you actually know of an agency pair where they would be in
different timezones? I'm definitely curious to know.
And even if we do find an agency pair with different timezones, I'm
wondering if that situation couldn't be handled by just splitting the
agencies into two separate feeds.
Brian
--
You received this message because you are subscribed to the Google Groups "General Transit Feed Spec Changes" group.
To post to this group, send email to gtfs-c...@googlegroups.com.
To unsubscribe from this group, send email to gtfs-changes...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gtfs-changes?hl=en.
In the first iteration of GTFS, only one agency was allowed in
agency.txt (note that it's not agencies.txt). With just one agency
and one timezone, stops could always be attached to the that timezone.
At some point, agency.txt was extended to allow multiple agencies.
But this creates an ambiguity in the spec, as its not clear which
agency (and resulting timezone) you attach a stop to.
I believe the intention of feed_info.txt:feed_timezone is to clarify
that there should be just one default timezone that applies to stops.
Regarding the relationship between feed_timezone and agency_timezone,
to me, the critical question is "Is there a need to support different
agency timezones in the same feed?"
I think it's perhaps conceptually satisfying to say 'agency_timezone'
overrides 'feed_timezone' and allow different agencies with different
timezones, but I'm not certain it's worth the trouble. I've yet to
see a compelling example of a single feed needing multiple timezones.
Thus, my vote is for requiring multiple agencies in the same feed to
all have the same timezone. This should break backwards compatibility
with any existing feeds or parsers. Regarding 'feed_timezone', it's
perhaps a bit redundant if we require the 'agency_timezone' values to
be the same. I'm not opposed to cutting it from the proposal, but I'd
be interested in hearing counter-arguments.
Also, to be clear, nothing in feed_info.txt is going to help if you
have stops in different timezones. The 'stop_timezone' proposal will
help with that and assuming no one tackles it sooner, I'm happy to
take it up after the first round of proposals ; )
Brian
I wish I was around when that happened. I would have fought against
it, unless there is some compelling reason I'm unaware of. Why was
this done? This has annoyed me so much in the past, I'd almost argue
for rolling it back, although I don't want to break everything. Much
of this discussion would be moot if "agency.txt" lived up to its name.
-Mark
Thanks,
-Mark
On Wed, Aug 31, 2011 at 1:10 PM, Brian Ferris <bdfe...@google.com> wrote:
> Whoops, meant to say "This should NOT break backwards compatibility
> with any existing feeds or parsers."
>
>
Just to be clear, it's tempting to imagine using GTFS as a container
for aggregating a number feeds from separate agencies into one unified
feed, but I think GTFS just wasn't designed for this. For example,
there are no guarantees about uniqueness of ids (stops, routs, trips,
etc), which makes merging arbitrary GTFS feeds dangerous. I think
you'd typically consider including more than one agency in a GTFS feed
only when the schedules for those agencies are managed in a unified
system. At that point, the difference between the agencies is more in
terms of branding than organization.
Thanks,
Brian
Brian
1) Removed feed_timezone from the proposal.
2) Changed "feed_valid_from" and "feed_valid_until" to
"feed_start_date" and "feed_end_date".
3) Added explanatory text to "feed_start_date" and "feed_end_date" to
clarify that if the range extends beyond the service calendar dates,
then the feed is making an assertion about dates where there is no
service.
See the full proposal below. If there are no major comments during
the next week (until Sept 12), I'll consider consensus reached and the
proposal ready for adoptions.
Thanks,
Brian
===
The addition would add an optional feed_info.txt section to the GTFS
spec, with the following fields:
feed_publisher_name (required):
The feed_publisher_name field contains the full name of the
organization that publishes the feed. (This may be the same as one of
the agency_name values in agency.txt.) GTFS-consuming applications
can display this name when giving attribution for a particular feed's
data.
feed_publisher_url (required):
The feed_publisher_url field contains the URL of the feed publishing
organization's website. (This may be the same as one of the
agency_url values in agency.txt.) The value must be a fully qualified
URL that includes http:// or https://, and any special characters in
the URL must be correctly escaped. See
http://www.w3.org/Addressing/URL/4_URI_Recommentations.html for a
description of how to create fully qualified URL values.
feed_lang (required):
The feed_lang field contains a IETF BCP 47 language code specifying
the default language used for the text in this feed. This setting
helps GTFS consumers choose capitalization rules and other language-specific
settings for the feed. For an introduction to IETF BCP 47, please refer to
http://www.rfc-editor.org/rfc/bcp/bcp47.txt and
http://www.w3.org/International/articles/language-tags/.
feed_start_date (optional)
feed_end_date (optional):
The feed provides complete and reliable schedule information for
service in the period from the beginning of the feed_start_date day to
the end of the feed_end_date day. Both days are given as dates in
YYYYDDMM format as for calendar.txt, or left empty if unavailable. The
feed_end_date date must not precede the feed_start_date date if
both are given. Feed providers are encouraged to give schedule data
outside this period to advise of likely future service, but feed
consumers should treat it mindful of its non-authoritative status. If
feed_start_date or feed_end_date extend beyond the provided calendar
dates, the feed is making an assertion about dates on which there is
not service
feed_version (optional):
The feed publisher can specify a string here that indicates which
version of their feed this is. GTFS-consuming applications can
display this value to help feed publishers determine whether the
latest version of their feed has been incorporated.
Thanks,
Brian
On Thu, Sep 1, 2011 at 2:08 PM, Bernard Au <bernie.a...@gmail.com> wrote:
I think the answers are mostly the same. That is, I haven't been able
to find a GTFS feed with two agencies and more than one language
defined in the Google Transit corpus. As such, we could pretty safely
constrain the spec to say that 'agency_lang' must be the same for all
agencies if multiple agencies are defined in the same feed. And
finally, we'd come to the same conclusion that 'feed_lang' isn't
really buying us all that much and should probably be removed.
Any thoughts on this?
Thanks,
Brian
1) Add the updated language to the official spec change.
2) Update the feed validator to reflect these changes.
3) Reach out to any agencies already using this extension to make sure
the changes between the initial and final version of the proposal are
reflected in their feeds.
I will try to keep everyone posted as I work through this, since it's
a pretty major addition to the spec.
Thanks,
Brian
--
You received this message because you are subscribed to the Google Groups "General Transit Feed Spec Changes" group.
To view this discussion on the web visit https://groups.google.com/d/msg/gtfs-changes/-/duF6vI4kCSMJ.