拓扑检查

使用说明

拓扑检查是为了检查出点、线、面数据集本身及不同类型数据集相互之间不符合拓扑规则的对象,并将检查结果保存到数据集(即点、线、面数据集)中。主要用于数据编辑和拓扑分析预处理。

关于拓扑检查及拓扑规则的详细介绍可参考知识库下的拓扑模块。

功能入口

  • 工具箱->拓扑模块->拓扑检查:拓扑检查,将该工具拖拽到可视化建模窗口中,再双击该功能图形。(iDesktopX)

一般进行拓扑检查之前还需要进行拓扑预处理,因此可在拓扑检查算子前连接二维拓扑预处理算子。

参数说明

  • 源数据:设置待进行拓扑检查的数据集及所在数据源。
  • 参考数据:设置参考数据集及所在数据源。根据拓扑规则的不同,有些规则会使用两个数据集进行拓扑检查,如“点必须在线上”等,则需要一个线数据集作为参考数据集;而另一些规则只是在一个数据集内进行拓扑检查,如“线内无重叠”等,则无需选择参考数据集。
  • 拓扑规则:设置拓扑规则。详细介绍可参考拓扑检查规则
  • 容限:设置用于进行拓扑检查的容限值,如节点之间的距离等。容限单位与数据集单位一致。取值范围大于0。注意:在使用“线内无打折”(LINE_NO_SHARP_ANGLE)规则检查时,该参数设置的为尖角容限(一个角度值)。
  • 修复拓扑错误:系统可对部分拓扑规则所检查出的错误进行自动修复。选择可自动修复的拓扑规则以后,“修复拓扑错误”项将由灰色变为可勾选的状态。勾选该项后,即可在拓扑检查的同时对待检查数据集进行修复。

    其中,可进行自动修复的拓扑规则见下表:

    拓扑规则 修复方式
    线内无假结点 将假结点变为节点,即假结点所连接的两条线合并为一条线。
    线或面边界无冗余节点 将线或面边界上的冗余节点删除。
    线与线无重叠 若待检查数据集中的线对象与参考数据集中的线对象有重叠,将删除待检查数据集中该条线对象的重合部分。
    线内无自交叠 将线对象的自交叠部分删除。
    线内无重叠 将其中一条线对象的重叠部分删除。
    节点距离必须大于容限 将容限范围内的所有节点捕捉到一起,即合并成一个节点。
    节点之间必须相互匹配 在线对象上添加匹配的节点。
    线段相交处必须存在交点 在两条线段相交处分别添加交点。
  • 被检查区域:设置被检查的区域,如果不设置,则对整个拓扑数据集进行检查,否则对设置区域进行拓扑检查。当前填写方式为字符串形式,可将范围导出为GeoJSon文件后将字符串贴入。
  • 结果数据:设置保存检查结果数据集的数据源,和结果数据集名称。
  • 单击“执行”按钮,执行准备好的分析功能。执行完成后输出窗口中,会提示执行结果是成功还是失败。

返回数据集的说明

拓扑检查算子返回两种结果数据集:

  • 源(修复)结果数据集:若进行了修复拓扑错误,则输出被修复的源数据集,若没有被修复则输出源数据集。
  • 检查结果数据集:检查出的拓扑错误数据集。

另外,下表主要列出了几种常见的字段说明。

返回数据集的字段 释义
BeCheckedDataset 检查数据集
CompareDataset 参考数据集
ErrorObjectID_1 检查数据集出错Feature的SmID
ErrorObjectID_2 参考数据集出错Feature的SmID
TopoRule 错误类型
ErrorIndexFrom_1 ErrorObjectID_1几何对象出错点串的起点索引
ErrorIndexTo_1 ErrorObjectID_1几何对象出错点串的终点索引
ErrorIndexFrom_2 ErrorObjectID_2几何对象出错点串的起点索引
ErrorIndexTo_2 ErrorObjectID_2几何对象出错点串的终点索引