第19章: MySQL中的空间扩展 / 19.5. 分析空间信息 / 19.5.6. 测试几何类之间空间关系的函数

OpenGIS规范定义了下述函数。目前在MySQL尚未按照规范实施它们。对于那些已实施的函数,它们返回的结果与对应的基于MBR的函数返回的相同。包括下面列出的函数,但Distance()Related()除外。

在未来的版本中,可能会实施这些函数,为空间分析提供全部支持,而不仅仅是基于MBR的支持。

这些函数作用在2个几何值g1g2上。

  • Contains(g1,g2)

    返回10以指明g1是否完全包含g2

  • Crosses(g1,g2)

    如果g1在空间上与g2相交,返回1。如果g1为PolygonMultiPolygon,返回NULL,或如果g2PointMultiPoint返回NULL。否则,返回0。

    术语“空间上交叉”指的是2个给定几何对象之间的空间关系,它具有下述属性:

    o        2个结合对象交叉。

    o        其交叉结果将导致其维数小于两个给定几何对象最大维数的几何对象。

    o        其交叉不等于两个几何对象中的任何1个。

  • Disjoint(g1,g2)

    返回10以指明g1是否与g2从空间上不相交。

  • Distance(g1,g2)

    以双精度数值形式返回2个几何对象中2点间的最短距离。

  • Equals(g1,g2)

    返回10以指明g1是否从空间上等同于g2

  • Intersects(g1,g2)

    返回10以指明g1是否从空间上与g2相交。

  • Overlaps(g1,g2)

    返回10以指明g1是否从空间上与g2交迭。如果2个几何对象交叉而且其交叉将导致具有相同维数但并不等同于任一几何对象的几何对象,将使用术语“空间交迭”。

  • Related(g1,g2,pattern_matrix)

    返回10以指明由pattern_matrix指定的空间关系是否在g1g2间存在。如果参量为NULL返回-1。模式矩形为字符串。如果实施了该函数,其规范将在此给出。

  • Touches(g1,g2)

    返回10以指明g1是否从空间上与g2接触。如果几何对象的内部不交叉,但1个几何对象的边界与另一个的边界或内部交叉,这两个几何对象是从空间上接触的。

  • Within(g1,g2)

    返回10以指明g1是否从空间上位于g2内。