an open directory of mobility feeds and operators — powers both Transitland v1 and v2
An open catalog of transit/mobility data feeds and operators.
This catalog is used to power the canonical Transitland platform, is available for distributed used of the transitland-lib tooling, and is open to use as a "crosswalk" within other transportation data systems.
Table of contents:
Public mobility/transit data feeds cataloged in the Distributed Mobility Feed Registry format.
Includes feeds in the following data specifications (specs):
./feeds
file exists with the domain name for the feed URL. (ex. http://bart.gov
-> bart.gov.dmfr.json
)
example.com.dmfr.json
as a starting point, which contains the basic schema and an example feed.feeds
property of a DMFR file.f-
and continues with a unique string, like the transit operator's name~
instead of spaces or other punctuationstatic_current
If you are using the Github web interface, you can click "Add a file -> Create a new file" in the ./feeds
directory, or when viewing an individual existing file, the pencil icon in the upper right of the contents display. Make sure to select "Create a new branch for this commit" and begin creating a pull request to propose changes.
For more information on what can go into a DMFR file, see the DMFR documentation.
static_current
for the present URL.static_historic
array.Onestop ID values for feeds and operators are used to synchronize with existing values in the Transitland database. Editing the Onestop ID value will cause a new feed or operator record to be created; values in the database that are no longer present in the Transitland Atlas will be marked as soft-deleted. Use caution and clear intent when changing a Onestop ID value.
Operators describe, annotate, and group data from different feed data sources. For example, o-9q9-actransit
describes a transit operator, Alameda-Contra Costa Transit District, which pulls from two different data sources (one GTFS-RT, one static GTFS) and adds additional metadata such as a US National Transit Database ID.
Operators can exist in the top-level operators
property if a DMFR file, or nested within a feed. An operator defined in the top-level operators
property requires an associated_feeds
value to connect the operator with data sources. When an operator is nested within a feed, there is an implicit association that all GTFS agencies contained in that file are associated with that operator, which helps reduces complexity and maintenance.
The key properties for an operator are:
onestop_id
: A OnestopID value for this operator, starting with o-
name
: A formal name for the operator, such as Bay Area Rapid Transit
short_name
: A simpler, colloqial name for an operator, such as BART
tags
: A set of key,value string pairs that provide additional metadata and referenceswebsite
: A URL to find more information about this operatorassociated_feeds
: An array of feed association objects; for each entry, feed_onestop_id
is required and gtfs_agency_id
is optionalValues for onestop_id
and name
are required; associated_feeds
(either explicit or through nesting the operator in a feed) are highly recommended.
Every feed and operator record in the Atlas repository is identified by a unique Onestop ID. Onestop IDs are meant to be globally unique (no duplicates in the world) and to be stable (no change over time).
To simplify the process of creating Onestop IDs, we now allow two different variants:
f-9q9-bart
f-banning~pass~transit
The two-part Onestop ID is simpler to create if you are manually adding records to the Transitland Atlas repository.
Rules for Onestop IDs in this repository:
f-
and operators start with o-
~
)All data files in this repository are made available under the Community Data License Agreement – Permissive, Version 1.0. This license allows you to:
We welcome you to contribute your edits and improvements directly to this repository. Please open a pull request!