作者:xinxin
在处理GIS数据的时候,我们常提到数据的拓扑关系,什么叫拓扑关系呢?拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。即用结点、弧段和多边形所表示的实体之间的邻接、关联、包含和连通关系。如:点与点的邻接关系、点与面的包含关系、线与面的相离关系、面与面的重合关系等。当我们在项目中使用含有拓扑关系的数据时,如果这个数据存在拓扑错误,比如线内有自相交,面内有重叠等,在进行数据分析的时候会出现各种问题。所以修改GIS数据中的拓扑错误很有必要,那么在修改前怎样才能快速检查数据存在的拓扑错误呢,下面小编将结合SuperMap iDesktop产品分享如何快速检查和修改数据中存在的拓扑错误。
1、拓扑预处理
在iDesktop的菜单栏【数据】-【拓扑】模块下有拓扑预处理、线拓扑处理和拓扑预处理等功能,可以对数据进行拓扑检查和处理。
在使用拓扑数据集对关联数据集进行拓扑检查前,需要对待拓扑检查数据进行拓扑预处理操作,通过预处理将那些在容限范围内的问题数据进行调整。不进行拓扑预处理,可能会导致拓扑检查的结果出现错误。拓扑预处理分为二维拓扑预处理和三维(目前只支持三维线)拓扑预处理,其中二维拓扑预处理方式包括:插入节点、节点和节点的捕捉、多边形走向的调整;三维拓扑预处理提供了节点捕捉处理方式。在拓扑检查的时候也可以勾选拓扑预处理,由于这种处理是在原始数据上做修改,所以建议将待处理的数据备份一下。
2、拓扑检查
在iDesktop中,拓扑检查是用于检查点、线、面和数据集本身及各不同类型数据集其相互之间不符合拓扑规则的对象,并将检查结果保存到简单数据集(即点、线和面数据集)或CAD数据集中。下面介绍拓扑检查的功能使用,如下图:
其中,各个红框的作用和含义如下。
1:添加要进行拓扑检查的点、线和面数据集;
2:选用拓扑检查的规则,比如对于线数据集选线内无相交;
3:拓扑检查的容限值,单位和数据集的坐标系一致,这个值可以在默认值的基础上适当修改;
4:拓扑检查的结果会存储在一个结果数据集中,设置结果数据存储的数据源和数据集名。
每种数据集的拓扑规则有很多,可以在iDesktop的帮助文档上查看每种拓扑规则的含义,使用时选用合适的拓扑规则。
3、拓扑处理
3.1 自动处理
3.1.1 拓扑预处理
可以自动在容限范围内处理部分拓扑规则(多为涉及到节点操作的拓扑规则,如“线与线无相交”)下的错误。
3.1.2 修复拓扑错误
拓扑检查时在部分拓扑规则下可以勾选这个选项进行自动修改拓扑错误,可进行自动修复的拓扑规则见下表:
3.1.3 线拓扑处理
在iDesktop中【数据】-【拓扑】-【线拓扑处理】可以对线数据集和网络数据集进行拓扑检查和修复,拓扑错误处理选项包括去除假结点、去除冗余点、去除重复线、去除短悬线、去除长悬线、邻近端点合并、弧段求交等七种规则,可根据需要选择合适的规则对选中数据集进行拓扑处理,如下图:
在【高级】中可以设置弧段不打断的对象和位置,也可以设置悬线的容限值和节点的容限值,容限值的单位和数据集的坐标系单位一致。
3.2 手动处理
当自动处理的方式都无法全部解决数据的拓扑错误时,就需要按照拓扑检查的结果数据手动来对原始数据进行修复,这个需要根据具体的数据和拓扑检查的规则来处理。