我有一个事件数据库(在英国)及其邮政编码(邮政编码)。
用户将其邮政编码输入网页并点击回车,一些非常棒的算法/系统将随后返回用户邮政编码的x英里行车距离内的事件列表。
这是否可以实时实现?
我考虑的解决方案是:
缓存邮政编码区域(其中4100个)之间的所有距离并使用它。不完美,因为邮政编码区域是几平方英里,但现在还可以。最大的问题是我需要大约8403000的旅程距离,谷歌地图有使用限制,Map Quest的API很慢,查找邮政编码不完美,我不想对它进行DOS攻击。
缓存事件邮政编码和我的邮政编码区域列表之间的所有距离。仍然不完美,因为会有1000个事件,在添加事件时查找距离需要很长时间。
随着乌鸦飞行,将旅行缓存的数量限制在100或200英里内的邮政编码。我没有对此进行调查,但考虑到英国的规模,它可以将每个事件所需的旅程总数减少1/2或甚至2/3 ......这样会更好,但查询仍然需要很长时间添加活动时。
存储某种邮政编码位置图,其行程距离为下一个邮政编码区域,并使用类似A *的内容即时搜索以获取关闭的邮政编码。这样做的问题是我没有时间/可用性来实现和托管这样的系统。
有更好的解决方案吗?我错过了一些明显的东西吗?
编辑:使用support driving distance search向custom POI data sets显示MapQuest。
不是proximity search的副本,因为我想要距离接近,而不是纬度/经度距离。
答案 0 :(得分:0)
我不了解英国的OpenStreetMap质量,但您可以下载他们的数据。如果数据质量足够好并且包含PostalCode信息,那么您可以使用他们的数据预先计算所有想要的数据而不会对某些在线数据存储造成DOS攻击。
答案 1 :(得分:0)
正如我在编辑中添加的那样:
MapQuest使用support driving distance search显示在custom POI data sets。
不幸的是,由于MapQuest的数据限制,客户已决定使用不太有趣的解决方案,因此必然会发生!