mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
further tweaking of address distance
For point features, keep using the distance to centroid. For area features, add a tie breaker for the case where the center point falls on the boundary.
This commit is contained in:
@@ -51,7 +51,11 @@ BEGIN
|
|||||||
IF in_partition = {{ partition }} THEN
|
IF in_partition = {{ partition }} THEN
|
||||||
FOR r IN
|
FOR r IN
|
||||||
SELECT place_id, keywords, rank_address, rank_search,
|
SELECT place_id, keywords, rank_address, rank_search,
|
||||||
min(ST_Distance(feature_centroid, geometry)) as distance,
|
CASE WHEN isguess THEN ST_Distance(feature, centroid)
|
||||||
|
ELSE min(ST_Distance(feature_centroid, geometry))
|
||||||
|
-- tie breaker when distance is the same (i.e. way is on boundary)
|
||||||
|
+ 0.00001 * ST_Distance(feature, centroid)
|
||||||
|
END as distance,
|
||||||
isguess, postcode, centroid
|
isguess, postcode, centroid
|
||||||
FROM location_area_large_{{ partition }}
|
FROM location_area_large_{{ partition }}
|
||||||
WHERE geometry && feature
|
WHERE geometry && feature
|
||||||
|
|||||||
Reference in New Issue
Block a user