ST_Envelope function
The ST_Envelope function takes a geometry as an input parameter and returns an envelope around the geometry. The envelope is a rectangle that is represented as a polygon.
If the specified geometry is a point, a horizontal linestring, or a vertical linestring, then a rectangle, which is slightly larger than the specified geometry, is returned. Otherwise, the minimum bounding rectangle of the geometry is returned as the envelope. If the specified geometry is null or is empty, then null is returned. To return the exact minimum bounding rectangle for all geometries, use the function ST_MBR.
Syntax
Parameter
- geometry
- A value of type ST_Geometry that represents the geometry to return the envelope for.
Return type
ST_Polygon
Example
In the following examples, the lines of results have been reformatted for readability. The spacing in your results will vary according to your online display.
CREATE TABLE sample_geoms (id INTEGER, geometry ST_Geometry)
INSERT INTO sample_geoms VALUES
(1, ST_Geometry('point EMPTY',0))
INSERT INTO sample_geoms VALUES
(2, ST_Geometry('point zm (10 10 16 30)' ,0))
INSERT INTO sample_geoms VALUES
(3, ST_Geometry('multipoint m (10 10 5, 50 10 6, 10 30 8)' ,0))
INSERT INTO sample_geoms VALUES
(4, ST_Geometry('linestring (10 10, 20 10)',0))
INSERT INTO sample_geoms VALUES
(5, ST_Geometry('polygon((40 120, 90 120, 90 150, 40 150, 40 120))',0))
SELECT id, CAST(ST_AsText(ST_Envelope(geometry)) as VARCHAR(160)) Envelope
FROM sample_geoms
ID ENVELOPE
----------- ---------------------------------------------------------------
1 -
2 POLYGON ((9 9, 11 9, 11 11, 9 11, 9 9))
3 POLYGON ((10 10, 50 10, 50 30, 10 30, 10 10))
4 POLYGON ((10 9, 20 9, 20 11, 10 11, 10 9))
5 POLYGON ((40 120, 90 120, 90 150, 40 150, 40 120))
