MySQL には、2 つの幾何図形
g1
、g2
の最小外接矩形間の関係をテストする関数がいくつか用意されます。戻り値
1 と 0 はそれぞれ true と false を示します。
g1
の最小外接矩形が
g2
の最小外接矩形を含んでいるかどうかを示す、1
または 0
を返します。これは、MBRWithin()
とは逆の関係をテストします。
mysql>SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');
mysql>SET @g2 = GeomFromText('Point(1 1)');
mysql>SELECT MBRContains(@g1,@g2), MBRContains(@g2,@g1);
----------------------+----------------------+ | MBRContains(@g1,@g2) | MBRContains(@g2,@g1) | +----------------------+----------------------+ | 1 | 0 | +----------------------+----------------------+
2 つの幾何図形
g1
、g2
の最小外接矩形が離れている
(交差していない) かどうかを示す、1
または 0 を返します。
2 つの幾何図形
g1
、g2
の最小外接矩形が同じかどうかを示す、1
または 0 を返します。
2 つの幾何図形
g1
、g2
の最小外接矩形が交差しているかどうかを示す、1
または 0 を返します。
2 つの幾何図形
g1
、g2
の最小外接矩形がオーバーラップしているかどうかを示す、1
または 0
を返します。「空間的にオーバーラップする」という用語が使用されるのは、2
つの幾何図形が交差しており、かつその交差の結果となる幾何図形がその指定された幾何図形と同じ次元を持つが、そのどちらとも等しくならないような場合です。
2 つの幾何図形
g1
、g2
の最小外接矩形が接しているかどうかを示す、1
または 0 を返します。2
つの幾何図形が「空間的に接している」のは、幾何図形の内部は交差していないが、その一方の境界が他方の境界、内部のいずれかと交差しているような場合です。
g1
の最小外接矩形が
g2
の最小外接矩形に含まれているかどうかを示す、1
または 0
を返します。これは、MBRContains()
とは逆の関係をテストします。
mysql>SET @g1 = GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');
mysql>SET @g2 = 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 | +--------------------+--------------------+