ArcGIS小技巧—空间拓扑关系的理解和实践

 一、拓扑关系的理解

拓扑结构 是明确定义空间结构关系的一种数学方法。在GIS中,它不但用于空间数据的组织,而且在空间分析和应用中都有非常重要的意义。

地理数据库拓扑的元素

在地理数据库中,为各个拓扑定义以下属性:

要创建的拓扑的名称。

在拓扑处理操作中使用的拓扑容差。拓扑容差是一条术语,通常用于表示两种容差:X,Y 容差和 Z 容差。拓扑容差的默认值是坐标分辨率的 10 倍。

要素类列表。首先,需要一份将参与拓扑的要素类的列表。所有要素类必须使用同一个坐标系并组织成同一个要素数据集。

每个要素类中坐标的相对精度等级。如果某些要素类比其他要素类精确,您会希望指定更高的坐标等级。这将用于拓扑验证与集成。当精度较低的坐标落入其他拓扑容差范围内时,这些坐标将被移动到更高精度坐标的位置。精度最高的要素应收到值 1,精度其次的要素类收到值 2,精度再次的要素类收到值 3,依此类推。

有关要素共享几何的方式的拓扑规则列表。

聚类处理

创建拓扑关系包括分析同一个要素类中(以及参与拓扑的多个要素类之间)的各要素间的要素折点的坐标位置。彼此间距离在指定范围内的折点被认为表示同一个位置,并被指定一个共有坐标值(换句话说,将它们定位于同一点)。

拓扑容差用于整合折点。处于拓扑容差范围内的所有折点在验证过程中均可以轻微移动。默认拓扑容差基于为数据集定义的精度。用实际单位表示的默认拓扑容差为 0.001 米。它是 X,Y 分辨率距离(定义用于存储坐标的数值精度)的 10 倍。

两种拓扑容差:X,Y 容差和 Z 容差

在 ArcGIS 中,使用一对拓扑容差整合折点:

X,Y 容差用于查找处于彼此水平距离范围内的折点

Z 容差用于区分折点的 Z 高度或高程是否处于彼此容差范围内,以及是否应进行聚类

默认 X,Y 容差

默认 X,Y 容差设置为 0.001 米,或以数据集的坐标系单位表示的等效值。例如,如果坐标系以英尺为单位,则此默认值是 0.003281 英尺(0.03937 英寸)。默认值是默认 X,Y 分辨率的 10 倍,且在大多数情况下均推荐此设置。如果坐标以经纬度表示,则默认 X,Y 容差为 0.0000000556 度。

拓扑与要素数据集

拓扑建立在公用要素数据集中保存的一组要素类的基础上。每个新拓扑都会添加到保存这些要素类和其他数据元素的要素数据集中。

创建拓扑时,可以按照以下约定指定要从要素数据集中参与拓扑的任意要素类子集:

一个拓扑可以引用同一个要素数据集中的一个或多个要素类。

一个要素数据集可具有多个拓扑。

但是,一个要素类只能属于一个拓扑。

一个要素类不能同时属于一个拓扑和一个几何网络。

但是,一个要素类可以同时属于一个拓扑和一个网络数据集或地形数据集。

拓扑规则

拓扑规则定义了要素之间允许的空间关系。为拓扑定义的规则可控制一个要素类中各要素之间、不同要素类中各要素之间以及要素的子类型之间的关系。有关可用拓扑规则的列表,请参阅适用于点、线和面的地理数据库拓扑规则与拓扑错误修复。

例如,规则“不能叠置”用于管理同一个要素类中要素的完整性。如果两个要素叠置,则叠置几何将以红色显示(例如下图中相邻多边形之间的叠置红色区域以及两条线的红色线性段部分)。

在要素类的子类型之间也可以定义拓扑规则。例如,假设有两个街道线要素的子类型 - 正常街道(在两个结点处与其他街道相连)与死胡同街道(在一个结点处为死角)。拓扑规则便可以要求街道要素在两端与其他街道要素相连,除非遇到街道属于死胡同子类型的情况。

使用要素的空间关系和行为定义拓扑规则

空间关系明确表达了要素按照其空间制图表达行为的规则共享重叠几何的方式。例如,某些公共空间关系与规则包含以下内容:

宗地不能叠置。相邻宗地具有共享边界。

河流线不能叠置且必须在其端点处与其他河流线连接。

相邻县具有共享边。县必须完全覆盖和嵌套在州中。

相邻人口普查区块具有共享边。人口普查区块不能叠置,且人口普查区块必须完全覆盖和嵌套在街区组中。

道路中心线必须在其端点处连接。

道路中心线和人口普查区块共享重叠几何(边和结点)。

上述情形中的每一条都为使用拓扑规则维护数据完整性定义了一种可能情况。

拓扑验证、错误与异常

创建新拓扑或对参与拓扑的要素进行编辑后,下一步是验证拓扑。验证拓扑包含以下四个过程:

对要素折点进行裂化和聚类以查找共享同一位置(具有通用坐标)的重合要素。

将共有坐标折点插入到共享几何的重合要素中。

运行一系列完整性检查以确定是否违反了为拓扑定义的规则。

在要素数据集中创建潜在拓扑错误的错误日志。

