4.2.1 拓扑一致性处理
更新于 2026年10月10日
版权声明
4.2.1 拓扑一致性处理
将针对单个地理要素的近似查询过程进行扩展,得到要素集的近似查询。然而需要注意的是,由于要素集的近似查询结果包含了多个要素,因此需要考虑要素间的拓扑关系。若要素F i和F j存在共点或共线的拓扑关系,则其近似结果F′i与F′j应保持相同的拓扑关系。
图4-3所示为要素共点与共线的情形下,拓扑一致与拓扑不一致的情形,图4-3(b)所示为拓扑关系丢失的情况,图4-3(c)所示为拓扑关系保留的情况。拓扑一致性关系到多个要素顶点的联合处理,因此,在预处理过程中需要将所有相交的顶点作为具有拓扑一致性意义的顶点。再计算出这些顶点在顶点层次结构中的位置及其误差值之后,进一步处理这些顶点以解决查询阶段的多要素拓扑一致性问题。本节给出了几何顶点误差的拓扑一致性调整算法,如表4-6所示。
表4-6 几何顶点误差的拓扑一致性调整算法
(https://www.daowen.com)
在内存模型中实现拓扑一致查询需要在顶点中加入一项特别标记,称之为同步集。同步集的特性是在数据查询时,同步集的获取必须作为一个原子操作,即同步集中的几何要素要么同时加入结果集中,要么都不加入结果集。部分同步集中的元素加入结果集会导致数据拓扑一致性无法保持。同步集的主要功能在于当出现误差相同的顶点时,保证不会出现一部分顶点在结果集内,另一部分顶点不在结果集内导致要素间的拓扑不一致的情形。
图4-3中
为同步集。为了保证近似查询结果中拓扑一致性,在数据预处理阶段需要进行公共顶点误差的调整与计算,在查询处理阶段需要有效地保持处于一个同步集中的误差相同的顶点能够同时加入结果集。

图4-3 要素间拓扑一致性(共点情形)的维护