Skip to content

Commit

Permalink
Moved content to Getting started section (#309)
Browse files Browse the repository at this point in the history
* Squashed commit of the following:

commit fe496d1
Author: isabelle-dr <[email protected]>
Date:   Tue Feb 6 14:29:31 2024 -0500

    Removing translations (#306)

    * dummy commit

    * Remove translations part one

    * removing translations

    * Make changes based on review

* Squashed commit of the following:

commit 30ce1ef
Author: Sergio Delgado Rodriguez <[email protected]>
Date:   Tue Feb 6 15:46:57 2024 -0500

    new_GTFS.org_structure (#307)

    Adding new files for new GTFS architecture. This change does not remove the old files.

commit fe496d1
Author: isabelle-dr <[email protected]>
Date:   Tue Feb 6 14:29:31 2024 -0500

    Removing translations (#306)

    * dummy commit

    * Remove translations part one

    * removing translations

    * Make changes based on review

* Moved content to Getting started section

* Added examples page to Getting started

* Update publishing page in Getting started
  • Loading branch information
richfab authored Feb 6, 2024
1 parent 72995c0 commit 02d6e1f
Show file tree
Hide file tree
Showing 7 changed files with 382 additions and 4 deletions.
60 changes: 60 additions & 0 deletions docs/getting_started/check_the_quality.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# GTFS Schedule Validator

This free and open-source canonical GTFS Schedule validator is maintained by [MobilityData](https://mobilitydata.org) with the help of the GTFS community. Use it to evaluate your dataset against the official [GTFS Reference](reference.md) and [Best Practices](best-practices.md). It provides an easy-to-use validation report in an HTML format that can be opened in the browser and shared with other parties.

<!-- <img class="center" src="../../assets/validator_animation.gif" width="150"> -->
<br>

**Current version: 4.2** [(see the release notes)](https://github.com/MobilityData/gtfs-validator/releases/latest)

<hr>

## Usage

<div class="usage">
<div class="usage-list">
<ol>
<li>Go to <a href="https://gtfs-validator.mobilitydata.org/">gtfs-validator.mobilitydata.org</a>. </li>
<li>Load your GTFS dataset: you can select or drag & drop a ZIP file, or copy/paste a URL.</li>
<li>When the validation is finished, an option to open the report will be provided.</li>
<li>You will see if the validator found issues with the data, and links to our documentation for how to fix them. The URL of the validation report will work for 30 days and can be shared with others.</li>
</ol>
</div>
<div class="usage-video">
<video class="center" width="560" height="315" controls>
<source src="../../assets/validator_demo_large.mp4" type="video/mp4">
</video>
</div>
</div>

## Use This Validator as Part of Your Data Pipeline

To see more instructions on how to use this tool in your data pipeline, please visit the [GitHub repository](https://github.com/MobilityData/gtfs-validator).

## Community

This project is a community effort, and anyone interested in this project can join the community, participate in decision-making and help advance it in different ways. There are many different ways to contribute: sharing your idea for a new feature, reporting a problem, improving the documentation, teaching others how to use it, etc.

👀 [See who is using this validator](https://github.com/MobilityData/gtfs-validator/wiki/Organizations-using-this-GTFS-Validator).
💬 Help us improve this tool by [sharing your feedback](https://forms.gle/bWrXGDCUqrGfRYCs8).
🤝 Interested in contributing to this project? Please visit the [GitHub repository](https://github.com/MobilityData/gtfs-validator) and read our [contribution guidelines](https://github.com/MobilityData/gtfs-validator/blob/master/docs/CONTRIBUTING.md).

## What is High Quality GTFS?

High quality GTFS is complete, accurate, and up-to-date. This means that it represents how services are currently operating and provides as much information as possible.
For information on creating high quality data, see the [California Transit Data Guidelines](https://dot.ca.gov/cal-itp/california-transit-data-guidelines), the [GTFS Schedule Best Practices](https://gtfs.org/schedule/best-practices/) and the [GTFS Realtime Best Practices](https://gtfs.org/realtime/best-practices/).
For evaluating the quality of a dataset, see [Validate](https://gtfs.org/schedule/validate/) page.

### Complete Data

Quality GTFS includes important service details such as holiday and summer schedule changes, accurate stop locations, and names for routes and headsigns that match other rider-facing materials. Even if an agency works with a vendor to produce GTFS, it’s ultimately up to the agency to ensure that the information presented in print, on board, and online is consistent.

### Accurate Data

Accurate data is essential for providing transit riders with a reliable and user-friendly transportation experience. Errors in the data can block a portion or the totality of a dataset from being used.

### Up to Date

Having out of date data is almost worse than no feed at all. It's not enough to simply publish information—it has to match what the rider sees and experiences. Some of the largest transit agencies update their GTFS weekly, or even daily, but most agencies will need to update their GTFS every few months, or a few times a year when service changes. This includes things like new routes or stops, timetable changes, or updates to fare structure.

Many agencies hire a vendor to create and manage their GTFS for them. Some vendors may be proactive in asking about service changes, but it’s important that agencies communicate with vendors about upcoming service changes. It’s possible to publish GTFS with service changes in advance, making sure the transition goes smoothly for everyone—agencies, vendors, trip planners, and riders!
200 changes: 200 additions & 0 deletions docs/getting_started/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# Example GTFS Feed

This example GTFS feed shows comma-delimited data samples for each file in a transit feed. The sample data files shown here aren't all related to each other. You can also [download a complete GTFS feed](https://github.com/google/transit/blob/master/gtfs/spec/en/examples/sample-feed-1.zip?raw=true) in final form to work with as well, or browse the individual files of that same feed online [here](https://github.com/google/transit/tree/master/gtfs/spec/en/examples/sample-feed-1).

## agency.txt

```
agency_id,agency_name,agency_url,agency_timezone,agency_phone,agency_lang
FunBus,The Fun Bus,https://www.thefunbus.org,America/Los_Angeles,(310) 555-0222,en
```

```
agency_id,agency_name,agency_url,agency_timezone,agency_lang
agency001,Transit Agency,https://www.transitcommuterbus.com/,PST,en
[...]
```

## stops.txt

```
stop_id,level_id,stop_name,stop_lat,stop_lon,location_type,parent_station
F12,,5 Av/53 St,40.760167,-73.975224,1,
E1,L0,5 Av/53 St SW,40.760474,-73.976099,2,F12
E2,L0,5 Av/53 St NE,40.76035,-73.97546,2,F12
E3,L0,5 Av/53 St SE,40.760212,-73.975512,2,F12
E4,L0,Madison/53 St NE,40.759612,-73.973731,2,F12
E5,L0,Madison/53 St SE,40.759491,-73.973820,2,F12
N1,L1,,,40.760457,-73.975912,3,F12
N2,L1,,40.760531,-73.976111,3,F12
N3,L1,,40.759746,-73.974203,3,F12
N4,L1,,40.759679,-73.974064,3,F12
F12S,,5 Av/53 St,40.760167,-73.975224,0,F12
B1,L2,,40.759746,-73.974203,4,F12S
B3,L2,,40.759828,-73.974442,4,F12S
F12N,,5 Av/53 St,40.760167,-73.975224,0,F12
B2,L3,,40.760457,-73.975912,4,F12N
B4,L3,,40.760375,-73.975729,4,F12N
```
`location_type=` 0: platform; 1: station; 2: entrance/exit; 3: generic node; 4: boarding area.

## routes.txt

```
route_id,route_short_name,route_long_name,route_desc,route_type
A,17,Mission,"The ""A"" route travels from lower Mission to Downtown.",3
```

## trips.txt

```
route_id,service_id,trip_id,trip_headsign,block_id
A,WE,AWE1,Downtown,1
A,WE,AWE2,Downtown,2
```

## stop_times.txt

```
trip_id,arrival_time,departure_time,stop_id,stop_sequence,pickup_type,drop_off_type
AWE1,0:06:10,0:06:10,S1,1,0,0
AWE1,,,S2,2,1,3
AWE1,0:06:20,0:06:30,S3,3,0,0
AWE1,,,S5,4,0,0
AWE1,0:06:45,0:06:45,S6,5,0,0
AWD1,0:06:10,0:06:10,S1,1,0,0
AWD1,,,S2,2,0,0
AWD1,0:06:20,0:06:20,S3,3,0,0
AWD1,,,S4,4,0,0
AWD1,,,S5,5,0,0
AWD1,0:06:45,0:06:45,S6,6,0,0
```

## calendar.txt

```
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
WE,0,0,0,0,0,1,1,20060701,20060731
WD,1,1,1,1,1,0,0,20060701,20060731
```

## calendar_dates.txt

This example shows service exceptions for the Independence Day holiday in 2006. On Monday July 3, 2006, regular weekday service (`service_id=WD`) is interrupted (`exception_type=2`). Instead, weekend service (`service_id=WE`) runs on that date (`exception_type=1`). The same change applies on Tuesday July 4, as well.

```
service_id,date,exception_type
WD,20060703,2
WE,20060703,1
WD,20060704,2
WE,20060704,1
```

## fare_attributes.txt

```
fare_id,price,currency_type,payment_method,transfers,transfer_duration
1,0.00,USD,0,0,0
2,0.50,USD,0,0,0
3,1.50,USD,0,0,0
4,2.00,USD,0,0,0
5,2.50,USD,0,0,0
```

## fare_rules.txt

```
fare_id,route_id,origin_id,destination_id,contains_id
a,TSW,1,1,
a,TSE,1,1,
a,GRT,1,1,
a,GRJ,1,1,
a,SVJ,1,1,
a,JSV,1,1,
a,GRT,2,4,
a,GRJ,4,2,
b,GRT,3,3,
c,GRT,,,6
```

## shapes.txt

```
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61956,-122.48161,1,0
A_shp,37.64430,-122.41070,2,6.8310
A_shp,37.65863,-122.30839,3,15.8765
```

## frequencies.txt

```
trip_id,start_time,end_time,headway_secs
AWE1,05:30:00,06:30:00,300
AWE1,06:30:00,20:30:00,180
AWE1,20:30:00,28:00:00,420
```

## transfers.txt

```
from_stop_id,to_stop_id,transfer_type,min_transfer_time
S6,S7,2,300
S7,S6,3,
S23,S7,1,
```

## pathways.txt

```
pathway_id,from_stop_id,to_stop_id,pathway_mode,is_bidirectional
E1N1,E1,N1,2,1
E2N1,E2,N1,2,1
E3N1,E3,N1,2,1
N1-N2,N1,N2,6,1
N2-N1,N2,N1,7,1
N2N3,N2,N3,2,1
N2-B1,N2,B1,4,0
B1-N2,B1,N2,4,0
B1B2,B1,B2,2,1
B1B3,B1,B3,1,1
B2B4,B2,B4,1,1
E4N3,E4,N3,2,1
E5N3,E5,N3,2,1
N3-N4,N3,N4,6,1
N4-N3,N4,N3,7,1
N4B3,N4,B3,2,1
N4-B3,N4,B3,4,0
B3-N4,B3,N4,4,0
B3B4,B3,B4,2,1
```

## levels.txt

```
level_id,level_index,level_name,elevation
L0,0,Street,0
L1,-1,Mezzanine,-6
L2,-2,Southbound,-18
L3,-3,Northbound,-24
```

## translations.txt

```
table_name,field_name,language,translation,record_id
stops,stop_name,en,Tokyo Station,stopid000001
stops,stop_name,fr,Gare de Tokyo,stopid000001
stops,stop_name,zh,東京站,stopid000001
```

## attributions.txt

```
attribution_id,is_producer,is_operator,organization_name,agency_id
attribution001,1,0,Transit Feed Solutions USA,agency001
attribution002,0,1,Transit Bus Operations USA ,agency001
[...]
```
10 changes: 10 additions & 0 deletions docs/getting_started/how_to_create_GTFS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# How to create GTFS

A GTFS feed, which contains static transit information, is composed of a number of text (.txt) files that are contained in a single ZIP file. Each file describes a particular aspect of transit information: stops, routes, trips, fares, etc. For more information about each file, consult the GTFS reference.

In order to create a GTFS feed follow the steps below.

1. Create all the required files described in the [GTFS Schedule](reference) reference. Create the optional files if their functionality is desired.
1. Save all files in the .txt format. Field values should be comma delimited and each line should end with a line break. See the GTFS reference for detailed information on the file contents.
1. Zip all the text files together. The zipped file comprises a version of the feed.
1. Publish the feed by using one of the options below.
Loading

0 comments on commit 02d6e1f

Please sign in to comment.