2

距離行列を参照することで機能するアプリケーションがあります。現在の設計では、Google マップ v3 API から距離行列を収集し、それらをハッシュに変換してローカル テキスト ファイルに保存しています。

私のデータは、ある点から別の点までの距離で構成されています。5000ポイントあります。

サイズに関する問題に直面しています。ファイルサイズはすでに250MBです。

  1. この種のデータを保存する最良の方法は何ですか?
  2. これほど多くのデータを高速に取得する方法はありますか?
  3. このような大きなリストからデータを検索するにはどうすればよいですか?
4

1 に答える 1

2

Google の利用規約でデータの保存が許可されているとは思えません。10.1.3(b)を参照:

コンテンツをプリフェッチ、キャッシュ、または保存してはなりません。ただし、以下を保存する場合は除きます。サービス外でのコンテンツの使用を許可しない方法。(ii) Maps API ドキュメントで明示的に保存が許可されているコンテンツ識別子またはキー。たとえば、コンテンツを使用して、「場所」またはその他のローカル リスティング情報の独立したデータベースを作成してはなりません。

「サービス外でのコンテンツの使用を許可しない」「一時的で安全な」ストアは、基本的にブラウザのキャッシュです。ブラウザー内に HTML5 ローカル ストレージ含まれる場合があります。データを他の場所で使用できるようにする外部データベースは含まれません。そして、250MBはほとんど「限られた量」ではありません!

距離行列のドキュメントには、この句をオーバーライドしてそのデータの保存を許可するものはありません。

したがって、直線距離の保存に制限されます (場所を見つけるために Google ジオコーダーを使用しない場合)。

Google がこのように制限を設けている理由はよくわかりません。これはおそらく、データ プロバイダーからの独自のライセンスの結果です。


したがって、これは完全に悲観的なものではありません。距離データを保存するには、 、 、および の 3 つの列を持つテーブルが必要origindestinationなりdistanceます。5000 行から 1 行を選択するのは簡単です。

于 2012-06-02T19:22:27.730 に答える