拓扑检查
使用说明
拓扑检查是为了检查出点、线、面数据集本身及不同类型数据集相互之间不符合拓扑规则的对象,并将检查结果保存到数据集(即点、线、面数据集)中。主要用于数据编辑和拓扑分析预处理。
关于拓扑检查及拓扑规则的详细介绍可参考知识库下的拓扑模块。
功能入口
- 工具箱->拓扑模块->拓扑检查:拓扑检查,将该工具拖拽到可视化建模窗口中,再双击该功能图形。(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几何对象出错点串的终点索引 |