All Projects → transitland → transitland-atlas

transitland / transitland-atlas

Licence: other
an open directory of mobility feeds and operators — powers both Transitland v1 and v2

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to transitland-atlas

Transitland Datastore
Transitland's centralized web service API for both querying and editing aggregated transit data from around the world
Stars: ✭ 101 (+83.64%)
Mutual labels:  transit, transportation, gtfs, open-data
retro-gtfs
Collect real-time transit data and process it into a retroactive GTFS 'schedule' which can be used for routing/analysis
Stars: ✭ 45 (-18.18%)
Mutual labels:  transit, gtfs, gtfs-realtime, gtfs-rt
open-bus
🚌 Analysing Israel's public transport data
Stars: ✭ 65 (+18.18%)
Mutual labels:  transit, gtfs, open-data
concentrate
Concentrate: combine realtime transit files
Stars: ✭ 23 (-58.18%)
Mutual labels:  transit, gtfs, gtfs-realtime
Tidytransit
R package for working with the General Transit Feed Specification (GTFS)
Stars: ✭ 84 (+52.73%)
Mutual labels:  transit, transportation, gtfs
public-transit-tools
Tools for working with GTFS public transit data in ArcGIS
Stars: ✭ 126 (+129.09%)
Mutual labels:  transit, gtfs, gtfs-rt
Onebusaway Application Modules
The core OneBusAway application suite.
Stars: ✭ 174 (+216.36%)
Mutual labels:  transit, gtfs, open-data
R5
Routing engine for multimodal (transit/bike/walk/car) networks with a particular focus on public transit.
Stars: ✭ 153 (+178.18%)
Mutual labels:  transit, transportation, gtfs
goodservice
Website that detects headway discrepancy on New York City Subway system using live countdown clocks
Stars: ✭ 26 (-52.73%)
Mutual labels:  transit, gtfs, gtfs-rt
theweekendest
Real-time New York City subway service map
Stars: ✭ 51 (-7.27%)
Mutual labels:  transit, gtfs, gtfs-rt
transitime
TheTransitClock real-time transit information system
Stars: ✭ 60 (+9.09%)
Mutual labels:  transit, gtfs, gtfs-realtime
linked-connections-server
Express based server that exposes Linked Connections.
Stars: ✭ 12 (-78.18%)
Mutual labels:  gtfs, gtfs-realtime
transxchange2gtfs
tool to convert transxchange data into a GTFS feed
Stars: ✭ 26 (-52.73%)
Mutual labels:  transit, gtfs
gtfs-osm-sync
Synchronizes public transportation data in GTFS format with OpenStreetMap.org
Stars: ✭ 85 (+54.55%)
Mutual labels:  transportation, gtfs
maas-schemas
Mobility as a Service API - data model, tests, and validation
Stars: ✭ 17 (-69.09%)
Mutual labels:  transportation, mobility
mapzen-gtfs
Python library for reading and writing GTFS feeds
Stars: ✭ 27 (-50.91%)
Mutual labels:  transit, gtfs
otv2-platform
An overview of the entire Open Traffic v2 platform and its components
Stars: ✭ 89 (+61.82%)
Mutual labels:  transportation, open-data
nepomuk
A public transit router for GTFS feeds (currently only static) written in modern c++
Stars: ✭ 22 (-60%)
Mutual labels:  transit, gtfs
all-transit
Interactive visualization of all transit in the Transitland database
Stars: ✭ 22 (-60%)
Mutual labels:  transit, transitland
european-transport-operators
NOT UP-TO-DATE ANYMORE, UNMAINTAINED. CHECK european-transport-feeds INSTEAD. List of european long-distance transport operators, available API endpoints, GTFS feeds and client modules.
Stars: ✭ 47 (-14.55%)
Mutual labels:  transit, gtfs

Transitland Atlas

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:

Feeds

Public mobility/transit data feeds cataloged in the Distributed Mobility Feed Registry format.

Includes feeds in the following data specifications (specs):

How to Add a New Feed

  1. Check if a ./feeds file exists with the domain name for the feed URL. (ex. http://bart.gov -> bart.gov.dmfr.json)
    • If a file exists, use that file, otherwise create a new empty DMFR file.
    • To create a new file, you can use example.com.dmfr.json as a starting point, which contains the basic schema and an example feed.
    • Feeds exist as an array in the feeds property of a DMFR file.
  2. Propose a new Onestop ID for the feed (see below)
    • Feed Onestop ID's begins with f- and continues with a unique string, like the transit operator's name
    • Use lowercase, alphanumeric unicode characters in the name component
    • Use ~ instead of spaces or other punctuation
  3. Add the appropriate URL to static_current
  4. Add license and/or authorization metadata if you are aware of it.
  5. Open a PR. Feel free to add any questions as a comment on the PR if you are uncertain about your DMFR file.
  6. GitHub Actions (continuous integration service) will run a basic validation check on your PR and report any errors.
  7. A moderator will review and comment on your PR. If you don't get a response shortly, feel free to ping us at [email protected]

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.

How to Update an Existing Feed

  1. Find the DMFR file containing the feed.
  2. Update the URLs and other properties for that feed
    • For static feeds, use static_current for the present URL.
    • Add the previous URL value to the static_historic array.
  3. Edit the file and open the PR as described above.

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

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 references
  • website: A URL to find more information about this operator
  • associated_feeds: An array of feed association objects; for each entry, feed_onestop_id is required and gtfs_agency_id is optional

Values for onestop_id and name are required; associated_feeds (either explicit or through nesting the operator in a feed) are highly recommended.

Onestop IDs

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:

  • a three-part Onestop ID includes an entity prefix, a geohash, and a name. For example: f-9q9-bart
  • a two-part Onestop ID includes just the entity prefix and a name. For example: 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:

  • Feeds start with f- and operators start with o-
  • Geohash part is optional
  • Name can include any alphanumeric characters in UTF-8
  • The only separation or punctuation character allowed in the name component is a tilde (~)

License

All data files in this repository are made available under the Community Data License Agreement – Permissive, Version 1.0. This license allows you to:

  1. use this data for commercial, educational, or research purposes and be able to trust that it's cleanly licensed
  2. duplicate data, as long as you mention (attribute) this source
  3. use this data to create analyses and derived data (such as geocoding), without needing to provide attribution

We welcome you to contribute your edits and improvements directly to this repository. Please open a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].