【问题标题】:Get nearby records using lat lng with ObjectionJs and postgres, nodejs使用带有 ObjectionJs 和 postgres、nodejs 的 lat lng 获取附近的记录
【发布时间】:2022-01-25 23:26:48
【问题描述】:

我已经在谷歌上搜索了一段时间,在我的位置表中找不到任何使用附近查询的方法,如下所示:

id|lat|lng

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

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

【问题讨论】:

  • 对于未加修饰的 PostgreSQL,您最好使用 postgis 扩展来执行此操作。我从未听说过 ObjectionJs postgres,但也许你也可以在那里使用 postgis。

标签: node.js postgresql objection.js


【解决方案1】:

如果您想创建原始查询,请使用此公式(反对函数 whereRaw()):

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 公里半径内的所有行。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多