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 对多面体曲面、三角形和三角网的支持。
增强: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))