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);1
2
3
4
5
6
2
3
4
5
6
参数说明
- geom:目标 GEOMETRY 对象。
- box:目标 BOX2D/BOX3D 对象。
- units_to_expand: 扩展距离。
- dx:X 轴的扩展距离。
- dy:Y 轴的扩展距离。
- dz:Z 轴的扩展距离,可选,默认为 0。
- dm:M 轴的扩展距离,可选,默认为 0。
函数返回类型
GEOMETRY/BOX2D/BOX3D 类型
使用说明
- ST_Expand 与 ST_Buffer 类似,不同之处:ST_Buffer 在所有方向上扩展几何图形; ST_Expand 沿每个轴扩展边界框。
- 距离采用输入的空间参考系的单位。
- 该函数支持多面体曲面。
- 该函数支持三角形和不规则三角网面 (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)) |1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
