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