The OpenGIS specification defines the following functions. They
test the relationship between two geometry values
g1
and g2
.
Currently, MySQL does not implement these functions according to
the specification. Those that are implemented return the same
result as the corresponding MBR-based functions. This includes
functions in the following list other than
Distance()
and Related()
.
These functions may be implemented in future releases with full support for spatial analysis, not just MBR-based support.
The return values 1 and 0 indicate true and false, respectively.
Returns 1 or 0 to indicate whether
g1
completely contains
g2
.
Returns 1 if g1
spatially crosses
g2
. Returns
NULL
if g1
is a
Polygon
or a
MultiPolygon
, or if
g2
is a Point
or a MultiPoint
. Otherwise, returns 0.
The term spatially crosses denotes a spatial relation between two given geometries that has the following properties:
The two geometries intersect
Their intersection results in a geometry that has a dimension that is one less than the maximum dimension of the two given geometries
Their intersection is not equal to either of the two given geometries
Returns 1 or 0 to indicate whether
g1
is spatially disjoint from
(does not intersect) g2
.
Returns as a double-precision number the shortest distance between any two points in the two geometries.
Returns 1 or 0 to indicate whether
g1
is spatially equal to
g2
.
Returns 1 or 0 to indicate whether
g1
spatially intersects
g2
.
Returns 1 or 0 to indicate whether
g1
spatially overlaps
g2
. The term spatially
overlaps is used if two geometries intersect and
their intersection results in a geometry of the same
dimension but not equal to either of the given geometries.
Returns 1 or 0 to indicate whether the spatial relationship
specified by pattern_matrix
exists between g1
and
g2
. Returns –1 if the
arguments are NULL
. The pattern matrix is
a string. Its specification will be noted here if this
function is implemented.
Returns 1 or 0 to indicate whether
g1
spatially touches
g2
. Two geometries
spatially touch if the interiors of the
geometries do not intersect, but the boundary of one of the
geometries intersects either the boundary or the interior of
the other.
Returns 1 or 0 to indicate whether
g1
is spatially within
g2
.