12.16.7.1 通用几何属性函数

本节中列出的函数不限制其参数,并且接受任何类型的几何值。

Dimension(g)

ST_Dimension()Dimension()是同义词。有关更多信息,请参见ST_Dimension()的描述。

Dimension()已过时,将在以后的 MySQL 版本中删除。请改用ST_Dimension()

Envelope(g)

ST_Envelope()Envelope()是同义词。有关更多信息,请参见ST_Envelope()的描述。

Envelope()已过时,将在以后的 MySQL 版本中删除。请改用ST_Envelope()

GeometryType(g)

ST_GeometryType()GeometryType()是同义词。有关更多信息,请参见ST_GeometryType()的描述。

GeometryType()已过时,将在以后的 MySQL 版本中删除。请改用ST_GeometryType()

IsEmpty(g)

ST_IsEmpty()IsEmpty()是同义词。有关更多信息,请参见ST_IsEmpty()的描述。

IsEmpty()已过时,将在以后的 MySQL 版本中删除。请改用ST_IsEmpty()

IsSimple(g)

ST_IsSimple()IsSimple()是同义词。有关更多信息,请参见ST_IsSimple()的描述。

IsSimple()已过时,将在以后的 MySQL 版本中删除。请改用ST_IsSimple()

SRID(g)

ST_SRID()SRID()是同义词。有关更多信息,请参见ST_SRID()的描述。

SRID()已过时,将在以后的 MySQL 版本中删除。请改用ST_SRID()

ST_Dimension(g)

返回几何值* g *的固有尺寸,如果参数为NULL则返回NULL。维度可以是-1、0、1 或 2.这些值的含义在第 11.4.2.2 节“几何类”中给出。

mysql> SELECT ST_Dimension(ST_GeomFromText('LineString(1 1,2 2)'));
+------------------------------------------------------+
| ST_Dimension(ST_GeomFromText('LineString(1 1,2 2)')) |
+------------------------------------------------------+
|                                                    1 |
+------------------------------------------------------+

ST_Dimension()Dimension()是同义词。

ST_Envelope(g)

返回几何值* g *的最小边界矩形(MBR);如果参数为NULL,则返回NULL。结果以Polygon值的形式返回,该值由边界框的角点定义:

POLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
mysql> SELECT ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,2 2)')));
+----------------------------------------------------------------+
| ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,2 2)'))) |
+----------------------------------------------------------------+
| POLYGON((1 1,2 1,2 2,1 2,1 1))                                 |
+----------------------------------------------------------------+

如果参数是点或垂直或水平线段,则ST_Envelope()将点或线段作为其 MBR 返回,而不是返回无效的多边形:

mysql> SELECT ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,1 2)')));
+----------------------------------------------------------------+
| ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,1 2)'))) |
+----------------------------------------------------------------+
| LINESTRING(1 1,1 2)                                            |
+----------------------------------------------------------------+

ST_Envelope()Envelope()是同义词。

ST_GeometryType(g)

返回一个二进制字符串,该字符串指示几何实例* g *是其成员的几何类型的名称;如果参数为NULL则返回NULL。该名称对应于可实例化的Geometry子类之一。

mysql> SELECT ST_GeometryType(ST_GeomFromText('POINT(1 1)'));
+------------------------------------------------+
| ST_GeometryType(ST_GeomFromText('POINT(1 1)')) |
+------------------------------------------------+
| POINT                                          |
+------------------------------------------------+

ST_GeometryType()GeometryType()是同义词。

ST_IsEmpty(g)

此函数是一个占位符,对于任何有效的几何值,返回 0;对于任何无效的几何值,返回 1;如果参数为NULL,则返回NULL

MySQL 不支持 GIS EMPTY值,例如POINT EMPTY

ST_IsEmpty()IsEmpty()是同义词。

ST_IsSimple(g)

如果几何值* g *没有异常的几何点(例如自相交或自相切),则返回 1.如果参数不简单,则ST_IsSimple()返回 0,如果参数是NULL则返回NULL

第 11.4.2 节“ OpenGIS 几何模型”下给出的可实例化几何类别的描述包括使类别实例分类为不简单的特定条件。

ST_IsSimple()IsSimple()是同义词。

ST_SRID(g)

返回一个整数,该整数指示与几何值* g *关联的空间参考系统 ID;如果参数为NULL,则返回NULL

mysql> SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101));
+-----------------------------------------------------+
| ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)) |
+-----------------------------------------------------+
|                                                 101 |
+-----------------------------------------------------+

ST_SRID()SRID()是同义词。