动态分段 |
要理解为什么使用动态分段,首先要了解线性参考技术。
线性参考是一种采用沿具有测量值的线性要素的相对位置来描述和存储地理位置的方法,例如点要素可以被描述为道路起点10公里处,线要素可以被描述为沿道路26公里到28公里之间。其中,要素测量值的单位,可以是长度,也可以是时间、费用等。
通过图 2‑1可以较为直观地了解线性参考。图中底部的线是一条具有测量值的线段(比如公路、管道等),线上方的点和线段是发生在该线段上的事件(如公路上的交通事故、一段道路的路面材料等)。线性参考技术将图中沿线的点和线从左至右分别描述为:距离线段起始位置12个单位的点,沿线段第35个单位开始至第76个单位结束的线段,沿线段第84.3个单位的点。
|
图 2‑1 线性参考示意图 |
传统GIS是使用精确的X、Y坐标来定位的,但是在很多实际应用中,使用相对位置进行定位似乎更符合人们的习惯,从而帮助我们更加有效地处理问题。比如在某某路口东300米处发生交通事故,比描述为发生在(6570.3876,3589.6082)坐标处更容易定位。
动态分段技术就是基于线性参考技术发展起来的。它主要使用两种数据结构:路由数据集和事件表。路由数据集中的路由对象就是线性参考中“具有测量值的线性要素”,它与普通线对象的区别是除X、Y坐标外还存储有第三维信息,即用于度量的测量值;而事件表是一个属性表,其中的每一条记录都存储了一个用于对应路由对象的标识值,以及相应的测量值,即相对位置信息。如图 1‑1所示,动态分段的核心过程就是通过事件表中记录的标识值和相对位置信息,将事件表中的每一条记录对应到路由上,动态地生成为点或者线对象。用户可以存储生成的点或线数据,也可以不存储,因为该数据在使用前可以通过事件表和路由快速地动态生成。
|
图 2‑2 动态分段的核心过程 |
除了使用相对位置描述发生在线上的事件,比传统GIS要素更容易定位外,动态分段技术主要解决了传统GIS中的两个问题。
一.提高数据制作效率和降低数据存储空间。
众所周知,传统GIS中的线性要素只能具有一维属性,要描述线性对象的多个属性时,需要多份线性空间数据。图 2‑3展示了使用传统GIS描述公路的多个属性的例子,要存储公路的路况、路宽、路面材料和铺设年份四个属性,就要分别根据这些属性制作四份线数据。而实际应用中,线要素对应属性是几十、几百的,每个属性都要建立一份空间数据,这不仅增加了数据量,还降低了分析效率,也增加了应用的复杂度。
而动态分段的特点就是,允许线要素具有多维属性,一份空间数据,一个或几个属性表数据,即可解决问题。使用动态分段技术,可以通过四个事件表来分别记录公路的路况、路宽、路面材料和铺设年份信息,在每个事件表中,使用一个字段来存储该记录对应的路由对象的唯一标识值,使用两个属性字段分别存储该条记录在公路上的起始位置和终止位置,通过这三个属性字段,就能够将属性表中的记录定位到路由数据上,根据属性表中记录与路由数据的对应关系动态地生成表达某个属性的空间数据。
二.降低数据维护的复杂度。
当描述线数据的属性发生变化时,在传统GIS中,就要修改属性对应的空间数据。当属性频繁变化时,将使数据的维护工作变得十分繁琐复杂。例如,一般情况下,路况信息需要半小时更新一次,这对于传统GIS工作量的挑战,是巨大的,而使用动态分段技术可以避免这种麻烦,仅需要每隔半小时,修改一下属性对应的数值即可,这极大降低了数据维护的复杂度,使得某些应用变成可能。
|
图 2‑3 以传统GIS表达公路的多个属性 |