forked from hans/Nominatim
avoid near searches in very large areas
At some point the contains call becomes too expensive.
This commit is contained in:
@@ -807,6 +807,7 @@ class SearchDescription
|
|||||||
$sSQL = 'SELECT geometry FROM placex';
|
$sSQL = 'SELECT geometry FROM placex';
|
||||||
$sSQL .= " WHERE place_id in ($sPlaceIDs)";
|
$sSQL .= " WHERE place_id in ($sPlaceIDs)";
|
||||||
$sSQL .= " AND rank_search < $iMaxRank + 5";
|
$sSQL .= " AND rank_search < $iMaxRank + 5";
|
||||||
|
$sSQL .= ' AND ST_Area(Box2d(geometry)) < 20';
|
||||||
$sSQL .= " AND ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon')";
|
$sSQL .= " AND ST_GeometryType(geometry) in ('ST_Polygon','ST_MultiPolygon')";
|
||||||
$sSQL .= ' ORDER BY rank_search ASC ';
|
$sSQL .= ' ORDER BY rank_search ASC ';
|
||||||
$sSQL .= ' LIMIT 1';
|
$sSQL .= ' LIMIT 1';
|
||||||
|
|||||||
Reference in New Issue
Block a user