Documentation Home

12.17.9.1 使用对象形状的空间关系函数

OpenGIS 规范定义了以下函数,使用精确的对象形状来测试两个几何值g1和 之间的关系 。g2返回值 1 和 0 分别表示 true 和 false,除了 ST_Distance()返回距离值的 。

  • ST_Contains(g1, g2)

    返回 1 或 0 表示是否 g1完全包含 g2. 这测试相反的关系作为ST_Within()

  • Crosses(g1, g2)

    ST_Crosses()并且 Crosses()是同义词。有关详细信息,请参阅 的说明 ST_Crosses()

  • ST_Crosses(g1, g2)

    术语空间交叉表示具有以下属性的两个给定几何之间的空间关系:

    • 这两个几何相交。

    • 它们的交集导致几何尺寸比两个给定几何尺寸的最大尺寸小一维。

    • 它们的交集不等于两个给定的几何图形中的任何一个。

    此函数返回 1 或 0 以指示是否在 g1空间上交叉 g2。如果 g1是 a Polygon或 a MultiPolygon,或者如果 g2是 aPoint 或 a MultiPoint,则返回值为 NULL

    ST_Crosses()并且 Crosses()是同义词。

  • ST_Disjoint(g1, g2)

    返回 1 或 0 以指示 g1在空间上是否与(不相交)不相交g2

  • ST_Distance(g1, g2)

    g1 返回和 之间的距离g2

    mysql> SET @g1 = Point(1,1);
    mysql> SET @g2 = Point(2,2);
    mysql> SELECT ST_Distance(@g1, @g2);
    +-----------------------+
    | ST_Distance(@g1, @g2) |
    +-----------------------+
    |    1.4142135623730951 |
    +-----------------------+
  • ST_Equals(g1, g2)

    返回 1 或 0 以指示 g1在空间上是否等于 g2.

    mysql> SET @g1 = Point(1,1), @g2 = Point(2,2);
    mysql> SELECT ST_Equals(@g1, @g1), ST_Equals(@g1, @g2);
    +---------------------+---------------------+
    | ST_Equals(@g1, @g1) | ST_Equals(@g1, @g2) |
    +---------------------+---------------------+
    |                   1 |                   0 |
    +---------------------+---------------------+
  • ST_Intersects(g1, g2)

    返回 1 或 0 以指示是否在 g1空间上相交 g2

  • ST_Overlaps(g1, g2)

    如果两个几何图形相交并且它们的相交导致具有相同维度但不等于任何给定几何图形的几何图形,则它们在 空间上重叠。

    此函数返回 1 或 0 以指示是否在 g1空间上重叠 g2

  • ST_Touches(g1, g2)

    如果两个几何体的内部不相交,但其中一个几何体的边界与另一个几何体的边界或内部相交,则 两个几何体在空间上接触。

    此函数返回 1 或 0 以指示是否在 g1空间上接触 g2

    ST_Touches()并且 Touches()是同义词。

  • ST_Within(g1, g2)

    返回 1 或 0 以指示是否 g1在空间范围内 g2。这测试相反的关系作为 ST_Contains()

  • Touches(g1, g2)

    ST_Touches()并且 Touches()是同义词。有关详细信息,请参阅 的说明 ST_Touches()