Name

ST_Envelope — Returns a geometry representing the bounding box of a geometry.

Synopsis

geometry ST_Envelope(geometry g1);

Description

Returns the double-precision (float8) minimum bounding box for the supplied geometry, as a geometry. The polygon is defined by the corner points of the bounding box ((MINX, MINY), (MINX, MAXY), (MAXX, MAXY), (MAXX, MINY), (MINX, MINY)). (PostGIS will add a ZMIN/ZMAX coordinate as well).

Degenerate cases (vertical lines, points) will return a geometry of lower dimension than POLYGON, ie. POINT or LINESTRING.

Availability: 1.5.0 behavior changed to output double precision instead of float4

This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.1

This method implements the SQL/MM specification. SQL-MM 3: 5.1.19

Examples

Code
SELECT ST_Envelope('POINT(1 3)'::geometry);
Output
POINT(1 3)
Figure
Geometry figure for visual-st-envelope-01
Code
SELECT ST_Envelope('LINESTRING(0 0,1 3)'::geometry);
Output
POLYGON((0 0,0 3,1 3,1 0,0 0))
Figure
Geometry figure for visual-st-envelope-02
Code
SELECT ST_Envelope('POLYGON((0 0,0 1,1.0000001 1,1.0000001 0,0 0))'::geometry);
Output
POLYGON((0 0,0 1,1.0000001 1,1.0000001 0,0 0))
Figure
Geometry figure for visual-st-envelope-03
Code
SELECT ST_Envelope('POLYGON((0 0,0 1,1.0000000001 1,1.0000000001 0,0 0))'::geometry);
Output
POLYGON((0 0,0 1,1.0000000001 1,1.0000000001 0,0 0))
Figure
Geometry figure for visual-st-envelope-04
Code
SELECT Box3D(geom), Box2D(geom), ST_Envelope(geom) As envelopewkt
    FROM (SELECT 'POLYGON((0 0,0 1000012333334.34545678,1.0000001 1,1.0000001 0,0 0))'::geometry As geom) As foo;

Envelope of a point and LineString.

Code
SELECT ST_Envelope(ST_Collect(
            'LINESTRING(55 75,125 150)',
            ST_Point(20, 80)
            )) As wktenv;
Output
POLYGON((20 75,20 150,125 150,125 75,20 75))
Figure
Geometry figure for visual-st-envelope-05