拓扑检查

使用说明

拓扑检查用于检查点、线、面数据集本身及不同类型数据集之间不符合检查规则的对象,并将检查结果保存到简单数据集或 CAD 数据集中。

该功能支持几何检查和属性检查:

  • 几何检查:用于检查空间关系、节点、边界、重叠、缝隙等几何问题。
  • 属性检查:用于检查字段值完整性、合法性、一致性和业务逻辑问题。

功能入口

  • 数据质检 选项卡 > 拓扑 组 > 拓扑检查

操作步骤

  1. 单击拓扑检查按钮,弹出拓扑检查对话框;
  2. 通过工具栏的添加按钮,添加参与拓扑检查的数据集。提供添加规则批量添加两种方式:
    • 添加规则:一次添加一个数据集。
      • 若当前规则列表为空,自动添加当前工作空间首个数据源中的第一个矢量数据集。
      • 若当前规则列表已存在待检查数据集,则将列表中最后一个数据集再添加一次。
    • 批量添加:打开选择对话框,可同时选择多个数据集。
  3. 数据集列表将显示数据集数据源拓扑规则信息选中记录行,可在下拉菜单中切换待检查的数据源及数据集。只读数据源不支持进行拓扑检查,程序会自动过滤掉当前工作空间的只读数据源。
    • 数据集:需要进行拓扑检查的数据集。
    • 数据源:需要进行拓扑检查的数据集所在的数据源。
    • 拓扑规则:显示待检查数据集进行检查时使用的规则。选择几何检查时,显示已有拓扑检查规则;选择属性检查时,显示属性检查规则。规则详细说明请参见拓扑检查规则
  4. 选中左侧某一行数据集后,在右侧参数设置中进行以下配置:
    • 检查方式:设置当前检查记录的检查类型,包括几何检查属性检查。默认值为几何检查。切换检查方式后,系统会根据新的检查方式重新过滤拓扑规则列表和相关参数。
    • 几何检查参数:检查方式为几何检查时,设置以下参数:
      • 拓扑规则:用于进行几何拓扑检查的规则。系统会根据待检查数据集类型自动过滤适用规则。规则详细说明请参见拓扑检查规则。当设置的拓扑规则重复(相同数据集、相同规则)时,弹出提示框提示规则已存在。例如:数据集“CityA_P”的“无重复点”拓扑规则已存在。
      • 容限:用于进行几何拓扑检查和拓扑预处理的容限值,如节点之间的距离等。不同的拓扑规则需要设置不同的容限,建议使用默认容限。容限单位与数据集单位一致。容限默认值与数据集的坐标系有关,详细说明请参见容限说明
      • 过滤表达式:可以通过过滤表达式过滤参与对象,使满足条件的对象参与检查。
      • 修复拓扑错误:系统可对部分拓扑规则所检查出的错误进行自动修复。选择可自动修复的拓扑规则以后,“修复拓扑错误”项将由灰色变为可勾选的状态。勾选该项后,即可在拓扑检查的同时对待检查数据集进行修复。

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

        拓扑规则 修复方式
        线内无假结点 将假结点变为节点,即假结点所连接的两条线合并为一条线。
        线或面边界无冗余节点 将线或面边界上的冗余节点删除。
        线与线无重叠 若待检查数据集中的线对象与参考数据集中的线对象有重叠,将删除待检查数据集中该条线对象的重合部分。
        线内无自交叠 将线对象的自交叠部分删除。
        线内无重叠 将其中一条线对象的重叠部分删除。
        节点距离必须大于容限 将容限范围内的所有节点捕捉到一起,即合并成一个节点。
        节点之间必须相互匹配 在线对象上添加匹配的节点。
        线段相交处必须存在交点 在两条线段相交处分别添加交点。
        面内无重叠 删除其中一个面的重叠部分。
        无重复点 空间位置相同的点将随机保留一个
    • 属性检查参数:检查方式为属性检查时,拓扑规则下拉列表显示属性检查规则。选择不同的拓扑检查规则后,设置以下参数:
      • 非空检查:检查指定字段值是否为空。
        • 检查字段:选择参与非空检查的字段,支持多选。任一所选字段为空时,生成属性检查错误。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 枚举值检查:检查指定字段值是否属于预设枚举值集合。
        • 检查字段:选择需要进行枚举值检查的字段。
        • 枚举值:设置允许出现的字段值集合。支持从下拉列表选择或手动输入;多个枚举值使用英文分号(;)分隔,例如:道路;桥梁;隧道。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 唯一值检查:检查指定字段值是否唯一,用于识别重复记录。
        • 检查字段:选择需要进行唯一性检查的字段。该规则仅支持单字段检查。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 长度检查:检查字段值长度是否满足约束条件。
        • 检查字段:选择需要进行长度检查的字符型字段。
        • 长度比较:设置字段实际长度与字段长度参数之间的比较关系,如等于、大于、大于等于、小于或小于等于。
        • 字段长度:设置用于比较的长度值。字段长度必须为正整数,按字符长度计算。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 值域检查:检查字段值是否落入设定范围。
        • 检查字段:选择需要进行值域检查的数值型字段。
        • 最小值:设置允许范围的下限值。最小值和最大值至少填写一项。
        • 最大值:设置允许范围的上限值。最小值和最大值同时填写时,最小值不能大于最大值。
        • 包含下限:设置检查时是否包含最小值,用于表达闭区间或开区间边界。
        • 包含上限:设置检查时是否包含最大值,用于表达闭区间或开区间边界。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 字段关系检查:检查同一数据集中同一记录的两个字段值是否满足指定比较关系。
        • 检查字段1:选择参与比较的第一个字段。
        • 比较关系:设置检查字段1与检查字段2之间的比较关系,如等于、不等于、大于、大于等于、小于或小于等于。
        • 检查字段2:选择参与比较的第二个字段。两个检查字段的类型需一致或可比较。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 关联一致性检查:基于关联字段检查两个数据集之间的记录关联和属性一致性。
        • 关联字段:选择检查数据集中用于关联匹配的字段。
        • 检查字段:选择检查数据集中参与字段值一致性比较的字段。执行字段值不一致检查时,该参数必填。
        • 过滤表达式:设置检查数据集参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 几何属性一致性检查:检查属性字段值与对象几何面积或几何长度是否一致。
        • 检查字段:选择存储面积或长度值的数值型字段。
        • 几何量类型:设置参与一致性判断的几何量。面数据支持面积检查,线数据支持长度检查。
        • 允许误差:设置属性字段值与几何计算值之间允许的误差范围。允许误差必须大于等于 0。
        • 过滤表达式:设置参与检查的记录范围。为空时,对当前检查数据集中的全部记录执行检查。
      • 自定义SQL检查:通过 SQL 语句表达复杂属性检查逻辑。
        • SQL语句输入:输入查询类 SQL 语句。符合 SQL 条件的记录视为检查通过;不符合SQL 条件的记录视为问题记录,并将这些记录输出到结果数据集中。
  5. 设置参考数据,包括数据源与数据集信息。
    • 数据源:参考数据集所在数据源,默认为待检查数据集所在数据源。
    • 数据集:选择用于检查的参考数据集。根据拓扑规则的不同,有些几何规则会使用两个数据集进行拓扑检查,如“点必须在线上”,则需要一个线数据集作为参考数据集;另一些规则只在一个数据集内进行检查,如“线内无重叠”,只需要选择待检查数据集即可。属性检查中,仅关联一致性检查需要设置参考数据。
    • 参考关联字段:当检查方式为属性检查,拓扑规则为关联一致性检查时,此参数可用。用于选择参考数据集中与检查数据集关联字段匹配的字段。
    • 参考字段:当检查方式为属性检查,拓扑规则为关联一致性检查时,此参数可用。用于选择参考数据集中参与字段值一致性比较的字段。
  6. 设置结果数据存放位置和名称。
    • 数据源:结果数据集所在数据源,默认为待检查数据集所在数据源。
    • 数据集:在列表框中选中一条检查记录后,可在这里设置结果数据集的名称,默认名称为 TopoCheckResult。结果数据集类型与该条记录所设置的拓扑规则有关。
    • 保存到同一数据集:若勾选此项,则将列表框中所有检查结果保存到同一个数据集中,数据集名称即当前结果数据集中显示的名称。同一批次中的几何检查结果和属性检查结果可保存到同一结果数据集。若不勾选此项,则可分别对列表框中每一条检查记录设置结果数据集名称。
      • CAD数据集:默认勾选此项,即将结果保存为CAD数据集类型。
      • 拓扑数据集:若勾选此项,则将结果保存为拓扑数据集类型。此数据集需保证原始数据集、参考数据集以及结果数据集在同一数据源下。
  7. 勾选执行完成后自动关闭对话框复选框,在应用程序完成列表框内所有记录的拓扑检查后,将自动关闭数据集拓扑检查对话框。
  8. 勾选结束后打开错误检查器,在完成拓扑检查后将自动打开错误检查器对话框。
注意事项:
  • 待检查数据中存在自相交的面对象时,无法对该面进行面内无缝隙规则的检查。建议先进行面内无自交叠规则检查,或者手动处理自相交的面,再进行面内无缝隙规则检查。
  • 属性检查需完整配置检查字段、枚举值、长度、值域、比较关系、参考数据或 SQL 语句等必填参数。参数不完整或字段类型不兼容时,无法执行检查。
  • 值域检查至少设置最小值或最大值中的一项;同时设置最小值和最大值时,最小值不能大于最大值。
  • 自定义SQL检查仅支持查询类 SQL 语句,SQL 查询结果中的每条记录均视为问题记录。

相关主题

拓扑概述

拓扑预处理

错误检查器

拓扑逻辑图