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.

Я на самом деле использовал следующую ссылку в качестве базы и преобразовал ее в скрипт, работал как шарм

http://steffen.im/php-gtfs-to-mysql/

Я загрузил данные 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 в вашей базе данных.

Другие вопросы по тегам