1

GTFS を使用するアプリを開発しようとしています。これはばかげた質問のように思えるかもしれませんが、私はそれに対する答えを見つけることができませんでした。

バスのインフラがあまり整備されていない小さな国であるイスラエルの GTFS は、圧縮された約 120 MB のファイルです。現時点で考えられる唯一の方法は、ファイルをダウンロードすることですが、電話を使用して 120 MB をダウンロードするにはかなりの時間がかかる可能性があります。確かに、これを 1 回だけ実行して電話のデータベースに保存することはできますが、それでも 120 MB のダウンロードが必要です。

圧縮されているため、サーバー上で解凍することはできず、txt ファイルを取得するだけでは..

つまり、基本的には、zipファイルをダウンロードせずに、電話に情報を取得するにはどうすればよいですか?

同じ GTFS ファイルを使用するアプリを見たり使用したりしたことがありますが、最初の読み込みでも非常に高速に読み込まれます..

私はあなたが私の問題を理解してくれることを願っています.それをよりよく説明する方法がわかりません.

ありがとう!

Ps 私も iPhone アプリを作成しますが、それは同じ問題なので、iPhone タグ

4

2 に答える 2

1

アプローチの 1 つは、アプリの開発中に GTFS データを前処理することです。それを SQLite データベースにロードし、Core Data を使用して、実行時にファイルから必要なデータを取得できます。これにより、アプリに実際に必要なデータのみを含める機会も得られます。必要のない余分なデータをダウンロードするようユーザーに求めるのは意味がありません。

于 2012-10-03T23:01:20.987 に答える
0

以前は Google でしたが、現在はオープン ソースのプロトコル バイナリ形式 (pbf) を使用します。pbf はデータベースとして機能するため、コンパクトで非常に高速に検索できるため、デバイスで解凍してそのデバイスのデータベースにロードする必要はありません。クエリを実行するには、コードに pbf ライブラリを含めるだけです。もちろん、データをオンラインで配布する前に、一度圧縮する必要があります。

于 2013-05-26T11:49:52.817 に答える