From e5ee29617ea68735be4ad254952728d64da44550 Mon Sep 17 00:00:00 2001 From: Arne Schwarck Date: Sat, 25 Jan 2025 21:55:25 +0100 Subject: [PATCH 1/4] Add radius param of 10 https://github.com/Freika/dawarich/discussions/652 --- app/services/reverse_geocoding/places/fetch_data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/reverse_geocoding/places/fetch_data.rb b/app/services/reverse_geocoding/places/fetch_data.rb index 9eec9de4..17a0dad0 100644 --- a/app/services/reverse_geocoding/places/fetch_data.rb +++ b/app/services/reverse_geocoding/places/fetch_data.rb @@ -96,7 +96,7 @@ class ReverseGeocoding::Places::FetchData end def reverse_geocoded_places - data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true) + data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true, params: { radius: 10 }) data.reject do |place| place.data['properties']['osm_value'].in?(IGNORED_OSM_VALUES) || From 908232d397d16d955fea85e87895fbf81ae56b70 Mon Sep 17 00:00:00 2001 From: Arne Schwarck Date: Sat, 25 Jan 2025 22:11:35 +0100 Subject: [PATCH 2/4] Fix reverse geocoding issue Previously, reverse geocoding queries in the Photon lookup did not properly limit results within a specified search radius, leading to inaccurate or unexpected locations being returned. This fix ensures that the :radius parameter is passed directly, just like :limit and :distance_sort, instead of being nested under :params. By aligning with the Photon lookup implementation in Geocoder, this change improves accuracy and ensures that results are correctly filtered based on proximity, resolving issues where points were incorrectly matched due to missing radius constraints. Resolves: Reverse geocoding mismatch for close proximity queries --- app/services/reverse_geocoding/places/fetch_data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/reverse_geocoding/places/fetch_data.rb b/app/services/reverse_geocoding/places/fetch_data.rb index 17a0dad0..12186c9f 100644 --- a/app/services/reverse_geocoding/places/fetch_data.rb +++ b/app/services/reverse_geocoding/places/fetch_data.rb @@ -96,7 +96,7 @@ class ReverseGeocoding::Places::FetchData end def reverse_geocoded_places - data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true, params: { radius: 10 }) + data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true, radius: 10) data.reject do |place| place.data['properties']['osm_value'].in?(IGNORED_OSM_VALUES) || From 46fbb4a1b16e447670db2a9a4210ec7710052706 Mon Sep 17 00:00:00 2001 From: Evgenii Burmakin Date: Thu, 13 Feb 2025 20:27:51 +0100 Subject: [PATCH 3/4] Revert "Add radius param of 10" --- app/services/reverse_geocoding/places/fetch_data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/reverse_geocoding/places/fetch_data.rb b/app/services/reverse_geocoding/places/fetch_data.rb index 12186c9f..9eec9de4 100644 --- a/app/services/reverse_geocoding/places/fetch_data.rb +++ b/app/services/reverse_geocoding/places/fetch_data.rb @@ -96,7 +96,7 @@ class ReverseGeocoding::Places::FetchData end def reverse_geocoded_places - data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true, radius: 10) + data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true) data.reject do |place| place.data['properties']['osm_value'].in?(IGNORED_OSM_VALUES) || From 3d01bead20a14af32dd55b31e0e3e02b3c0c923a Mon Sep 17 00:00:00 2001 From: Evgenii Burmakin Date: Thu, 13 Feb 2025 20:28:09 +0100 Subject: [PATCH 4/4] Revert "Revert "Add radius param of 10"" --- app/services/reverse_geocoding/places/fetch_data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/reverse_geocoding/places/fetch_data.rb b/app/services/reverse_geocoding/places/fetch_data.rb index 9eec9de4..12186c9f 100644 --- a/app/services/reverse_geocoding/places/fetch_data.rb +++ b/app/services/reverse_geocoding/places/fetch_data.rb @@ -96,7 +96,7 @@ class ReverseGeocoding::Places::FetchData end def reverse_geocoded_places - data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true) + data = Geocoder.search([place.latitude, place.longitude], limit: 10, distance_sort: true, radius: 10) data.reject do |place| place.data['properties']['osm_value'].in?(IGNORED_OSM_VALUES) ||