【发布时间】:2012-03-01 12:22:42
【问题描述】:
我有一个事件数据库(在英国)及其邮政编码(邮政编码)。
用户将他们的邮政编码输入网页并点击回车,一些很棒的算法/系统随后将返回用户邮政编码x英里行驶距离内的事件列表。
这可能是实时的吗?
我考虑过的解决方案是:
缓存邮政编码区域(其中 4100 个)之间的所有距离并使用它。不完美,因为邮政编码区域是几英里平方,但现在还可以。最大的问题是我需要大约 8403000 的旅程距离,而且 Google Maps 有使用限制,而且 Map Quest 的 API 很慢,不适合查找邮政编码,我不想对其执行 DOS 攻击。
缓存事件邮政编码和我的邮政编码区域列表之间的所有距离。仍然不完善,因为将有 1000 多个事件,并且添加事件时查找距离需要太长时间。
将旅程缓存的数量限制在 100 或 200 英里范围内的邮政编码范围内。我没有对此进行调查,但考虑到英国的规模,它可以将每个事件所需的旅程总数减少 1/2 甚至 2/3 ......这更好,但仍然需要很长时间才能查找添加事件时。
存储某种类型的邮政编码位置图表以及到下一个邮政编码区域的行程距离,并使用 A* 之类的东西即时搜索接近的邮政编码。这样做的问题是我没有时间/没有时间来实施和托管这样的系统。
有更好的解决方案吗?我错过了什么明显的东西吗?
编辑: MapQuest 使用 custom POI data sets 显示给 support driving distance search。
不是proximity search 的重复项,因为我想要的是行车距离接近度,而不是纬度/经度接近度。
【问题讨论】:
标签: graph-algorithm zipcode proximity