Name

ValidateTopology — 返回一组validatetopology_returtype对象,这些对象详细说明了拓扑问题。

Synopsis

setof validatetopology_returntype ValidateTopology ( varchar toponame , geometry bbox ) ;

描述

返回一组 validatetopology_returntype 对象详细说明拓扑问题,可以选择将检查限制在 bbox 参数。

可能的错误列表、它们的含义以及返回的ID表示的含义如下所示:

误差率 Id1 ID2 含义
重合节点 第一个节点的标识符。 第二个节点的标识符。 两个节点具有相同的几何体。
边交叉节点 边的标识符。 节点的标识符。 边的内部有一个节点。看见 ST_Relate
无效边 边的标识符。 边几何图形无效。看见 ST_IsValid
边缘不简单 边的标识符。 边几何图形具有自交点。看见 ST_IsSimple
边与边相交 第一条边的标识符。 第二条边的标识符。 两条边有一个内部交点。看见 ST_Relate
边起始节点几何图形不匹配 边的标识符。 指示的开始节点的标识符。 指示为边的起始节点的节点的几何图形与边几何图形的第一个点不匹配。看见 ST_StartPoint
边端节点几何不匹配 边的标识符。 指示的端节点的标识符。 指示为边的结束节点的节点的几何图形与边几何图形的最后一点不匹配。看见 ST_EndPoint
面无边 孤立的面的标识符。 无边报告其两侧的现有面(Left_Face、Right_Face)。
脸没有戒指 部分定义的面的标识符。 报告其侧面的面的边不形成环。
Face的MBR错误 具有错误MBR缓存的面部的标识符。 面的最小边界矩形与报告其侧面的面的边集合的最小边界框不匹配。
不是广告上的脸上的洞 边的带符号的标识符,用于标识环。看见 GetRingEdges 在其外部报告一个面的一环边包含在不同的面中。
非隔离节点具有不包含面 定义错误的节点的标识符。 报告为位于一条或多条边的边界上的节点表示包含面。
隔离节点具有包含面 定义错误的节点的标识符。 没有报告为位于任何边的边界上的节点缺少包含面的指示。
孤立节点具有错误的包含面 错误表示的节点的标识符。 未报告为位于任何边的边界上的节点表示包含面,而不是包含该节点的实际面。看见 GetFaceContainingPoint
NEXT_RIGHT_EDGE无效 错误表示的边的标识符。 应指示为下一个右边缘的边的有符号ID。 指示为在某条边的右侧行走的下一条边遇到的边是错误的。
NEXT_LEFT_EDGE无效 错误表示的边的标识符。 应指示为下一个左边缘的边缘的有符号ID。 指示为在边的左侧行走的下一条边遇到的边是错误的。
环上的混合人脸标号 边的带符号的标识符,用于标识环。看见 GetRingEdges 环中的边表示行走侧的冲突面。这也被称为“边位冲突”。
非闭合环 边的带符号的标识符,用于标识环。看见 GetRingEdges 通过跟随Next_Left_Edge/Next_Right_Edge属性形成的边环在不同的节点上开始和结束。
脸有多个贝壳 争用的面的标识符。 边的带符号的标识符,用于标识环。看见 GetRingEdges 不止一环的边表示其内部的同一个面。

可用性:1.0.0

增强:2.0.0更高效的边缘交叉检测,并修复了以前版本中存在的假阳性。

已更改:已将id1和id2的2.2.0值交换为‘Edge cross node’,以与错误描述一致。

更改:3.2.0增加了可选的BBox参数,执行面标签和边缘链接检查。

示例

SELECT * FROM  topology.ValidateTopology('ma_topo');
      error        | id1 | id2
-------------------+-----+-----
face without edges |   1 |
                                

另请参阅

validatetopology_returntype , Topology_Load_Tiger