5.1.1 更新方式

更新于 2026年10月12日 版权声明
5.1.1 更新方式

地理要素具有动态变化的特性,数据的可更新是可视化需要解决的需求之一。在拓扑数据模型下,地理要素的更新包括顶点、线对象及组合对象的插入、修改与删除,几何对象间往往存在相交、重合等拓扑关系。简单要素模型下的地理要素是互相独立的,除了基本的一致性条件的检查,地理数据的更新不需要考虑到其他因素的影响。而在拓扑数据模型中,除了数据一致性条件的检查外,还需要执行“外键约束”等检查以保证更新后的数据没有丢失已有的拓扑关系,同时新引入的拓扑关系是符合一致性约束的。因此,考虑拓扑关系的数据更新过程比基于简单要素模型的地理数据集的更新过程更加复杂。

给定更新操作的最小单元为一个长度为m的顶点序列{P k,P k+1,…,P k+m},更新操作是指将新序列插入到已有的顶点序列中、将一段已有序列替换为新序列以及将一段序列从原顶点序列中删除,这里将这三项操作分别称为插入、修改与删除操作。在实际的数据编辑操作中,序列插入操作是指在线对象、组合对象中插入顶点;序列修改操作是指移动线对象、组合对象中的顶点,序列删除操作是指在线对象、组合对象中删除顶点。下面分别以插入和删除操作为例说明地理要素的更新方式。

(1)插入。给定地理要素及其层次结构,分别表示为F和T,组成F的顶点序列为(P 0,P 1,…,P n),插入操作是指向F中插入一个新顶点P N,插入位置为P i与P i+1之间,则T也发生变化。由于T具有二叉树的特性,P N插入的过程与二叉树的插入操作类似,即找到代表线段(P i,P i+1)的结点所对应的位置,将其替换为代表序列(P i,P N,P i+1)的子树。图5-1给出了插入操作的示例,将P M插入到P 3与P 4之间,P N插入到P 5与P 6之间。图5-1(a)与图5-1(b)分别表示插入顶点所影响到的各子序列及子序列的最大简化序列。图5-1(c)表示插入两个新节点后的二叉树,虚线表示连接的新节点,有两棵子树发生了变化。

(2)删除。给定地理要素及其层次结构,分别表示为F和T,组成F的顶点序列为(P 0,P 1,…,P n),删除操作是指将地理要素中的一个或若干个顶点P i删除。删除过程与二叉树的删除操作类似,找到的节点P i在树中的位置,同时找到其直接前驱顶点P i-1,利用前驱结点替换被删除结点的位置,并将P i-1从其节点的子树中删除。图5-2给出了删除操作的示例,当将P 4从序列中删除时,需要将其直接前驱节点P 3替换掉P 4,同时将P 3从其父节点的子树中删除。图5-2(a)与图5-2(b)分别表示删除顶点所影响到的各子序列及子序列的最大简化序列,图5-2(c)表示删除后的树结构。

除上述对地理要素中的顶点进行直接的插入和删除等基本操作外,在实际应用中,地理要素的修改还包括将多个要素组合为要素序列以创建新要素。例如,将多个首尾相连的代表道路的地理要素组合为一个更长的地理要素等。这一操作并未引入新的几何顶点,但它创建了已有顶点间新的联系,同时,这一新的联系将会使顶点的关系产生变化并影响到顶点的误差计算。因此需要建立代表新的地理要素的顶点层次结构。这些操作可以认为是以上三类操作,即新序列的插入、修改与删除操作的特殊情形。(https://www.daowen.com)

地理要素更新操作影响到其所对应的多个相关顶点层次结构、顾及误差的顶点索引结构等,其中顶点层次结构的更新是最主要的部分,而顶点索引结构的更新可以认为是一个加权的四叉树索引的更新。

图示

图5-1 顶点插入与二叉树构建

图示

图5-2 顶点删除与二叉树构建

关注公众号获取验证码
复制内容需要验证码(7.99元/天)
✍AI写作