所以,我需要计算两分之间的距离。我读过关于移动式书写中的Haversine公式和等矩形近似。
既然我只想计算短距离(小于4公里),那么等矩形公式是一个很好的近似吗?
此外,我还读过关于MySQL数据库在Google开发人员文档中中的lat-lon存储的文章,它们实现了Haversine公式,如下所示:
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;我的最后一个问题是,在筛选sql查询中的点和通过代码过滤它们之间是否有很大的性能差异?
发布于 2014-05-20 09:04:42
当我在更远的距离(1000公里,在英国境内)测试haversine v等长线时,差别是0.1%。因此,对于4公里或更短的距离,你最好使用等长线作为速度,除非你需要最大的精度。
https://stackoverflow.com/questions/23188338
复制相似问题