j'ai une requête comme ceci:Essayer de calculer la distance entre deux points lat-lng dans PostgreSQL - quelle est l'unité de la valeur de retour de PostgreSQL earth_box (ll_to_earth)?
SELECT * FROM chat_rooms
WHERE earth_box(ll_to_earth(5, 5), 111000) @> ll_to_earth(lat, lng);
Essentiellement, je lat = lng = 5
dans la requête, et dans ma table chat_rooms
j'ai deux entrées, l'une avec lat=lng=5
, l'autre avec lat=lng=4
. À l'aide d'une calculatrice en ligne, la distance entre ces deux entrées est de 157 miles = 252,667 km (l'entrée lat=lng=4
doit être renvoyée si rayon> = 157 miles.) Cependant, la requête renvoie uniquement l'entrée lat=lng=4
lorsque le rayon est spécifié comme ~ 111,000 + . Ma question est, quelle unité est le rayon dans, et que je mène cette requête correctement?