[postgis-users] Re: Cascaded Union Aggregate function

Kevin Neufeld kneufeld at refractions.net
Thu Oct 9 12:09:36 PDT 2008


Hi José Carlos,

As far as I know, nothing is currently being done with topology in 
PostGIS.  As you're probably aware, the initial framework has been 
started, but little more has been done.

In the project I'm currently involved in, I maintain a topology of sorts 
in my database for just this sort of thing.  I don't use the PostGIS 
topology framework, but I do maintain a list of faces (currently around 
4 million) and a list of edges (where the linear geometry is stored) 
that make up each face.  I often need to union (rollup) a collection of 
adjacent faces grouped on some common attribute.  I can do this very 
quickly using topology by filtering out all edges that appear twice in a 
particular group clause.  This leaves the outer ring of a "unioned" set 
of faces that I simply ST_Polygonize.

Here are my stats:
union 6500   face polygons in 432.740 ms
union 22000  face polygons in 3379.520 ms
union 61000  face polygons in 4470.704 ms
union 350000 face polygons in 34440.854 ms

Topology in PostGIS definitively has it's advantages, but at an 
extremely high cost in maintainability.

In the future, I do see PostGIS moving in this direction, using 
TopoGeometries to perform common spatial predicate operations quickly.

Please keep us appraised of your research and finding.

Good paper by the way!
Cheers,
Kevin


Jose Carlos Martinez Llario wrote:
> ...
> 
> I think the union operation can be really fast in a system with 
> persistent topology. Im looking forward to try this with the current 
> implementation of topology in PostGIS. I would like to know if someone 
> is checking or implementing these kind of operations in PostGIs using 
> topology.
> 
> I hope it can be useful for the PostGIS community,
> The link of the article is:
> http://cartosig.upv.es/es/system/files/jomarlla/article-martinez-llario-2.pdf 
> 



More information about the postgis-users mailing list