Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_EXPAND

📄字数 1.0K
👁️阅读量 加载中...

功能描述

返回从输入的边界框或几何图形扩展的边界框。

语法格式

sql
GEOMETRY ST_EXPAND(GEOMETRY geom, DOUBLE units_to_expand);
GEOMETRY ST_EXPAND(GEOMETRY geom, DOUBLE dx, DOUBLE dy, DOUBLE dz=0, DOUBLE dm=0);
BOX2D ST_EXPAND(BOX2D box, DOUBLE units_to_expand);
BOX2D ST_EXPAND(BOX2D box, DOUBLE dx, DOUBLE dy);
BOX3D ST_EXPAND(BOX3D box, DOUBLE units_to_expand);
BOX3D ST_EXPAND(BOX3D box, DOUBLE dx, DOUBLE dy, DOUBLE dz=0);

参数说明

  • geom:目标 GEOMETRY 对象。
  • box:目标 BOX2D/BOX3D 对象。
  • units_to_expand: 扩展距离。
  • dx:X 轴的扩展距离。
  • dy:Y 轴的扩展距离。
  • dz:Z 轴的扩展距离,可选,默认为 0。
  • dm:M 轴的扩展距离,可选,默认为 0。

函数返回类型

GEOMETRY/BOX2D/BOX3D 类型

使用说明

  1. ST_Expand 与 ST_Buffer 类似,不同之处:ST_Buffer 在所有方向上扩展几何图形; ST_Expand 沿每个轴扩展边界框。
  2. 距离采用输入的空间参考系的单位。
  3. 该函数支持多面体曲面。
  4. 该函数支持三角形和不规则三角网面 (TIN)。

示例

示例使用美国国家地图平等面积投影(SRID=2163),投影单位:米。

sql
SQL> SELECT CAST(ST_Expand(ST_GeomFromText('LINESTRING(2312980 110676,2312923 110701,2312892 110714)', 2163),10) As box2d);

+------------------------------------+
|               EXPR1                |
+------------------------------------+
| BOX(2312882 110666,2312990 110724) |
+------------------------------------+


SQL> SELECT ST_Expand(CAST('BOX3D(778783 2951741 1,794875 2970042.61545891 10)' As box3d),10);

+-----------------------------------------------------+
|                        EXPR1                        |
+-----------------------------------------------------+
| BOX3D(778773 2951731 -9,794885 2970052.61545891 20) |
+-----------------------------------------------------+


SQL> SELECT TO_CHAR(ST_AsEWKT(ST_Expand(ST_GeomFromEWKT('SRID=2163;POINT(2312980 110676)'),10)));

+-------------------------------------------------------------------------------------------------+
|                                              EXPR1                                              |
+-------------------------------------------------------------------------------------------------+
| SRID=2163;POLYGON((2312970 110666,2312970 110686,2312990 110686,2312990 110666,2312970 110666)) |