[geos-devel] [GEOS] #997: ST_Union performance degradation from GEOS 3.6.x -> 3.7.x
GEOS
geos-trac at osgeo.org
Thu Oct 10 09:15:41 PDT 2019
#997: ST_Union performance degradation from GEOS 3.6.x -> 3.7.x
-------------------------+---------------------------
Reporter: greenlaw | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone:
Component: Default | Version: 3.7.0
Severity: Significant | Resolution:
Keywords: union |
-------------------------+---------------------------
Comment (by greenlaw):
Sorry, was not clear about the query grouping. It's been a few years since
I wrote this code so it's not exactly fresh in my mind, but I believe what
I was trying to accomplish is merging adjacent polygons that have matching
attributes. I'm applying the buffer first in order to ensure close-by
polygons are union'd even if they don't touch.
Looks like I was compiling with `-O2 -Os`, so I've changed that to `-O3`
and ran your query (using 3.7.3 for this test), which ran in ~168 sec
(guess my docker instance inside a VM on my laptop is not quite as fast as
your machine :). So yes looks like a normal Union works in reasonable
time.
{{{
explain analyze select st_npoints(st_union(st_buffer(wkb_geometry,100)))
from nws_haz_hang_201910 ;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
Aggregate (cost=10.15..10.19 rows=1 width=32) (actual
time=168404.120..168404.121 rows=1 loops=1)
-> Seq Scan on nws_haz_hang_201910 (cost=0.00..10.10 rows=10
width=32) (actual time=0.006..0.041 rows=21 loops=1)
Planning time: 0.055 ms
Execution time: 168407.313 ms
}}}
--
Ticket URL: <https://trac.osgeo.org/geos/ticket/997#comment:4>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list