Разделение gtfs транзитных данных на более мелкие
Иногда у меня очень большой размер zip-файла gtfs - он действителен в течение 6 месяцев, но это невыгодно для загрузки такого большого размера данных в малый ресурс (например, 2 гигабайта памяти и 10 гигабайт жесткого диска) EC2 сервер.
Я надеюсь, что смогу разбить эти большие размерные gtfs на 3 меньших zt-файла gtfs с периодом достоверности данных за 2 месяца (6 месяцев /3 файла), конечно, это означает, что мне придется заменять данные каждые 2 месяца.
Я нашел программу на Python, которая достигла противоположной цели MERGE здесь https://github.com/google/transitfeed/blob/master/merge.py (это очень хороший проект Python, кстати.)
Я очень благодарен за любой указатель.
С наилучшими пожеланиями,
Dunn.
2 ответа
Стоит отметить, что записи в stop_times.txt, как правило, занимают наибольшее место в памяти при загрузке канала GTFS. Поскольку большинство систем не реплицируют поездки + остановки_время для дат, когда эти поездки активны, сокращение календаря обслуживания, вероятно, не спасет вас сильно.
Тем не менее, есть несколько инструментов для нарезки и нарезки кубиками GTFS. Проверьте инструмент OneBusAway GTFS Transformer, например:
Другой, более свежий вариант обработки больших файлов GTFS — это transportland-lib . Он написан на языке программирования Go, который весьма эффективен при разборе огромных фидов GTFS.
См.
transitland extract
команда, которая может принимать ряд аргументов, чтобы сократить существующий фид GTFS до меньшего размера:
% transitland extract --help
Usage: extract <input> <output>
-allow-entity-errors
Allow entities with errors to be copied
-allow-reference-errors
Allow entities with reference errors to be copied
-create
Create a basic database schema if none exists
-create-missing-shapes
Create missing Shapes from Trip stop-to-stop geometries
-ext value
Include GTFS Extension
-extract-agency value
Extract Agency
-extract-calendar value
Extract Calendar
-extract-route value
Extract Route
-extract-route-type value
Extract Routes matching route_type
-extract-stop value
Extract Stop
-extract-trip value
Extract Trip
-fvid int
Specify FeedVersionID when writing to a database
-interpolate-stop-times
Interpolate missing StopTime arrival/departure values
-normalize-service-ids
Create Calendar entities for CalendarDate service_id's
-set value
Set values on output; format is filename,id,key,value
-use-basic-route-types
Collapse extended route_type's into basic GTFS values