[postgis-users] Getting the exact extent of a geometry

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Thu Dec 17 02:21:56 PST 2009


Pierre Racine wrote:

> Hi,
> 
> ST_Envelope(geometry) returns a kind of degenerated version (float4s instead of float8s) of the extent of a geometry based on the cached BOX2D and ST_Extent(geometry) is an aggregate.
> 
> Is there a non aggregate function which returns the exact extent (float8s) of a geometry?
> 
> Try:
> 
> SELECT ST_AsText(ST_Envelope('LINESTRING(0 0, 1.00000000000001 1)'::geometry))
> UNION ALL
> SELECT ST_AsText(ST_Box2D('LINESTRING(0 0, 1.00000000000001 1)'::geometry))
> UNION ALL
> SELECT ST_AsText(ST_Extent('LINESTRING(0 0, 1.00000000000001 1)'::geometry));
> 
> Thanks,
> 
> Pierre

Uggg. Nothing should *ever* return the contents of a BOX2DFLOAT4 back to 
the user. If ST_Envelope() does, then this is definitely a bug.


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs



More information about the postgis-users mailing list