MySQL provides several MySQL-specific functions that test the
relationship between minimum bounding rectangles (MBRs) of two
geometries g1
and
g2
. The return values 1 and 0
indicate true and false, respectively.
A corresponding set of MBR functions defined according to the OpenGIS specification is described later in this section.
Returns 1 or 0 to indicate whether the minimum bounding rectangle of
g1
contains the minimum bounding rectangle ofg2
. This tests the opposite relationship asMBRWithin()
.mysql> SET @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = ST_GeomFromText('Point(1 1)'); mysql> SELECT MBRContains(@g1,@g2), MBRWithin(@g2,@g1); +----------------------+--------------------+ | MBRContains(@g1,@g2) | MBRWithin(@g2,@g1) | +----------------------+--------------------+ | 1 | 1 | +----------------------+--------------------+
MBRContains()
andContains()
are synonyms.Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries
g1
andg2
are disjoint (do not intersect).MBRDisjoint()
andDisjoint()
are synonyms.Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries
g1
andg2
are the same.Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries
g1
andg2
intersect.MBRIntersects()
andIntersects()
are synonyms.Two geometries spatially overlap if they intersect and their intersection results in a geometry of the same dimension but not equal to either of the given geometries.
This function returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries
g1
andg2
overlap.MBROverlaps()
andOverlaps()
are synonyms.Two geometries spatially touch if their interiors do not intersect, but the boundary of one of the geometries intersects either the boundary or the interior of the other.
This function returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries
g1
andg2
touch.Returns 1 or 0 to indicate whether the minimum bounding rectangle of
g1
is within the minimum bounding rectangle ofg2
. This tests the opposite relationship asMBRContains()
.mysql> SET @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); mysql> SET @g2 = ST_GeomFromText('Polygon((0 0,0 5,5 5,5 0,0 0))'); mysql> SELECT MBRWithin(@g1,@g2), MBRWithin(@g2,@g1); +--------------------+--------------------+ | MBRWithin(@g1,@g2) | MBRWithin(@g2,@g1) | +--------------------+--------------------+ | 1 | 0 | +--------------------+--------------------+
MBRWithin()
andWithin()
are synonyms.
The OpenGIS specification defines the following functions that
test the relationship between two geometry values
g1
and g2
.
The MySQL implementation uses minimum bounding rectangles, so
these functions return the same result as the corresponding
MBR-based functions described earlier in this section. The
return values 1 and 0 indicate true and false, respectively.
MBRContains()
andContains()
are synonyms. For more information, see the description ofMBRContains()
.MBRDisjoint()
andDisjoint()
are synonyms. For more information, see the description ofMBRDisjoint()
.Returns 1 or 0 to indicate whether
g1
is spatially equal tog2
.MBRIntersects()
andIntersects()
are synonyms. For more information, see the description ofMBRIntersects()
.MBROverlaps()
andOverlaps()
are synonyms. For more information, see the description ofMBROverlaps()
.MBRWithin()
andWithin()
are synonyms. For more information, see the description ofMBRWithin()
.