mySQL - загрузка данных GTFS
Мне было интересно, если кто-нибудь имел успех загрузки данных GTFS в базу данных MySQL. Я искал повсюду хороший учебник, но не могу найти ничего полезного.
7 ответов
Мне удалось импортировать файлы GTFS в MySQL.
Шаг 1: Создать базу данных
CREATE DATABASE gtfs
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
Шаг 2. Создание таблиц
Например, создать таблицу stops
за stops.txt
,
-- stop_id,stop_code,stop_name,stop_lat,stop_lon,location_type,parent_station,wheelchair_boarding
CREATE TABLE `stops` (
stop_id VARCHAR(255) NOT NULL PRIMARY KEY,
stop_code VARCHAR(255),
stop_name VARCHAR(255),
stop_lat DECIMAL(8,6),
stop_lon DECIMAL(8,6),
location_type INT(2),
parent_station VARCHAR(255),
wheelchair_boarding INT(2),
stop_desc VARCHAR(255),
zone_id VARCHAR(255)
);
Шаг 3: Загрузите локальные данные
Например, загрузить локальный файл stops.txt
в стол stops
,
LOAD DATA LOCAL INFILE 'stops.txt' INTO TABLE stops FIELDS TERMINATED BY ',' IGNORE 1 LINES;
Полный исходный код с примером размещен на GitHub ( здесь). Сделайте небольшие изменения для вашей цели.
Привет, ищу что-то похожее и все еще не получаю легкий способ сделать это. Я собираюсь попробовать GTFS для MySQl с использованием Python
В моем случае я сначала создал структуры таблиц.
Затем загрузите данные с помощью следующей команды в командной консоли mysql
загрузить данные локального файла '/media/sf_Downloads/google_transit/stops.txt' в поля остановки таблицы, оканчивающиеся на ',' заключенные в '' 'строки, оканчивающиеся на' \ n ', игнорировать 1 строку;
Это загружает файл stop.txt в таблицу остановов. игнорировать первую строку (заголовок) в файле stop.txt.
"/ media /..." - это просто путь к файлу, в который я извлекаю данные gtfs.
Вы пробовали это:
https://code.google.com/p/gtfsdb/
На сайте написано:
База данных GTFS (Общая спецификация транзитных каналов)
Python-код, который будет загружать данные GTFS в реляционную базу данных и привязки Sql/Geo-Alchemy ORM к таблицам GTFS в gtfsdb.
Цель проекта gtfsdb - сделать данные GTFS доступными в программном контексте для разработчиков программного обеспечения. Необходимость проекта gtfsdb обусловлена тем фактом, что многие разработчики начинают работу, связанную с GTFS, сначала создав некоторый объем кода для чтения данных GTFS (будь то загрузчик в памяти, загрузчик базы данных и т. Д.).); Можно надеяться, что gtfsdb уменьшит потребность в такой рутинной работе и даст разработчикам отправную точку после первого шага работы с GTFS в формате файла.csv.
Я на самом деле использовал следующую ссылку в качестве базы и преобразовал ее в скрипт, работал как шарм
Я загрузил данные GTFS в базу данных SQLite с помощью следующих команд:
Создайте новую базу данных SQLite с именем test.sqlite3
sqlite3 test.sqlite3
Установите режим в CSV
sqlite> .mode csv
Импортируйте каждый файл в соответствующую таблицу с помощью команды импорта .import FILE TABLE
sqlite> .import agency.txt agency
sqlite> .import calendar.txt calendar
...
sqlite> .import stops.txt stops
Теперь ваша база данных должна быть загружена
По словам разработчиков Google, фид GTFS - это в основном zip-файл, содержащий текстовые файлы. Вы должны быть в состоянии сохранить его в своей базе данных MySQL, используя поле типа BLOB. Но это не рекомендуется. Вы должны сохранить его в виде файла на диске вашего сервера, а затем сохранить имя файла / путь в обычном поле text/varchar в вашей базе данных.