ST_Envelope — Returns a geometry representing the bounding box of the supplied geometry.
geometry ST_Envelope(
geometry g1)
;
Returns the float4 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
.
In PostGIS, the bounding box of a geometry is represented internally using
|
This method implements the OpenGIS Simple Features Implementation Specification for SQL.
This method implements the SQL/MM specification: SQL-MM 3: 5.1.15
SELECT ST_AsText(ST_Envelope('POINT(1 3)'::geometry)); st_astext ------------ POINT(1 3) (1 row) SELECT ST_AsText(ST_Envelope('LINESTRING(0 0, 1 3)'::geometry)); st_astext -------------------------------- POLYGON((0 0,0 3,1 3,1 0,0 0)) (1 row) SELECT ST_AsText(ST_Envelope('POLYGON((0 0, 0 1, 1.0000001 1, 1.0000001 0, 0 0))'::geometry)); st_astext -------------------------------------------------------------- POLYGON((0 0,0 1,1.00000011920929 1,1.00000011920929 0,0 0)) (1 row) SELECT ST_AsText(ST_Envelope('POLYGON((0 0, 0 1, 1.0000000001 1, 1.0000000001 0, 0 0))'::geometry)); st_astext -------------------------------------------------------------- POLYGON((0 0,0 1,1.00000011920929 1,1.00000011920929 0,0 0)) (1 row) SELECT ST_Box3D(geom), ST_Box2D(geom), ST_AsText(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; box3d ----------------------------------------- BOX3D(0 0 0,1.0000001 1000012333334.35 0) box2d ------------------------------------------ BOX(0 0,1.00000011920929 1000012382208) envelopewkt ------------------------------------------------------------------- POLYGON((0 0,0 1000012382208,1.00000011920929 1000012382208,1.00000011920929 0,0 0))