MariaDB ST_INTERSECTS() 函数的基础用法与实例
MariaDB ST_INTERSECTS()
函数用来测试两个几何对象是否相交。
发布于
MariaDB ST_INTERSECTS()
函数用来测试两个几何对象是否相交。该函数常用于空间查询和空间分析中。
语法
MairaDB ST_INTERSECTS()
函数的语法如下:
ST_INTERSECTS(g1, g2)
g1
:必选参数,代表第一个几何对象。g2
:必选参数,代表第二个几何对象。
如果两个几何对象相交,则函数返回 1;如果两个几何对象不相交,则返回 0。如果输入的任意参数为 NULL,则函数也返回 NULL。
实例
测试两个点对象是否相交
此实例演示测试两个点对象是否相交。
SET @pt1 = ST_GeomFromText('POINT(1 1)');
SET @pt2 = ST_GeomFromText('POINT(1 1)');
SELECT ST_INTERSECTS(@pt1, @pt2);
以下是该语句的输出:
+---------------------------+
| ST_INTERSECTS(@pt1, @pt2) |
+---------------------------+
| 1 |
+---------------------------+
测试线和多边形是否相交
此实例演示测试一条线与一个多边形是否相交。
SET @ln = ST_GeomFromText('LINESTRING(0 0, 4 4)');
SET @poly = ST_GeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))');
SELECT ST_INTERSECTS(@ln, @poly);
以下是该语句的输出:
+---------------------------+
| ST_INTERSECTS(@ln, @poly) |
+---------------------------+
| 1 |
+---------------------------+
测试两个相交的多边形是否相交
此实例演示测试两个相交的多边形是否相交。
SET @poly1 = ST_GeomFromText('POLYGON((0 0, 4 0, 4 4, 0 4, 0 0))');
SET @poly2 = ST_GeomFromText('POLYGON((2 2, 6 2, 6 6, 2 6, 2 2))');
SELECT ST_INTERSECTS(@poly1, @poly2);
以下是该语句的输出:
+-------------------------------+
| ST_INTERSECTS(@poly1, @poly2) |
+-------------------------------+
| 1 |
+-------------------------------+
测试两个不相交的多边形是否相交
此实例演示测试两个不相交的多边形是否相交。
SET @poly1 = ST_GeomFromText('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))');
SET @poly2 = ST_GeomFromText('POLYGON((3 3, 5 3, 5 5, 3 5, 3 3))');
SELECT ST_INTERSECTS(@poly1, @poly2);
以下是该语句的输出:
+-------------------------------+
| ST_INTERSECTS(@poly1, @poly2) |
+-------------------------------+
| 0 |
+-------------------------------+
测试一个多边形和一个 GeometryCollection 对象是否相交
此实例演示测试一个多边形与一个 GeometryCollection 对象是否相交。
SET @poly = ST_GeomFromText('POLYGON((0 0, 4 0, 4 4, 0 4, 0 0))');
SET @gc = ST_GeomFromText('GEOMETRYCOLLECTION(POINT(2 2),LINESTRING(1 1, 3 3))');
SELECT ST_INTERSECTS(@poly, @gc);
以下是该语句的输出:
+---------------------------+
| ST_INTERSECTS(@poly, @gc) |
+---------------------------+
| 1 |
+---------------------------+
相关函数
以下是几个与 MairaDB ST_INTERSECTS()
相关的几个函数:
- MariaDB
ST_INTERSECTION()
函数用来返回两个几何对象的交集。 - MariaDB
ST_Contains()
函数用来测试一个几何对象是否完全包含另一个几何对象。 - MariaDB
ST_Within()
函数用来测试一个几何对象是否完全包含在另一个几何对象中。
结论
MariaDB ST_INTERSECTS()
函数是一个非常有用的函数,它允许我们测试两个几何对象是否相交。通过本文的实例,我们更好地理解了如何使用这个函数,以及它的作用和用法。需要注意的是,在使用该函数时,需要确保输入的几何对象是有效的,否则可能会导致函数返回 NULL 或者出现错误。此外,该函数还可以与其他几何运算函数结合使用,以实现更加复杂的空间分析和计算。