1

我正在尝试开发使用 GTFS 的应用程序。这似乎是一个愚蠢的问题,但我找不到任何答案。

以色列的 GTFS 是一个相当小的国家,没有那么多公共汽车基础设施,压缩文件约为 120 MB。现在我能想到的让它工作的唯一可能方法是下载文件,但使用手机下载 120 MB 可能需要很长时间。当然,您只能执行一次并将其保存在手机上的数据库中,但仍需要下载 120 MB。

由于它是压缩的,我无法在服务器上解压缩它,而只能获取 txt 文件..

所以基本上我在问,如何在不下载压缩文件的情况下将信息发送到手机?

我见过并使用过使用相同 GTFS 文件的应用程序,它们加载速度非常快,即使在第一次加载时也是如此。

我希望你理解我的问题,不知道如何更好地解释它。

谢谢!

Ps 我也会做一个 iPhone 应用程序,这是同样的问题,因此 iPhone 标签

4

2 回答 2

1

一种方法可能是在您的应用程序开发期间预处理 GTFS 数据。您可以将其加载到 SQLite 数据库中,并使用 Core Data 在运行时从文件中获取您需要的数据。这也使您有机会仅包含您的应用程序实际需要的数据 - 要求用户下载他们不需要的额外数据是没有意义的。

于 2012-10-03T23:01:20.987 回答
0

使用协议二进制格式 (pbf),以前是 google,现在是开源的。它紧凑且可快速搜索,因此无需在设备上解压缩并将其加载到该设备上的数据库中,因为 pbf 充当数据库。只需在代码中包含 pbf 库即可对其进行查询。当然,您必须在在线分发数据之前对其进行一次压缩。

于 2013-05-26T11:49:52.817 回答