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%.
This commit is contained in:
Sarah Hoffmann 2020-08-20 16:37:33 +02:00
parent 5b20fa7e38
commit 559fe513fa

View File

@ -429,7 +429,7 @@ DECLARE
geo RECORD; geo RECORD;
BEGIN BEGIN
-- 10000000000 is ~~ 1x1 degree -- 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; RETURN NEXT geo.geom;
END LOOP; END LOOP;
RETURN; RETURN;