ST_Expand
Name
ST_Expand — Returns a bounding box expanded from another bounding box or a geometry.
Synopsis
geometry
ST_Expand
(
geometry
geom
, float
units_to_expand
)
;
geometry
ST_Expand
(
geometry
geom
, float
dx
, float
dy
, float
dz=0
, float
dm=0
)
;
box2d
ST_Expand
(
box2d
box
, float
units_to_expand
)
;
box2d
ST_Expand
(
box2d
box
, float
dx
, float
dy
)
;
box3d
ST_Expand
(
box3d
box
, float
units_to_expand
)
;
box3d
ST_Expand
(
box3d
box
, float
dx
, float
dy
, float
dz=0
)
;
Description
Returns a bounding box expanded from the bounding box of the input, either by specifying a single distance with which the box should be expanded on both axes, or by specifying an expansion distance for each axis. Uses double-precision. Can be used for distance queries, or to add a bounding box filter to a query to take advantage of a spatial index.
In addition to the version of ST_Expand accepting and returning a geometry, variants are provided that accept and return box2d and box3d data types.
Distances are in the units of the spatial reference system of the input.
ST_Expand is similar to ST_Buffer , except while buffering expands a geometry in all directions, ST_Expand expands the bounding box along each axis.
![]() |
|
Pre version 1.3, ST_Expand was used in conjunction with
ST_Distance
to do indexable distance queries. For example,
|
Availability: 1.5.0 behavior changed to output double precision instead of float4 coordinates.
Enhanced: 2.0.0 support for Polyhedral surfaces, Triangles and TIN was introduced.
Enhanced: 2.3.0 support was added to expand a box by different amounts in different dimensions.
This function supports Polyhedral surfaces.
This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
Examples
![]() |
|
Examples below use US National Atlas Equal Area (SRID=2163) which is a meter projection |
--10 meter expanded box around bbox of a linestring SELECT CAST(ST_Expand(ST_GeomFromText('LINESTRING(2312980 110676,2312923 110701,2312892 110714)', 2163),10) As box2d); st_expand ------------------------------------ BOX(2312882 110666,2312990 110724) --10 meter expanded 3D box of a 3D box SELECT ST_Expand(CAST('BOX3D(778783 2951741 1,794875 2970042.61545891 10)' As box3d),10) st_expand ----------------------------------------------------- BOX3D(778773 2951731 -9,794885 2970052.61545891 20) --10 meter geometry astext rep of a expand box around a point geometry SELECT ST_AsEWKT(ST_Expand(ST_GeomFromEWKT('SRID=2163;POINT(2312980 110676)'),10)); st_asewkt ------------------------------------------------------------------------------------------------- SRID=2163;POLYGON((2312970 110666,2312970 110686,2312990 110686,2312990 110666,2312970 110666))