1

我有一个事件数据库(在英国)及其邮政编码(邮政编码)。

用户将他们的邮政编码输入网页并点击回车,一些很棒的算法/系统随后将返回用户邮政编码x 英里行驶距离内的事件列表。

这可能是实时的吗?

我考虑过的解决方案是:

  • 缓存邮政编码区域(其中 4100 个)之间的所有距离并使用它。不完美,因为邮政编码区域是几英里平方,但现在还可以。最大的问题是我需要大约 8403000 的旅程距离,而且谷歌地图有使用限制,而且 Map Quest 的 API 很慢,不适合查找邮政编码,我不想对其进行 DOS 攻击。

  • 缓存事件邮政编码和我的邮政编码区域列表之间的所有距离。仍然不完美,因为将有 1000 多个事件,并且在添加事件时查找距离将花费太长时间。

  • 当乌鸦飞过时,将旅程缓存的数量限制在 100 或 200 英里内的邮政编码范围内。我没有对此进行调查,但考虑到英国的规模,它可以将每个事件所需的旅程总数减少 1/2 甚至 2/3 ......这更好,但查找时间仍然太长添加事件时。

  • 存储某种邮政编码位置图以及到下一个邮政编码区域的行程距离,并使用 A* 之类的东西即时搜索接近的邮政编码。这样做的问题是我没有时间/时间来实现和托管这样的系统。

有更好的解决方案吗?我错过了什么明显的东西吗?


编辑: MapQuest 似乎支持使用自定义 POI 数据集进行行驶距离搜索

不是邻近搜索的副本,因为我想要驾驶距离邻近,而不是纬度/经度邻近。

4

2 回答 2

0

我不知道英国的 OpenStreetMap 质量,但你可以下载他们的数据。如果数据质量足够好并且包含邮政编码信息,那么您可以使用他们的数据预先计算您想要的所有内容,而无需对某些在线数据存储进行 DOS 攻击。

于 2012-03-06T10:52:31.920 回答
0

正如我作为编辑添加的那样:

MapQuest 似乎支持使用自定义 POI 数据集进行行驶距离搜索

不幸的是,由于 MapQuest 的数据限制,客户决定使用一个不太有趣的解决方案,这是必然发生的!

于 2012-03-09T00:26:41.337 回答