MySQL 5.6 Reference Manual  /  ...  /  MySQL-Specific Spatial Relation Functions That Use Minimum Bounding Rectangles (MBRs)

#### 12.15.9.3 MySQL-Specific Spatial Relation Functions That Use Minimum Bounding Rectangles (MBRs)

MySQL provides several MySQL-specific functions that test relations between minimum bounding rectangles of two geometries `g1` and `g2`. The return values 1 and 0 indicate true and false, respectively.

• Returns 1 or 0 to indicate whether the minimum bounding rectangle of `g1` contains the minimum bounding rectangle of `g2`. This tests the opposite relationship as `MBRWithin()`.

``````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()` and `Contains()` are synonyms.

• Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries `g1` and `g2` are disjoint (do not intersect).

`MBRDisjoint()` and `Disjoint()` are synonyms.

• Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries `g1` and `g2` are the same.

• Returns 1 or 0 to indicate whether the minimum bounding rectangles of the two geometries `g1` and `g2` intersect.

`MBRIntersects()` and `Intersects()` 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` and `g2` overlap.

`MBROverlaps()` and `Overlaps()` 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` and `g2` touch.

• Returns 1 or 0 to indicate whether the minimum bounding rectangle of `g1` is within the minimum bounding rectangle of `g2`. This tests the opposite relationship as `MBRContains()`.

``````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()` and `Within()` are synonyms.