mysql ST_BUFFER
时间: 2023-10-21 10:21:03 浏览: 274
MySQL中的ST_BUFFER函数用于创建一个圆形缓冲区(buffer)或多边形缓冲区(polygon buffer)。它接受一个几何对象和一个缓冲区半径作为参数,并返回一个新的几何对象,该对象是在原始几何对象周围创建的缓冲区。
下面是ST_BUFFER函数的语法:
```
ST_BUFFER(g, radius)
```
其中,`g`是一个几何对象(点、线或多边形),`radius`是缓冲区半径。
以下是一些示例:
1. 创建点的缓冲区:
```sql
SELECT ST_BUFFER(ST_POINT(0, 0), 5);
```
这将创建一个以坐标(0, 0)为中心,半径为5的圆形缓冲区。
2. 创建线的缓冲区:
```sql
SELECT ST_BUFFER(ST_LINESTRING(0, 0, 1, 1), 2);
```
这将创建一条线的缓冲区,以线段`(0, 0)`到`(1, 1)`为基础,半径为2。
3. 创建多边形的缓冲区:
```sql
SELECT ST_BUFFER(ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), 1);
```
这将创建一个多边形的缓冲区,以顶点`(0, 0)`、`(0, 1)`、`(1, 1)`、`(1, 0)`、`(0, 0)`为基础,半径为1。
请注意,以上示例中的ST_POINT、ST_LINESTRING和ST_GEOMFROMTEXT函数用于创建几何对象,这些函数是MySQL的空间扩展函数(Spatial Extensions)。在使用ST_BUFFER函数之前,您需要确保已启用MySQL的空间扩展功能。
阅读全文