Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added importer and updated fields order #3

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 41 additions & 25 deletions gtfs-sql.sql
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
DROP TABLE IF EXISTS agency;
DROP TABLE IF EXISTS calendar;
DROP TABLE IF EXISTS calendar_dates;
DROP TABLE IF EXISTS fare_attributes;
DROP TABLE IF EXISTS fare_rules;
DROP TABLE IF EXISTS feed_info;
DROP TABLE IF EXISTS frequencies;
DROP TABLE IF EXISTS routes;
DROP TABLE IF EXISTS shapes;
DROP TABLE IF EXISTS stops;
DROP TABLE IF EXISTS stop_times;
DROP TABLE IF EXISTS transfers;
DROP TABLE IF EXISTS trips;


CREATE TABLE `agency` (
id INT(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
transit_system VARCHAR(50) NOT NULL,
Expand All @@ -7,7 +22,9 @@ CREATE TABLE `agency` (
agency_timezone VARCHAR(100) NOT NULL,
agency_lang VARCHAR(100),
agency_phone VARCHAR(100),
agency_fare_url VARCHAR(100)
agency_fare_url VARCHAR(255),
agency_email VARCHAR(100),
KEY `agency_id` (agency_id)
);

CREATE TABLE `calendar_dates` (
Expand Down Expand Up @@ -41,12 +58,10 @@ CREATE TABLE `fare_attributes` (
transit_system VARCHAR(50) NOT NULL,
fare_id VARCHAR(100),
price VARCHAR(50) NOT NULL,
currency_type VARCHAR(50) NOT NULL,
currency_type VARCHAR(3) NOT NULL,
payment_method TINYINT(1) NOT NULL,
transfers TINYINT(1) NOT NULL,
transfer_duration VARCHAR(10),
exception_type TINYINT(2) NOT NULL,
agency_id INT(100),
transfer_duration INT(5),
KEY `fare_id` (fare_id)
);

Expand All @@ -66,8 +81,8 @@ CREATE TABLE `feed_info` (
id INT(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
transit_system VARCHAR(50) NOT NULL,
feed_publisher_name VARCHAR(100),
feed_publisher_url VARCHAR(255) NOT NULL,
feed_lang VARCHAR(255) NOT NULL,
feed_publisher_url VARCHAR(255),
feed_lang VARCHAR(100),
feed_start_date VARCHAR(8),
feed_end_date VARCHAR(8),
feed_version VARCHAR(100)
Expand All @@ -79,7 +94,7 @@ CREATE TABLE `frequencies` (
trip_id VARCHAR(100) NOT NULL,
start_time VARCHAR(8) NOT NULL,
end_time VARCHAR(8) NOT NULL,
headway_secs VARCHAR(100) NOT NULL,
headway_secs INT(5) NOT NULL,
exact_times TINYINT(1),
KEY `trip_id` (trip_id)
);
Expand All @@ -91,11 +106,11 @@ CREATE TABLE `routes` (
agency_id VARCHAR(50),
route_short_name VARCHAR(50) NOT NULL,
route_long_name VARCHAR(255) NOT NULL,
route_type VARCHAR(2) NOT NULL,
route_text_color VARCHAR(255),
route_color VARCHAR(255),
route_url VARCHAR(255),
route_desc VARCHAR(255),
route_type VARCHAR(2) NOT NULL,
route_url VARCHAR(255),
route_color VARCHAR(255),
route_text_color VARCHAR(255),
KEY `agency_id` (agency_id),
KEY `route_type` (route_type)
);
Expand All @@ -106,8 +121,8 @@ CREATE TABLE `shapes` (
shape_id VARCHAR(100) NOT NULL,
shape_pt_lat DECIMAL(8,6) NOT NULL,
shape_pt_lon DECIMAL(8,6) NOT NULL,
shape_pt_sequence TINYINT(3) NOT NULL,
shape_dist_traveled VARCHAR(50),
shape_pt_sequence INT(5) NOT NULL,
shape_dist_traveled DECIMAL(6,3),
KEY `shape_id` (shape_id)
);

Expand All @@ -116,15 +131,16 @@ CREATE TABLE `stop_times` (
transit_system VARCHAR(50) NOT NULL,
trip_id VARCHAR(100) NOT NULL,
arrival_time VARCHAR(8) NOT NULL,
arrival_time_seconds INT(100),
departure_time VARCHAR(8) NOT NULL,
departure_time_seconds INT(100),
stop_id VARCHAR(100) NOT NULL,
stop_sequence VARCHAR(100) NOT NULL,
stop_headsign VARCHAR(50),
pickup_type VARCHAR(2),
drop_off_type VARCHAR(2),
shape_dist_traveled VARCHAR(50),
shape_dist_traveled DECIMAL(6,3),
timepoint TINYINT(1),
arrival_time_seconds INT(5), # Virtual field
departure_time_seconds INT(5), # Virtual field
KEY `trip_id` (trip_id),
KEY `arrival_time_seconds` (arrival_time_seconds),
KEY `departure_time_seconds` (departure_time_seconds),
Expand All @@ -137,15 +153,15 @@ CREATE TABLE `stop_times` (
CREATE TABLE `stops` (
id INT(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
transit_system VARCHAR(50) NOT NULL,
stop_id VARCHAR(255),
stop_id VARCHAR(100),
stop_code VARCHAR(50),
stop_name VARCHAR(255) NOT NULL,
stop_desc VARCHAR(255),
stop_lat DECIMAL(10,6) NOT NULL,
stop_lon DECIMAL(10,6) NOT NULL,
zone_id VARCHAR(255),
stop_url VARCHAR(255),
location_type VARCHAR(2),
location_type TINYINT(1),
parent_station VARCHAR(100),
stop_timezone VARCHAR(50),
wheelchair_boarding TINYINT(1),
Expand All @@ -159,23 +175,23 @@ CREATE TABLE `stops` (
CREATE TABLE `transfers` (
id INT(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
transit_system VARCHAR(50) NOT NULL,
from_stop_id INT(100) NOT NULL,
to_stop_id VARCHAR(8) NOT NULL,
from_stop_id VARCHAR(100) NOT NULL,
to_stop_id VARCHAR(100) NOT NULL,
transfer_type TINYINT(1) NOT NULL,
min_transfer_time VARCHAR(100)
min_transfer_time INT(5)
);

CREATE TABLE `trips` (
id INT(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
transit_system VARCHAR(50) NOT NULL,
route_id VARCHAR(100) NOT NULL,
service_id VARCHAR(100) NOT NULL,
trip_id VARCHAR(255),
trip_id VARCHAR(100),
trip_headsign VARCHAR(255),
trip_short_name VARCHAR(255),
direction_id TINYINT(1), #0 for one direction, 1 for another.
block_id VARCHAR(11),
shape_id VARCHAR(11),
block_id VARCHAR(100),
shape_id VARCHAR(100),
wheelchair_accessible TINYINT(1), #0 for no information, 1 for at
# least one rider accommodated on wheel chair, 2 for no riders
# accommodated.
Expand Down
86 changes: 86 additions & 0 deletions import.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
-- Run this sql script from the folder containing GTFS files

SET @transit = "JUST_IMPORTED";

DELETE FROM agency WHERE transit_system = @transit;
DELETE FROM calendar WHERE transit_system = @transit;
DELETE FROM calendar_dates WHERE transit_system = @transit;
DELETE FROM fare_attributes WHERE transit_system = @transit;
DELETE FROM fare_rules WHERE transit_system = @transit;
DELETE FROM feed_info WHERE transit_system = @transit;
DELETE FROM frequencies WHERE transit_system = @transit;
DELETE FROM routes WHERE transit_system = @transit;
DELETE FROM shapes WHERE transit_system = @transit;
DELETE FROM stops WHERE transit_system = @transit;
DELETE FROM stop_times WHERE transit_system = @transit;
DELETE FROM transfers WHERE transit_system = @transit;
DELETE FROM trips WHERE transit_system = @transit;


LOAD DATA LOCAL INFILE 'agency.txt' INTO TABLE agency
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(agency_id, agency_name, agency_url, agency_timezone, agency_lang, agency_phone, agency_fare_url, agency_email)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'calendar.txt' INTO TABLE calendar
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(service_id, monday, tuesday, wednesday, thursday, friday, saturday, sunday, start_date, end_date)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'calendar_dates.txt' INTO TABLE calendar_dates
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(service_id, `date`, exception_type)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'fare_attributes.txt' INTO TABLE fare_attributes
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(fare_id, price, currency_type, payment_method, transfers, transfer_duration)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'fare_rules.txt' INTO TABLE fare_rules
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(fare_id, route_id, origin_id, destination_id, contains_id)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'feed_info.txt' INTO TABLE feed_info
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(feed_publisher_name, feed_publisher_url, feed_lang, feed_start_date, feed_end_date, feed_version)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'frequencies.txt' INTO TABLE frequencies
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(trip_id, start_time, end_time, headway_secs, exact_times)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'routes.txt' INTO TABLE routes
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(route_id, agency_id, route_short_name, route_long_name, route_desc, route_type, route_url, route_color, route_text_color)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'shapes.txt' INTO TABLE shapes
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(shape_id, shape_pt_lat, shape_pt_lon, shape_pt_sequence, shape_dist_traveled)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'stops.txt' INTO TABLE stops
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(stop_id, stop_code, stop_name, stop_desc, stop_lat, stop_lon, zone_id, stop_url, location_type, parent_station, stop_timezone, wheelchair_boarding)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'stop_times.txt' INTO TABLE stop_times
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(trip_id, arrival_time, departure_time, stop_id, stop_sequence, stop_headsign, pickup_type, drop_off_type, shape_dist_traveled, timepoint)
SET transit_system = @transit,
arrival_time_seconds = TIME_TO_SEC(arrival_time),
departure_time_seconds = TIME_TO_SEC(departure_time);

LOAD DATA LOCAL INFILE 'transfers.txt' INTO TABLE transfers
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(from_stop_id, to_stop_id, transfer_type, min_transfer_time)
SET transit_system = @transit;

LOAD DATA LOCAL INFILE 'trips.txt' INTO TABLE trips
FIELDS TERMINATED BY ',' IGNORE 1 LINES
(route_id, service_id, trip_id, trip_headsign, trip_short_name, direction_id, block_id, shape_id, wheelchair_accessible, bikes_allowed)
SET transit_system = @transit;