ST_Expand — Returnerar en bounding box som expanderats från en annan bounding box eller en geometri.
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)
;
Returnerar en bounding box som expanderats från indatans bounding box, antingen genom att ange ett enda avstånd med vilket boxen ska expanderas på båda axlarna, eller genom att ange ett expansionsavstånd för varje axel. Använder dubbel precision. Kan användas för avståndsfrågor eller för att lägga till ett bounding box-filter i en fråga för att dra nytta av ett spatialt index.
Förutom den version av ST_Expand som accepterar och returnerar en geometri, finns det varianter som accepterar och returnerar datatyperna box2d och box3d.
Avstånden anges i enheterna i det spatiala referenssystemet för inmatningen.
ST_Expand liknar ST_Buffer, men medan buffring expanderar en geometri i alla riktningar, expanderar ST_Expand den avgränsande rutan längs varje axel.
![]() |
|
Före version 1.3 användes ST_Expand tillsammans med ST_Distance för att göra indexerbara avståndsfrågor. Till exempel |
Tillgänglighet: 1.5.0 ändrat beteende för att mata ut dubbel precision istället för float4-koordinater.
Förbättrad: 2.0.0 stöd för polyhedrala ytor, trianglar och TIN infördes.
Förbättrad: 2.3.0 stöd har lagts till för att expandera en ruta med olika belopp i olika dimensioner.
Denna funktion stöder polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
![]() |
|
Exemplen nedan använder US National Atlas Equal Area (SRID=2163) som är en meterprojektion |
--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))