编辑或更改数据时,ArcGIS 将追踪更改的区域并将其标记为脏区。将只对拓扑中的脏区运行验证。如果上次验证后并未进行编辑或更新,则不会进行任何检查。

错误与异常

在拓扑中最初以错误的形式存储对拓扑规则的违反。错误要素会在验证期间记录发现拓扑错误的位置。某些错误是可以接受的,这种情况下可将该错误要素标记为异常。错误与异常会以要素形式存储在拓扑图层中,可用于呈现和管理要素不需要符合拓扑规则的情况。

可以为拓扑中的要素类创建一份错误与异常报告。并将错误要素数目报告用作评判拓扑数据集数据质量的量度。ArcGIS Pro 中的“错误检查器”允许选择不同的错误类型并缩放至单独错误。可通过编辑违反了拓扑规则的要素来纠正拓扑错误。验证编辑之后,将从拓扑中删除错误。

使用编辑工具可选择拓扑错误,并从针对该错误类型预定义的大量修复中进行选择。还可以使用该工具获取有关已被违反的规则的详细信息,或将错误标记为异常。

地理数据库拓扑有足够的灵活性来处理拓扑规则异常。还可以将错误标记为异常。此后将忽略异常,尽管在判定它们实际上是错误并应修改要素以符合拓扑规则的情况下可以将它们返回为错误状态。

异常是数据创建与更新过程中的正常部分。例如,某个城市的街道数据库可能有一条规定中心线必须在两个端点处与其他中心线连接的规则。此规则通常可确保在编辑街道线段时将其正确地捕捉到其他街道线段。但是,在城市的边界处,可能没有街道数据。此时街道的外部端点可能无法捕捉到其他中心线。这些实例会被标记为异常,您仍然能够使用该规则查找未正确进行数字化或编辑的实例。

二、 拓扑实践——南昌市路网拓扑分析

拓扑关系是 GIS 描述要素的空间位置关系关系,又称位相关系。在实际应用时,有些时候点、线、面各图征间必须保持着某种关系。例如:行政区的范围不能重迭(面的规则)、道路间的线段不能重复(线的拓扑规则)、 公车站牌需要在道路上(点的拓扑规则)。因此拓扑是 GIS 中点、线、面图征一些规则与关系的组合, 有助于让数据更清楚地仿真真实世界的几何关系,同时降低数化或编辑上的错误。下面是南昌市路网的拓扑实践操作!

2、然后在菜单栏空白处右键添加拓扑工具条,这时候的拓扑工具条还是灰色的,说明还不能用,怎么才可以使用呢?不急,先创建拓扑

一、创建拓扑

1、加载南昌市路网数据

2、然后在菜单栏空白处右键添加拓扑工具条,这时候的拓扑工具条还是灰色的,说明还不能用,怎么才可以使用呢?不急,先创建拓扑

3、现在在目录选项卡某个文件夹下面创建个人地理数据库或者文件地理数据库,右键新建要素数据集,接着选择新建的要素数据集继续右键导入要素单个,选择刚才添加进来的路网数据

4. 这时候右键之前建立的要素数据集,选择新建—拓扑,不断点击下一步

5、设置拓扑规则,这里设置两个拓扑规则“不能悬挂点”“不能有伪节点”

图片

6、得到这样的结果,点击确定

图片

7、点击验证拓扑,这时候发现目录选项中之前创建的要素数据集下面多了一个拓扑文件,我们把它拉到图层编辑界面中,在弹出的对话框中选择是!这时候你会发现数据有密密麻麻的点错误,内容列表里面有两个road数据,可以把最后那个给删除了,那个是之前导入单个要素类时添加进来的

图片

看一下细节错误,发现符合我们在设置拓扑规则时的“不能有悬挂点”“不能有伪节点”

图片

二、拓扑错误修改

1、现在选择工具栏上面的编辑器,点击开始编辑,这时候拓扑工具条变亮了,说明可以使用了,

我们现在最关心的问题肯定是这密密麻麻的错误都多少个,不得1000多个呀?两种错误分布占多少呢?带着种种疑问,我们点击拓扑工具的错误检查器,我们先查看这路网数据里面总共有多少拓扑错误,在显示栏选择所有规则中的错误,点击立即搜索。错误检查器列出了所有种类的错误。可以看到一共有62个错误。

图片

2、现在我们开始修改这些不符合规则的错误,先对伪节点进行修改。首先我们在错误检查器中查看不能有伪节点的拓扑错误,选中第一行后按住Shif键不放下拉到最后一行点击,全部不能有伪节点的错误都被选中了,这时候右键点击合并至最长的要素,那个错误的数字就会以肉眼可见的速度不断的减少,直到为0。

图片

3、对悬挂点的错误进行修改

图片

4、但是由于数据本身的特殊性,到最后会发现有50多个错误无法修改,首先总体预览看看,可以发现剩下的错误都分布在边缘,为什么呢?带着这个疑问我们把错误放大看看,可以发现边缘的一些线出头无法连接,因为这不是一个闭合的圆环,所以我们可以把这些错误全部选中右键标记为异常,不用修改了,然后点击编辑器选择停止编辑,保存编辑内容,选择内容列表里面的路网数据,导出数据就行了。

今天的内容到这里就结束了,更多内容欢迎关注小编的公众号“梧桐GIS”,谢谢大家支持!

  • 33
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值