名称

ValidateTopology — 返回一组 validatetopology_returntype 对象,详细说明拓扑问题。

语法

setof validatetopology_returntype ValidateTopology(varchar toponame, geometry bbox);

描述

返回一组 validatetopology_returntype 对象,详细说明拓扑问题,还可以将检查限制在由 bbox 参数指定区域。

下面显示了可能错误的列表、它们的意思以及返回的 ID 代表什么

错误id1id2含义
重合节点第一个节点的标识符。第二个节点的标识符。 两个节点具有相同的几何形状。
边线交叉节点边的标识符。节点的标识符。 边线在其内部有一个节点。请参阅 ST_Relate
无效边线边的标识符。  边线几何形状无效。请参阅 ST_IsValid
边线不简单边的标识符。  边线几何形状具有自相交点。请参阅 ST_IsSimple
边线交叉边线第一个边的标识符。第二个边的标识符。 两条边具有内部交点。请参阅 ST_Relate
边线起始节点几何形状不匹配边的标识符。 指示的起始节点的标识符。 指示为边线的起始节点的节点的几何形状与边线几何形状的第一个点不匹配。请参阅 ST_StartPoint
边线结束节点几何形状不匹配边的标识符。 指示的结束节点的标识符。 指示为边线的结束节点的节点的几何形状与边线几何形状的最后一个点不匹配。请参阅 ST_EndPoint
没有边线的表面 孤立表面的标识符。   没有边线在其任何一侧(left_face、right_face)报告现有表面。
表面没有环 部分定义的表面的标识符。   在其两侧报告表面的边线不形成环。
表面 MBR 错误 具有错误 mbr 缓存的面标识符。   面的最小边界矩形与报告其侧面的边集合的最小边界框不匹配。
孔不在通告的面中 边的有符号标识符,用于标识环。请参阅 GetRingEdges  报告其外部面的边环包含在不同的面中。
非孤立节点没有 containing_face 定义不当的节点标识符。   报告为位于一个或多个边界的节点正在指示 containing face。
孤立节点具有 containing_face 定义不当的节点标识符。   未报告为位于任何边界的节点缺少 containing face 的指示。
孤立节点具有错误的 containing_face 错误表示的节点标识符。   未报告为位于任何边界的节点指示 containing face,而该面并非实际包含它的面。请参阅 GetFaceContainingPoint
无效的 next_right_edge 错误表示的边标识符。 应指示为 next right edge 的边的有符号 ID。 指示为在边的右侧行走时遇到的下一个边的边错误。
无效的 next_left_edge 错误表示的边标识符。 应指示为 next left edge 的边的有符号 ID。 指示为在边的左侧行走时遇到的下一个边的边错误。
环中混合的面标记 边的有符号标识符,用于标识环。请参阅 GetRingEdges  环中的边指示行走侧上的冲突面。这也称为“侧面位置冲突”。
非闭合环 边的有符号标识符,用于标识环。请参阅 GetRingEdges  通过遵循 next_left_edge/next_right_edge 属性形成的边环在不同的节点上开始和结束。
面具有多个外壳 有争议的面标识符。 边的有符号标识符,用于标识环。请参阅 GetRingEdges 多个边环在其内部指示相同的面。

可用性:1.0.0

增强:2.0.0 更高效的边交叉检测以及对先前版本中存在的误报的修复。

已更改:2.2.0 为了与错误描述一致,交换了“边交叉节点”的 id1 和 id2 的值。

已更改:3.2.0 添加了可选的 bbox 参数,执行面标记和边链接检查。

示例

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

另请参见

validatetopology_returntypeTopology_Load_Tiger