[postgis-users] polygon/multipolygon limitation?

strk strk at keybit.net
Wed Jun 9 07:03:40 PDT 2004


On Wed, Jun 09, 2004 at 03:42:26PM +0200, Hubert Fröhlich wrote:
> Hello list,
> 
> 
> Application: I have ca. 100000 polygons ( a neighborhood of land 
> register parcels) and want to get the outer boundary of the area 
> enclosing all polygons exactly.
> 
> PostGIS could do this by applying several successive operations of 
> GeomUnion(geometry, geometry) in a loop (n=100000) . It is clear that I 
> will get huge polygons (with several 1000 vertices).
> 
> My trials so far have not been very successful: High disk I/O load 
> leading even sometimes to postgres errors like

Try:
	select geomunion(envelope(the_geom));

It is an aggregate. You might split the table in chunks of 100 records
and run the geomunion(envelope(the_geom)) for each chunk storing
the result in a separate table, then run it again on the separate
table... and so on...

crashes might be due to to out of virtual memory conditions,
overlooked by both postgresql and postgis-geos.

--strk;

> 
> "invalid page header in block ..."
> 
> and, therefore, VERY strange results
> 
> My question now:
> - Is there a way for PostGIS to process this task?
> - I am looking for a better way than the one I originally proposed.
> - The way I proposed seems to produce too much load. How to reduce it?
> - Is there a limitation on vertices in polygons etc. turning my 
> application into crash?
> 
> 
> Regards,
> 
> Hubert
> 
> 
> 
> -- 
> -------------------------------------------------------------------------------
> Dr.-Ing. Hubert Fröhlich			
> Bezirksfinanzdirektion München 			
> Alexandrastr. 3, D-80538 München, GERMANY
> Tel. :+49 (0)89 / 2190 - 2980
> Fax  :+49 (0)89 / 2190 - 2997
> hubert dot froehlich at bvv dot bayern dot de
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users



More information about the postgis-users mailing list