2

我有时有一个非常大的 gtfs zip 文件 - 有效期为 6 个月,但这对于将如此大的数据大小加载到低资源(例如,2 gig 内存和 10 gig 硬盘)EC2 中是不经济的服务器。

我希望能够将这个大尺寸的 gtfs 拆分为 3 个较小的 gtfs zip 文件,其中包含 2 个月(6 个月/3 个文件)期间的有效数据,当然这意味着我需要每 2 个月更换一次数据。

我在这里找到了一个实现相反目标 MERGE 的 python 程序https://github.com/google/transitfeed/blob/master/merge.py(顺便说一句,这是一个非常好的 python 项目。)

我非常感谢任何指针。

此致,

邓恩。

4

2 回答 2

2

值得注意的是,在加载 GTFS 提要时,stop_times.txt 中的条目通常是最大的内存占用。由于大多数系统不会为这些旅行活动的日期复制 trips+stop_times,因此减少服务日历可能不会为您节省太多。

也就是说,有一些工具可以对 GTFS 进行切片和切块。查看 OneBusAway GTFS Transformer 工具,例如:

http://developer.onebusaway.org/modules/onebusaway-gtfs-modules/1.3.3/onebusaway-gtfs-transformer-cli.html

于 2014-11-12T18:47:20.337 回答
0

处理大型 GTFS 文件的另一个更新选项是transitland-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
于 2021-12-04T01:06:10.180 回答