From 777c70926a0976014f4438ca6eed1725add06a3b Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Thu, 20 Aug 2020 16:37:33 +0200 Subject: [PATCH] increase splitting for large geometries When computing the address parts for a geometry, we need to do a ST_Relates lookup in the location_area_large_* tables. This is potentially very expensive for geometries with many vertices. There is already a funtion for splitting large areas to reduce the impact. This commit reduces the minimum area of a split, effectively increasing the number of splits. The effect on database size is minimal (around 3% increase), while the indexing speed for streets increases by a good 60%. --- sql/functions/utils.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/functions/utils.sql b/sql/functions/utils.sql index 61033fb4..d88de426 100644 --- a/sql/functions/utils.sql +++ b/sql/functions/utils.sql @@ -431,7 +431,7 @@ DECLARE geo RECORD; BEGIN -- 10000000000 is ~~ 1x1 degree - FOR geo IN select quad_split_geometry(geometry, 0.25, 20) as geom LOOP + FOR geo IN select quad_split_geometry(geometry, 0.01, 20) as geom LOOP RETURN NEXT geo.geom; END LOOP; RETURN; -- 2.45.2