ST_Expand — 傳回從另一個邊界框或幾何擴展的邊界框。
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)
;
傳回從輸入的邊界框擴展的邊界框,可以指定一個單一距離,該框應在兩個軸上擴展,也可以為每個軸指定擴展距離。使用雙精度。可用於距離查詢,或將邊界框篩選器新增至查詢以利用空間索引。
除了接受和傳回幾何的版本之外,ST_Expand 還提供了接受和傳回 box2d 和 box3d 資料類型的變體。
距離單位與輸入的空間參考系統單位相同。
ST_Expand 與 ST_Buffer 類似,不同之處在於緩衝會向所有方向擴展幾何,而 ST_Expand 則會沿每個軸擴展邊界框。
![]() |
|
在 1.3 版之前,ST_Expand 與 ST_Distance 結合使用來執行可索引的距離查詢。例如, |
可用性:1.5.0 行為已變更為輸出雙精度而不是 float4 座標。
增強功能:2.0.0 引入了對多面體表面、三角形和 TIN 的支援。
增強功能:2.3.0 新增了對在不同維度中以不同數量擴展盒子的支援。
此函數支援多面體表面。
此函數支援三角形和三角不規則網路表面 (TIN)。
![]() |
|
以下範例使用美國國家地圖集等面積 (SRID=2163),這是一個公尺投影 |
--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))