【发布时间】:2014-05-31 16:13:40
【问题描述】:
仅使用伪代码或 JavaScript,任何人都可以描述确定对象数组中哪些项目由以下各项组成的最佳方法:
{
"lat": float,
"lng": float
}
是否在以英里或公里为单位的给定半径范围内?
我正在向 ForerunnerDB (https://github.com/irrelon/ForerunnerDB) 添加基于地理位置的查询,并希望能够从搜索中快速生成结果。
如果你能描述一个索引策略来加速对数组的查询,那就加分了。我从头开始编写 ForerunnerDB 数据库,因此可以灵活地将答案集成到代码中,但主要关注的是查询性能。
虽然问题与 ForerunnerDB 的一个新特性有关,但它并不要求您去阅读该项目的源代码或熟悉该系统,并且非常欢迎使用伪代码或独立 JS 示例!
【问题讨论】:
-
这可能相当复杂,因为地理点是 3 维的。
-
这个问题不能简单地改写成:如何计算两个地理点之间的距离?
标签: javascript arrays search geolocation forerunnerdb