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。