我有一个这样的查询:
SELECT * FROM chat_rooms
WHERE earth_box(ll_to_earth(5, 5), 111000) @> ll_to_earth(lat, lng);
本质上,我lat = lng = 5
在查询中,在我的chat_rooms
表中有两个条目,一个带有lat=lng=5
,另一个带有lat=lng=4
。使用在线计算器,这两个条目之间的距离为 157 英里 = 252.667 公里(即lat=lng=4
当半径 >= 157 英里时应返回条目。但是,查询仅lat=lng=4
在半径指定为 ~111,000+ 时返回条目。我的问题是,半径的单位是什么,我是否正确执行此查询?