使用Latlng和ObjectionJs以及postgres、nodejs获取附近的记录



我已经在谷歌上搜索了一段时间,在我的位置表中找不到任何方法来使用附近的查询,它看起来像这样:

id|lat|lng

现在我想要的是,我有一个位置的纬度和经度,我想用这些纬度和经度来搜索这个表,比如说5KM。

主要问题:我在mysql中做过类似的事情。但有了ObjectionJs的postgres,我不知道从哪里开始。

如果您想创建原始查询,请使用以下公式(反对函数where raw(((:

SELECT id, lat, lon
FROM table
WHERE 6377830.272 * acos((sin(lat*PI()/180) * sin(${lat}*PI()/180)) + cos(lat*PI()/180) * cos(${lat}*PI()/180) * cos(${lon}*PI()/180 - lon*PI()/180)) / 1000 < 5;

此查询返回5公里半径内的所有行。

最新更新