MySQL 提供了几个 MySQL 特定的函数来测试两个几何图形的最小边界矩形 (MBR)g1
和
g2
. 返回值 1 和 0 分别表示 true 和 false。
根据 OpenGIS 规范定义的一组相应的 MBR 函数将在本节后面描述。
返回 1 或 0 表示 的最小外接矩形是否
g1
包含 的最小外接矩形g2
。这测试相反的关系作为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()
并且Contains()
是同义词。返回 1 或 0 以指示两个几何的最小边界矩形是否
g1
不g2
相交(不相交)。MBRDisjoint()
并且Disjoint()
是同义词。返回 1 或 0 表示两个几何图形的最小外接矩形是否
g1
相同g2
。返回 1 或 0 以指示两个几何图形的最小外接矩形是否
g1
相交g2
。MBRIntersects()
并且Intersects()
是同义词。如果两个几何图形相交并且它们的相交导致具有相同维度但不等于任何给定几何图形的几何图形,则它们在 空间上重叠。
g1
此函数返回 1 或 0 以指示两个几何图形的 最小外接矩形是否g2
重叠。MBROverlaps()
并且Overlaps()
是同义词。如果两个几何体的内部不相交,但其中一个几何体的边界与另一个几何体的边界或内部相交,则 两个几何体在空间上接触。
g1
此函数返回 1 或 0 以指示两个几何图形的 最小边界矩形是否相g2
触。返回 1 或 0,表示 的最小外接矩形
g1
是否在 的最小外接矩形内g2
。这测试相反的关系作为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()
并且Within()
是同义词。
g1
OpenGIS 规范定义了以下函数,用于测试两个几何值和
之间的关系
g2
。MySQL 实现使用最小边界矩形,因此这些函数返回与本节前面描述的相应的基于 MBR 的函数相同的结果。返回值 1 和 0 分别表示 true 和 false。
MBRContains()
并且Contains()
是同义词。有关详细信息,请参阅 的说明MBRContains()
。MBRDisjoint()
并且Disjoint()
是同义词。有关详细信息,请参阅 的说明MBRDisjoint()
。返回 1 或 0 以指示
g1
在空间上是否等于g2
.MBRIntersects()
并且Intersects()
是同义词。有关详细信息,请参阅 的说明MBRIntersects()
。MBROverlaps()
并且Overlaps()
是同义词。有关详细信息,请参阅 的说明MBROverlaps()
。MBRWithin()
并且Within()
是同义词。有关详细信息,请参阅 的说明MBRWithin()
。