ST_Envelope

ST_Envelope 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 given geometry is a point, a horizontal linestring, or a vertical linestring, then a rectangle, which is slightly larger than the given geometry, is returned. Otherwise, the minimum bounding rectangle of the geometry is returned as the envelope.

If the given geometry is null or is empty, then null is returned.

Syntax

Read syntax diagramSkip visual syntax diagramdb2gse.ST_Envelope(geometry)

Parameter

geometry
A value of one of the seven distinct spatial data types that represents the geometry to return the envelope for.

Return type

db2gse.ST_Polygon

Example

In the following examples, the lines of results have been reformatted for readability.

This example creates several geometries and then determines their envelopes. For the non-empty point and the linestring (which is horizontal), the envelope is a rectangle that is slightly larger than the geometry.

SET CURRENT PATH = CURRENT PATH, db2gse;
CREATE TABLE sample_geoms (id INTEGER, geometry ST_Geometry);

INSERT INTO sample_geoms VALUES
    (1, ST_Geometry(ST_Point('point EMPTY',0)));

INSERT INTO sample_geoms VALUES
    (2, ST_Geometry(ST_Point('point zm (10 10 16 30)' ,0)));

INSERT INTO sample_geoms VALUES
    (3, ST_Geometry(ST_Multipoint('multipoint m (10 10 5, 50 10 6, 
			 10 30 8)' ,0)));

INSERT INTO sample_geoms VALUES
    (4, ST_Geometry(ST_Linestring('linestring (10 10, 20 10)',0)));

INSERT INTO sample_geoms VALUES
    (5, ST_Geometry(ST_Polygon('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;


Results:

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))