在ArcGIS中,拓扑是定义点要素、线要素以及面要素共享重叠几何的方式的排列布置。
简单来说,我们可以将拓扑理解各类要素的地理空间关系,如重叠、相交、相连等。
拓扑的主要功能就是用于保证数据质量,当然它还有其它很多功能,水平有限就不展开了。
一、新建并验证拓扑
拓扑是建立在【要素数据集】以及保存在这个要素数据集里的一个或多个【要素类】的基础之上。
- 一个拓扑可以引用同一个要素数据集中的一个或多个要素类。
- 一个要素数据集可具有多个拓扑。
- 但是,一个要素类只能属于一个拓扑。
- 一个要素类不能同时属于一个拓扑和一个几何网络。
- 但是,一个要素类可以同时属于一个拓扑和一个网络数据集或地形数据集。
基于以上规则,新建拓扑的操作步骤如下:
1、新建一个地理数据库(以GDB为例)。
2、新建一个要素数据集,注意要素数据集的坐标系与参与拓扑的要素类保持一致,其它默认即可。
3、将要参与拓扑的要素类导入要素数据集中,可以单个,也可以多个。
4、在要素数据集下新建拓扑。
过程中有2个步骤需要注意,一是【选择参与拓扑的要素】,在这里要把你要拓扑的要素类选中:
二是【拓扑规则】,点击【添加规则】,新建要拓扑的规则:
一般常用的规则如下:
(a)面要素拓扑规则
不能重叠 | 不能有空隙 | 不能与其它要素重叠 | 必须相互覆盖 |
(b)线要素拓扑规则
不能重叠 | 不能相交 | 不能有悬挂点 | 不能有伪结点 |
(c)点要素拓扑规则
必须不相交 | 必须被其它要素覆盖 | 必须完全位于内部 | 点必须被线覆盖 |
新建拓扑完成后,一般情况下会弹出一个窗口询问是否验证拓扑,直接点是即可马上验证:
如果点了否也没关系,右键拓扑进行验证:
验证完成后,将拓扑直接拖入地图中即可看到拓扑结果,这里以面要素的重叠和空隙2个规则为例:
PS:如果之规则没有设置好,可以右键点击拓扑里的【属性】再进行修改。修改后要重新验证。
二、修改拓扑错误
1、打开编辑器工具条的【开始编辑】。如果没有相应工具条,可以右键工具栏调出来:
2、调出【拓扑】工具条,方法和上面一样:
3、拓扑工具条上的工具有好几个,我试过用后,感觉前面几个都不怎么好用,最终选择了最后一个【错误检查器】。这个按个人习惯,也不好说我的选择一定是对的。
点击后以表格形式打开错误检查器,在最左侧下拉框中选择验证过的拓扑规则,再点击【立即搜索】,就可以在下方表格中列出相应的拓扑错误。
注意右侧有个【仅搜索可见范围】的复选框,点选的情况下,只会显示当前视图中可见范围的错误,建议取消勾选,避免遗漏。
选择一个错误行,右键点击【缩放至或平移至】,即可切换到错误处。
当前选中错误会被显示为黑色边框,同时可以观察到右键选项中还有【剪除、合并、创建要素】等处理拓扑错误的方法选项。
以上面的重叠错误为例,拓扑出来的错误是重叠部分,需要将这重叠部分并入周边某个要素中,因此建议采用【合并】工具。
注意合并窗口中会列出重叠的2个要素,可以选择可其中1个要素合并,点击列表框中的要素,视图中对应的要素会绿色显示,要留意一下。
如果是空隙错误,拓扑出来的错误是个空洞,没有要素,因此应先【创建要素】,再【合并】。
不过创建要素后的合并,就需要在【编辑器】工具条中进行了。
选中新创建的要素,以及需要合并至的要素,点击【编辑器】工具条中的【合并】工具即可:
以上是基于面要素的【重叠和空隙】错误进行修改的演示,其它错误可自行尝试。
遇事不决点右键即可。
三、使用工具查找拓扑错误
虽然看着有点怪,但实际上我在具体工作中,拓扑并非第一选择,因为我更喜欢用工具箱。
新建拓扑、验证拓扑这一路下来,其实挺麻烦的,于是便尝试用工具箱来做拓扑检查。
这里还是举上面2个例子,要要素的【重叠和空隙】检查。
1、面要素重叠
重叠检查比较简单,只要一个【相交】工具即可。
习惯了多个要素类的相交,其实单个要素类也可以相交。
相交结果如下:
2、面要素空隙
空隙检查相对麻烦一些,需要几个工具结合使用。包括【要素转线、要素转面、擦除】。
工具执行流程如下:
工具执行结果如下,比拓扑检查出来更好的是,最外围的边界不会被判定为空隙:
四、使用工具处理拓扑错误
既然可以用工具检查拓扑错误,那自然也有一些工具可以用来处理拓扑错误。
工具处理拓扑的好处是可以批处理,不用一个一个修改,但是相应的不足之处也很明显,就是准确率不能保证。
实际上在工作中我并不会采用这种方式,这里只是给大家提供一个思路,或许可以在数据量庞大而不需要很精确的情况下适用。
主要工具是编辑工具箱下的几个工具:
以及【数据管理工具】下【要素类】的【整合】工具:
这里就不一一说明,有兴趣的可以试一下。
效果只能说,不符合我的精度要求。