Spatial Operator Functions 12.17.8 Spatial Operator Functions OpenGIS proposes a number of functions that can produce geometries. They are designed to implement spatial operators. These functions support all argument type combinations except those that are inapplicable according to the Open Geospatial Consortium specification. MySQL also implements certain functions that are extensions to OpenGIS, as noted in the function descriptions. In addition, Section 12.17.7, “Geometry Property Functions” , discusses several functions that construct new geometries from existing ones. See that section for descriptions of these functions: • ST_Envelope( g ) • ST_EndPoint( ls ) • ST_StartPoint( ls ) • ST_PointN( ls ,  N ) • ST_ExteriorRing( poly ) • ST_InteriorRingN( poly ,  N ) • ST_GeometryN( gc ,  N ) 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_DATA  error occurs. •If any geometry argument is a syntactically well-formed geometry in an undefined spatial reference system (SRS), an  ER_SRS_NOT_FOUND  error occurs. •For functions that take multiple geometry arguments, if those arguments are not in the same SRS, an ER_GIS_DIFFERENT_SRIDS  error occurs. •If any geometry argument has an SRID value for a geographic SRS and the function does not handle geographic geometries, an  ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS  error occurs. •For geographic SRS geometry arguments, if any argument has 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_RANGE  error occurs ( ER_LONGITUDE_OUT_OF_RANGE prior to MySQL 8.0.12). • If a latitude value is not in the range [ − 90, 90], an  ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE error occurs ( ER_LATITUDE_OUT_OF_RANGE  prior to MySQL 8.0.12). Ranges shown are in degrees. If an SRS uses another unit, the range uses the corresponding values in its unit. The exact range limits deviate slightly due to floating-point arithmetic. •Otherwise, the return value is non- NULL . • ST_Buffer( g ,  d  [,  strategy1  [,  strategy2  [,  strategy3 ]]]) These spatial operator functions are available: 2317