This section describes how to create spatial values using Well-Known Text and Well-Known Binary functions that are defined in the OpenGIS standard, and using MySQL-specific functions.
MySQL provides a number of functions that take as arguments a Well-Known Text representation and, optionally, a spatial reference system identifier (SRID). They return the corresponding geometry.
GeomFromText()
accepts a WKT of
any geometry type as its first argument. An implementation
also provides type-specific construction functions for
construction of geometry values of each geometry type.
GeomCollFromText(
,wkt
[,srid
])GeometryCollectionFromText(
wkt
[,srid
])Constructs a
GEOMETRYCOLLECTION
value using its WKT representation and SRID.GeomFromText(
,wkt
[,srid
])GeometryFromText(
wkt
[,srid
])Constructs a geometry value of any type using its WKT representation and SRID.
LineFromText(
,wkt
[,srid
])LineStringFromText(
wkt
[,srid
])Constructs a
LINESTRING
value using its WKT representation and SRID.MLineFromText(
,wkt
[,srid
])MultiLineStringFromText(
wkt
[,srid
])Constructs a
MULTILINESTRING
value using its WKT representation and SRID.MPointFromText(
,wkt
[,srid
])MultiPointFromText(
wkt
[,srid
])Constructs a
MULTIPOINT
value using its WKT representation and SRID.MPolyFromText(
,wkt
[,srid
])MultiPolygonFromText(
wkt
[,srid
])Constructs a
MULTIPOLYGON
value using its WKT representation and SRID.Constructs a
POINT
value using its WKT representation and SRID.PolyFromText(
,wkt
[,srid
])PolygonFromText(
wkt
[,srid
])Constructs a
POLYGON
value using its WKT representation and SRID.
The OpenGIS specification also defines the following optional
functions, which MySQL does not implement. These functions
construct Polygon
or
MultiPolygon
values based on the WKT
representation of a collection of rings or closed
LineString
values. These values may
intersect.
Constructs a
MultiPolygon
value from aMultiLineString
value in WKT format containing an arbitrary collection of closedLineString
values.Constructs a
Polygon
value from aMultiLineString
value in WKT format containing an arbitrary collection of closedLineString
values.
MySQL provides a number of functions that take as arguments a
BLOB
containing a Well-Known
Binary representation and, optionally, a spatial reference
system identifier (SRID). They return the corresponding
geometry.
These functions also accept geometry objects for compatibility with the return value of the functions in Section 11.17.4.2.3, “Creating Geometry Values Using MySQL-Specific Functions”. Thus, those functions may be used to provide the first argument to the functions in this section.
GeomCollFromWKB(
,wkb
[,srid
])GeometryCollectionFromWKB(
wkb
[,srid
])Constructs a
GEOMETRYCOLLECTION
value using its WKB representation and SRID.GeomFromWKB(
,wkb
[,srid
])GeometryFromWKB(
wkb
[,srid
])Constructs a geometry value of any type using its WKB representation and SRID.
LineFromWKB(
,wkb
[,srid
])LineStringFromWKB(
wkb
[,srid
])Constructs a
LINESTRING
value using its WKB representation and SRID.MLineFromWKB(
,wkb
[,srid
])MultiLineStringFromWKB(
wkb
[,srid
])Constructs a
MULTILINESTRING
value using its WKB representation and SRID.MPointFromWKB(
,wkb
[,srid
])MultiPointFromWKB(
wkb
[,srid
])Constructs a
MULTIPOINT
value using its WKB representation and SRID.MPolyFromWKB(
,wkb
[,srid
])MultiPolygonFromWKB(
wkb
[,srid
])Constructs a
MULTIPOLYGON
value using its WKB representation and SRID.Constructs a
POINT
value using its WKB representation and SRID.PolyFromWKB(
,wkb
[,srid
])PolygonFromWKB(
wkb
[,srid
])Constructs a
POLYGON
value using its WKB representation and SRID.
The OpenGIS specification also describes optional functions
for constructing Polygon
or
MultiPolygon
values based on the WKB
representation of a collection of rings or closed
LineString
values. These values may
intersect. MySQL does not implement these functions:
Constructs a
MultiPolygon
value from aMultiLineString
value in WKB format containing an arbitrary collection of closedLineString
values.Constructs a
Polygon
value from aMultiLineString
value in WKB format containing an arbitrary collection of closedLineString
values.
MySQL provides a set of useful nonstandard functions for creating geometry values. The functions described in this section are MySQL extensions to the OpenGIS specification.
These functions produce geometry objects from either WKB
values or geometry objects as arguments. If any argument is
not a proper WKB or geometry representation of the proper
object type, the return value is NULL
.
For example, you can insert the geometry return value from
Point()
directly into a
Point
column:
INSERT INTO t1 (pt_col) VALUES(Point(1,2));
Constructs a
GeometryCollection
.Constructs a
LineString
value from a number ofPoint
or WKBPoint
arguments. If the number of arguments is less than two, the return value isNULL
.Constructs a
MultiLineString
value usingLineString
or WKBLineString
arguments.Constructs a
MultiPoint
value usingPoint
or WKBPoint
arguments.Constructs a
MultiPolygon
value from a set ofPolygon
or WKBPolygon
arguments.Constructs a
Point
using its coordinates.Constructs a
Polygon
value from a number ofLineString
or WKBLineString
arguments. If any argument does not represent aLinearRing
(that is, not a closed and simpleLineString
), the return value isNULL
.