The functions listed in this section do not restrict their argument and accept a geometry value of any type.
Unless otherwise specified, functions in this section handle their geometry arguments as follows:
- If any argument is - NULL, the return value is- NULL.
- If any geometry argument is not a syntactically well-formed geometry, an - ER_GIS_INVALID_DATAerror occurs.
- If any geometry argument is a syntactically well-formed geometry in an undefined spatial reference system (SRS), an - ER_SRS_NOT_FOUNDerror occurs.
- If any SRID argument is not within the range of a 32-bit unsigned integer, an - ER_DATA_OUT_OF_RANGEerror occurs.
- If any SRID argument refers to an undefined SRS, an - ER_SRS_NOT_FOUNDerror occurs.
- Otherwise, the return value is non- - NULL.
These functions are available for obtaining geometry properties:
- Returns the inherent dimension of the geometry value - g. The dimension can be −1, 0, 1, or 2. The meaning of these values is given in Section 13.4.2.2, “Geometry Class”.- ST_Dimension()handles its arguments as described in the introduction to this section.- mysql> SELECT ST_Dimension(ST_GeomFromText('LineString(1 1,2 2)')); +------------------------------------------------------+ | ST_Dimension(ST_GeomFromText('LineString(1 1,2 2)')) | +------------------------------------------------------+ | 1 | +------------------------------------------------------+
- Returns the minimum bounding rectangle (MBR) for the geometry value - g. The result is returned as a- Polygonvalue that is defined by the corner points of the bounding box:- 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)) | +----------------------------------------------------------------+- If the argument is a point or a vertical or horizontal line segment, - ST_Envelope()returns the point or the line segment as its MBR rather than returning an invalid polygon:- 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()handles its arguments as described in the introduction to this section, with this exception:- If the geometry has an SRID value for a geographic spatial reference system (SRS), an - ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRSerror occurs.
 
- Returns a binary string indicating the name of the geometry type of which the geometry instance - gis a member. The name corresponds to one of the instantiable- Geometrysubclasses.- ST_GeometryType()handles its arguments as described in the introduction to this section.- mysql> SELECT ST_GeometryType(ST_GeomFromText('POINT(1 1)')); +------------------------------------------------+ | ST_GeometryType(ST_GeomFromText('POINT(1 1)')) | +------------------------------------------------+ | POINT | +------------------------------------------------+
- This function is a placeholder that returns 1 for an empty geometry collection value or 0 otherwise. - The only valid empty geometry is represented in the form of an empty geometry collection value. MySQL does not support GIS - EMPTYvalues such as- POINT EMPTY.- ST_IsEmpty()handles its arguments as described in the introduction to this section.
- Returns 1 if the geometry value - gis simple according to the ISO SQL/MM Part 3: Spatial standard.- ST_IsSimple()returns 0 if the argument is not simple.- The descriptions of the instantiable geometric classes given under Section 13.4.2, “The OpenGIS Geometry Model” include the specific conditions that cause class instances to be classified as not simple. - ST_IsSimple()handles its arguments as described in the introduction to this section, with this exception:- If the geometry has a geographic SRS with a longitude or latitude that is out of range, an error occurs: - If a longitude value is not in the range (−180, 180], an - ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGEerror occurs.
- If a latitude value is not in the range [−90, 90], an - ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGEerror occurs.
 - Ranges shown are in degrees. The exact range limits deviate slightly due to floating-point arithmetic. 
 
- With a single argument representing a valid geometry object - g,- ST_SRID()returns an integer indicating the ID of the spatial reference system (SRS) associated with- g.- With the optional second argument representing a valid SRID value, - ST_SRID()returns an object with the same type as its first argument with an SRID value equal to the second argument. This only sets the SRID value of the object; it does not perform any transformation of coordinate values.- ST_SRID()handles its arguments as described in the introduction to this section, with this exception:- For the single-argument syntax, - ST_SRID()returns the geometry SRID even if it refers to an undefined SRS. An- ER_SRS_NOT_FOUNDerror does not occur.
 - ST_SRID(and- g,- target_srid)- ST_Transform(differ as follows:- g,- target_srid)- ST_SRID()changes the geometry SRID value without transforming its coordinates.
- ST_Transform()transforms the geometry coordinates in addition to changing its SRID value.
 - mysql> SET @g = ST_GeomFromText('LineString(1 1,2 2)', 0); mysql> SELECT ST_SRID(@g); +-------------+ | ST_SRID(@g) | +-------------+ | 0 | +-------------+ mysql> SET @g = ST_SRID(@g, 4326); mysql> SELECT ST_SRID(@g); +-------------+ | ST_SRID(@g) | +-------------+ | 4326 | +-------------+- It is possible to create a geometry in a particular SRID by passing to - ST_SRID()the result of one of the MySQL-specific functions for creating spatial values, along with an SRID value. For example:- SET @g1 = ST_SRID(Point(1, 1), 4326);- However, that method creates the geometry in SRID 0, then casts it to SRID 4326 (WGS 84). A preferable alternative is to create the geometry with the correct spatial reference system to begin with. For example: - SET @g1 = ST_PointFromText('POINT(1 1)', 4326); SET @g1 = ST_GeomFromText('POINT(1 1)', 4326);- The two-argument form of - ST_SRID()is useful for tasks such as correcting or changing the SRS of geometries that have an incorrect SRID.