Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
测试一个几何与另一个几何是否完全相同。
geometry-expression.ST_OrderingEquals(geo2)
geo2
ST_Geometry
要与 geometry-expression 进行比较的另一个几何值。
BIT 如果两个几何值完全相等则返回 1,否则返回 0。
测试 ST_Geometry 值是否与其它 ST_Geometry 值完全相同。在 ST_OrderingEquals 下被视为相等的两个几何必须包含相同的对象层次,其中的点必须完全相同且按同一顺序排列。
ST_OrderingEquals 方法与 ST_Equals 的不同之处是该方法考虑曲线的方向。两条曲线所包含的点可能完全相同但顺序相反。ST_Equals 会将这两条曲线视为相等,而 ST_OrderingEquals 会将其视为不相等。此外,ST_OrderingEquals 要求两个几何中的每个点都完全相等,而不只是在空间参照系所指定的容差距离范围内相等。
ST_OrderingEquals 方法可定义用于比较谓语(= 和 <>)、IN 列表谓语、DISTINCT 和 GROUP BY 的语义。如果要比较两个空间值是否在空间上相等(包含相同的点集集合),则可以使用 ST_Equals 方法。
有关详细信息,请参见空间比较的工作原理。
SQL/MM 标准定义 ST_OrderingEquals 使其返回相对顺序,如果两个几何在空间上相等(根据 ST_Equals)则返回 0,如果不相等则返回 1。SQL Anywhere 实现遵循行业惯例,它与 SQL/MM 的不同之处是当其返回布尔值 1 时表示几何相等,返回 0 时表示不相等。此外,ST_OrderingEquals 实现与 SQL/MM 不同的另一个原因是它测试值是否完全相同(具有相同顺序的相同对象层次),而不是是否在空间上相等(相同的空间点集)。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.43
以下示例返回结果 [16]。与 ShapeID 结果 [16] 对应的 Shape 与指定多边形包含完全相同的点,且按完全一致的顺序排列。
16
SELECT ShapeID FROM SpatialShapes WHERE Shape.ST_OrderingEquals( NEW ST_Polygon( 'Polygon ((0 0, 2 0, 1 2, 0 0))' ) ) = 1