我有一个矩阵有大约1000个地理空间点(经度,纬度),我试图找到1KM范围内的点.
注意:"这些点是动态的,想象1000辆车正在移动,所以我必须每隔几秒重新计算所有距离"
我做了一些搜索并阅读了像(Floyd-Warshall)这样的Graph算法来解决这个问题,我最终得到了很多关键词,现在我有点迷失了.我正在考虑性能,因为搜索半径很短,我不会考虑地球的曲率.
基本上,似乎我必须计算每个点到每个其他点之间的距离,然后从矩阵中的每个点开始对距离进行排序,并获得其范围内的点.因此,如果我有1000个坐标,我必须执行此过程(1000 ^ 2-1000)次,我不相信这是最佳解决方案.谢谢.
我正在尝试构建一个实时Web服务,处理动态的10k空间条目,每15秒更改一次.想象一下移动车辆我只需要处理最新值.所以我不想在数据库中保留旧值.
我想使用Sphinx或Lucene作为值的全文搜索服务器,但我不知道如何"保持"这些更改值15秒.
问题: 我应该将值存储在MongoDB,MySQL,XML,平面文件中,还是可以将它们直接存储为内存中的对象,并且仍能够操作它们并更新它们的值?
谢谢.