14.16.5 MySQL 中创建几何值的特定函数
MySQL 提供了一组有用的非标准函数来创建几何值。以下所述的函数是 MySQL 对 OpenGIS 规范的扩展。
这些函数从 WKB 值或几何对象作为参数生产几何对象。如果任何参数不是合法的 WKB 或几何表示形式的合法对象类型,返回值为 NULL
。
例如,您可以将 Point()
函数的返回值直接插入到 POINT
列中:
INSERT INTO t1 (pt_col) VALUES(Point(1,2));
-
从几何参数构造一个
GeomCollection
值。GeomCollection()
返回所有合法的几何对象,即使存在非支持的几何对象。GeomCollection()
没有参数是允许创建一个空 geometry 的一种方式。同时,函数如ST_GeomFromText()
可以接受 WKT几何集合参数,并理解 OpenGIS 标准语法'GEOMETRYCOLLECTION EMPTY'
和 MySQL 非标准语法'GEOMETRYCOLLECTION()'
。GeomCollection()
和GeometryCollection()
是同义词,GeomCollection()
是推荐函数。 -
GeometryCollection(
g
[,g
] ...)从几何参数构造一个
GeomCollection
值。GeometryCollection()
将所有包含在参数中的合法几何体返回,即使存在非支持的几何体。GeometryCollection()
没有参数时允许创建一个空 geometry。同时,接受 WKT 几何集合参数的函数,如ST_GeomFromText()
,都理解 OpenGIS 标准语法'GEOMETRYCOLLECTION EMPTY'
和 MySQL 非标准语法'GEOMETRYCOLLECTION()'
。GeomCollection()
和GeometryCollection()
是同义词,GeomCollection()
是推荐的函数。 -
从多个点或WKB点构造一个 LineString 值。如果参数数量少于两个,返回值为 NULL。
-
MultiLineString(
ls
[,ls
] ...)使用 LineString 或 WKB LineString 参数构造一个 MultiLineString 值。
-
从多个点或WKB点构造一个 MultiPoint 值。
-
MultiPolygon(
poly
[,poly
] ...)从一组
Polygon
或WKBPolygon
参数构造一个MultiPolygon
值。 -
使用坐标构造一个
Point
。 -
从一组
LineString
或WKBLineString
参数构造一个Polygon
值。如果任何参数不代表一个LinearRing
(即不是一个封闭和简单的LineString
),则返回值为NULL
。