From 0bc7aa4dbb047bf0e4182a6d23839fb026625f0e Mon Sep 17 00:00:00 2001 From: PiCiU1221 <96005164+PiCiU1221@users.noreply.github.com> Date: Sun, 16 Nov 2025 18:18:46 +0100 Subject: [PATCH] Refactor library distance approximation --- .../edu/zut/bookrider/repository/LibraryRepository.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java b/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java index 30fa4f61..c1a93dd9 100644 --- a/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java +++ b/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java @@ -28,11 +28,10 @@ WHERE l.id IN ( WHERE lb.book_id = :bookId ) ORDER BY - (6371 * acos( - cos(radians(:userLat)) * cos(radians(a.latitude)) * - cos(radians(a.longitude) - radians(:userLon)) + - sin(radians(:userLat)) * sin(radians(a.latitude)) - )) ASC + ST_Distance( + ST_SetSRID(ST_MakePoint(a.longitude, a.latitude), 4326)::geography, + ST_SetSRID(ST_MakePoint(:userLon, :userLat), 4326)::geography + ) ASC LIMIT 5 """, nativeQuery = true) List findNearestLibrariesWithBook(