购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.2 数据结构

为了适应图4.1中展示的六种数据形式,我们设计了六种类型的数据结构,如图4.5所示。每一列代表一种数据结构类型,它由一些组件进一步组成。左边的三列表示基于点的数据结构,包括基于点的空间静态数据、基于点的空间时间序列数据和基于点的时空数据。右边的三列代表基于网络的数据,包括基于网络的空间静态数据、基于网络的空间时间序列数据和基于网络的时空数据。这六种数据结构共享一些组件,如空间点、时间序列、道路网络、元数据和属性读数。我们将在以下几节详细说明每种数据结构类型。

图4.5 城市大数据的数据结构概述

4.2.1 基于点的空间静态数据

这类数据结构是为了存储位置和读数不随时间改变的基于点的数据(例如,POI)而设计的。例如,一旦加油站建成,其位置不会随时间改变,其大小和类别也不会随时间改变。如图4.6a所示,数据结构由三部分组成:ID、空间点以及元数据。空间点进一步包含四个字段:ID、纬度、经度和海拔。元数据包含对象的摘要,包括名称、类别、大小、文本描述和其他信息。由于空间点的组成部分被几种数据结构(如轨迹数据可能包含一系列空间点)使用,因此空间点的ID是必要的,以便区分不同的点。当我们存储一个POI时,图4.6a和图4.6b中显示的ID是相同的。

图4.6 基于点的空间静态数据的数据结构

这种基于点的空间静态数据结构也可以用来容纳代表地理区域的静态多边形,例如具有特定形状的广场和卫星图像上的瓦片。在这种情况下,基于点的空间静态数据可以包含描述多边形的多个空间点的列表,元数据可以包含由多边形形成的区域的大小。对于具有规则形状的卫星图像,空间点组件可以是瓦片的中心,元数据可以用来记录瓦片的大小(如宽度和高度),瓦片图像的像素级内容可以存储在磁盘文件中。另一种方法是分别用两个空间点存储瓦片的左上点和右下点。

4.2.2 基于点的空间时间序列数据

这类数据结构是为了存储例如地理感知读数的基于点的数据而设计的,这些读数与静态位置相关,但随时间不断变化。例如,一旦部署气象传感器,其位置就是固定的,但这个传感器每小时的读数都会随时间变化,形成时间序列。因此,如图4.7所示,数据结构由四部分组成:ID、元数据、空间点和时间序列。更具体地说,时间序列是一系列成对数据,每一对都由一个时间戳和一个属性读数组成。属性读数可以是子类别或数值。元数据和空间点的结构如图4.7所示。

图4.7 基于点的空间时间序列数据的数据结构

4.2.3 基于点的时空数据

这类数据结构是为了存储位置和读数随时间变化的基于点的数据而设计的。例如,在人群感知计划中,参与者在不同位置和不同时间区间收集数据。同样,在出租车调度系统中,乘客从不同地点在不同时间提交乘车请求。因此,在前述场景中,每个数据实例都与一个位置和时间戳相关联。不同的实例是独立的,具有不同的位置和时间戳。如图4.8a所示,这类数据结构由四部分组成:ID、时间戳、空间点和属性读数。所有这些都在前面的段落中介绍过了。

图4.8 基于点的时空数据的数据结构

4.2.4 基于网络的空间静态数据

这类数据结构存储基于网络的空间数据,如道路网络,它由三种类型的子结构表示:节点、边和邻接表。这样的空间网络一旦构建,其属性便不会随时间变化(即具有静态属性)。如图4.9a所示,边可以进一步表示为空间点和元数据的组合,而节点实际上是一种空间点。更具体地说,如图4.9c所示,边由一个ID、两个表示其端点的节点、多个描述其形状的空间点的列表和元数据组成。如图4.9d所示,元数据可能包括边的名称、车道数、方向(双向或单向)、速度限制、等级和边界框。此外,为了方便某些应用,例如最大 k 覆盖问题,我们可以预先计算节点数据结构中每个节点的边连接数——称为 ,并将元存储在数据结构中,如图4.9b所示。最后,维护一个邻接表 [12] 以表示网络的结构,显示给定边的相邻边。由于空间网络中的节点不是密集连接的(例如,道路段通常有两个或三个邻居),邻接表相比邻接矩阵 [4] 是更好的选择。

图4.9 基于网络的空间静态数据的数据结构

4.2.5 基于网络的空间时间序列数据

这类数据结构存储空间网络上的时间序列数据,例如道路网络上的交通状况和管道网络中的水流情况。如图4.10所示,这类数据结构由两部分组成。一部分是基于网络的空间静态数据结构,已在图4.9中介绍过。另一部分是内容结构,由一系列边ID组成,每个边ID都与一个时间序列相关联。时间序列的设计与图4.7中的相同。

图4.10 基于网络的空间时间序列数据的数据结构

4.2.6 基于网络的时空数据

这类数据结构存储位置和时间信息不断随时间变化的基于网络的数据。如图4.11所示,有两个主要的子类别。一个称为 轨迹 ,它记录移动对象(如车辆、人和动物)的痕迹 [43] 。另一个称为 时空图 ,表示不同移动对象之间的动态连接和交互。例如,在车辆对车辆网络中,车辆不断移动,在不同时间区间连接到不同的车辆。同样,在战斗中,士兵与最近的坦克进行通信。随着向前移动,他们与坦克之间的连接随时间变化。前面提到的基于点的时空数据中点是完全独立的,与此不同,基于网络的时空数据中不同的点之间存在清晰的连接和强烈的联系。

图4.11 基于网络的时空数据的数据结构

图4.11c展示了为轨迹设计的数据结构,包括元数据和一系列时空点(已在图4.8中定义)。图4.11d显示了为时空图设计的数据结构,构建了一系列基于网络的空间静态数据,这些数据与不同的时间戳相对应。基于网络的空间静态数据的定义与图4.10中的相同。 ik1p+yuj4dCR3HIeViPQVOd5CetrZw+ZRcyiAbb3KtBG9KTQxKbFXxRVT8dT/zhn

点击中间区域
呼出菜单
上一章
目录
下一章
×