2

我有一个通过引用距离矩阵来工作的应用程序。在当前设计中,我们从 Google Maps v3 API 收集距离矩阵,将其转换为哈希并保存到本地文本文件中。

我的数据包括一个点到另一个点之间的距离;我有5000分。

我面临与尺寸有关的问题。文件大小已经是 250MB。

  1. 存储此类数据的最佳方式是什么?
  2. 有什么方法可以快速获取这么多数据吗?
  3. 如何从这么大的列表中搜索数据?
4

1 回答 1

2

我不相信 Google 的服务条款允许您存储他们的数据。见 10.1.3(b):

您不得预取、缓存或存储任何内容,除非您可以存储:(i) 有限数量的内容,以提高 Maps API 实施的性能,前提是您临时、安全且在不允许在服务之外使用内容的方式;(ii) Maps API 文档明确允许您存储的任何内容标识符或密钥。例如,您不得使用内容创建独立的“地点”数据库或其他本地列表信息。

“不允许在服务之外使用内容”的“临时、安全”存储基本上是浏览器缓存。它可能包括浏览器中的 HTML5 本地存储。它不包括任何允许数据在其他任何地方使用的外部数据库。而且 250MB 并不是“有限的数量”!

距离矩阵文档中的任何内容都不会覆盖该条款并允许存储该数据。

所以:您只能存储直线距离(前提是您不使用 Google 地理编码器来查找位置)。

我不完全确定为什么 Google 会这么严格。这可能是他们自己从数据提供商那里获得许可的结果。


所以这并不完全是厄运和悲观,存储距离数据将需要一个包含三列的表origindestinationdistance。从 5000 行中选择一行会很快。

于 2012-06-02T19:22:27.730 回答