2.8. SQL 空间操作

以 SQL/MM 定义为例,在 SFS 中规定了以下的操作。

2.8.1. 1. 所有几何对象支持

几何对象构造

说明

ST_WKTToSQL

从 WKT 构造几何对象

ST_WKBToSQL

从 WKB 构造几何对象

几何信息获取

说明

ST_AsText

获取 WKT 描述

ST_AsBinary

获取 WKB 描述

ST_Dimension

获取维数

ST_GeometryType

获取几何类型

ST_SRID

获取空间参考 ID

ST_IsEmpty

是否为空

ST_IsSimple

是否是简单对象

ST_Boundary

获取边界

ST_Envelope

获取矩形范围

空间关系判断

说明

ST_Equals

image0

ST_Disjoint

image1

ST_Intersects

任意部分有相交,等价于判断空间关系的 DE-9IM 字符串表达是否是以下之一:

T********

*T*******

***T*****

****T****

ST_Touches

image2

ST_Crosses

image3

ST_Within

image4

ST_Contains

image5

ST_Overlaps

image6

ST_Relate

判断是否满足 DE-9IM 字符串表达关系

距离计算

说明

ST_Distance

几何对象间的最短距离

几何运算

说明

ST_Intersection

image7

ST_Difference

image8

ST_Union

image9

ST_SymDifference

image10

ST_Buffer

image11

ST_ConvexHull

image12

2.8.2. 2. Point 对象支持

SQL 操作

说明

ST_X

获取 X 值

ST_Y

获取 Y 值

ST_Z

获取 Z 值

ST_M

获取 M 值

2.8.3. 3. Curve 对象支持

SQL 操作

说明

ST_StartPoint

获取起始点

ST_EndPoint

获取终点

ST_IsRing

是否是环

ST_Length

获取长度

2.8.4. 4. LineString 对象支持

SQL 操作

说明

ST_NumPoints

节点数

ST_PointN

获取第 n 个节点

2.8.5. 5. Surface 对象支持

SQL 操作

说明

ST_Centroid

获取中心点

ST_PointOnSurface

获取面上一点

ST_Area

获取面积

2.8.6. 6. Polygon 对象支持

SQL 操作

说明

ST_ExteriorRing

获取外环

ST_NumInteriorRing

获取内环数

ST_InteriorRingN

获取第 n 个内环

2.8.7. 7. GeomCollection 对象支持

SQL 操作

说明

ST_NumGeometries

获取几何对象数

ST_GeometryN

获取第 n 个几何对象

2.8.8. 8. MultiCurve 对象支持

SQL 操作

说明

ST_IsClosed

是否闭合

ST_Length

获取长度

2.8.9. 9. MultiSurface 对象支持

SQL 操作

说明

ST_Centroid

获取中心点

ST_PointOnSurface

获取面上一点

ST_Area

获取面积