[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