地图DB概述
车载导航地图DB
主要侧重道路交通网,并从实用性、加快检索速度和减少数据容量的角度来考虑,有自己特有格式的电子地图。
含有空间位置地理坐标,能够与空间定位系统结合,准确引导人或交通工具从出发地到达目的地的电子地图或数据集。
地图DB的存储结构
不同的地图DB格式有不同的存储结构,但总体来说,基础数据都是分块进行存储的。
车载导航地图DB的发展历程
早期的DB结构还没有标准的格式,采用的比较多的是依赖于Navigation侧应用功能的结构:
这种将数据与功能溶于一体的形式,很容易开发,但是造成了数据的冗余。并且,如果新功能追加时伴有格式变更,则会给整个DB的结构带来灾难性的影响。
车载导航地图DB的发展历程
为了解决上述结构带来的问题,需要设计一种不依存于应用的通用格式。为此,用道路等对象的形状、属性、关联关系等情报描述现实世界的通用格式应运而生:
当然,KIWI格式对原来格式在数据容量的压缩、应用的性能、格式的扩展性等方面进行了优化。
但是,KIWI格式也存在着一些缺陷,比如:数据文件很大,数据之间的耦合性较高,不能差分更新等。
MBA,一种分功能目录、分块、分文件存储的数据格式(具体参见下图),各功能相对独立,耦合性较低,并且支持差分更新。
MBA格式部分解决了KIWI格式带来的问题。但是也带来了新的问题,比如:分小文件(单个文件512K)存储也限制了应用性能的提升。
NDS,各大型车厂、地图提供者以及导航产品提供商联合推出的新一代导航地图格式标准,其目的是取代各导航系统使用的不同地图DB格式,实现导航格式的统一。
相对于KIWI和MBA格式使用二进制文件进行存储的方式,NDS地图DB使用sqlite数据库进行存储,以期更方便地实现差分更新,并提升导航系统的性能。
NDS作为最新的地图DB格式,受到很多大型车厂的青睐。但是基于导航性能的考虑,硬件配置的高要求的也带来了成本的上升。
基本概念简介
文书规则
Filed
有值的数据的最小存储单位称为field。
Record
由多个field 组成的、一组data 称为record。
Table
由相同种类的固定长record 组成的data 称为table。
List
由相同种类的可变长record 组成的data 称为list。
Frame
由多个table 或List 组成的data 称为frame。
Distribute head
配置在frame的先头部分,记载此frame中存储的各list或table位置和size的部分。
基本数据要素
Segment
直接连接2 个形状要素点的线段。
形态要素点
包括在 link 上的多个segment 的端点, 且不是 node 的点。
Link
指两端有node 的非交差的segment 列。也叫edge。
Node
2 个以上的edge 直接交差的叫作node。link 的终端(终点)也是Node 点。
link 序列
同一属性 node 与link 的有限序列
道路名称
link 列附带的道路名称。
POI(Points of Interest)
地图上特定位置的对象物(如大楼、酒店等)。
背景 data
地图显示中使用的点、线、面数据。
点(Point)
表示各种服务设施或收费站等地点时使用。
线(polyline)
表示铁道、行政界线、河川等时使用。以点的序列来表示。
面(polygon)
表示公园、湖、森林等时使用,作为封闭的点的序列来表示。
名称
保存与地图上的要素有关的名称信息。
结构用语
Level
对相同意义的数据根据其详细程度/密度分类了的地图数据的部分集合。
从高Level到低Level,数据越来越详细。
Mesh/Tile
Level数据经过某种规则均等分割后形成的矩形。
基准Mesh/Parcel
其划分方式每个Level是固定的,由式样规定。
表的读法
(1) […]:
记述 record、table、frame 等名称。
(2) 项番:
每个项目的项目番号。
(3) offset:
描述在相应的项目中,该项目所属的record、table、list、从frame 先头位置的相对位置
(4) data 长:
描述相应项目的data 容量。
(5) Data 形式
描述相应项目的Data type。
(6) 项目名
记述相应项目的名称。
(7) 备考
在相应项目中根据需要记述注意事项.
(8) 识别
a:固定存在,且存储有意义的值;b:固定存在,可存储空值;c:不需要可以省略。
地图DB格式简介
KIWI格式
概述
KIWI数据划分为Parcel系、Region系、检索系以及其他系。
基础数据(包括Parcel系、Region系)存储在一个文件中(AllData.kwi),并使用索引结构(Offset和Size)来进行管理。
检索系数据按照检索功能进行存储。
基本概念
Block
合并了多个parcel 的矩形框叫作Block。
BlockSet
合并了多个Block的矩形框叫作BlockSet 。
组织结构
AllData数据的层次关系
如下图所示。
其他数据包括画像、音声、描画参数、MANEUVER、料金、高速、3DObject等数据都按照功能分文件存储。
目录结构
具体请参见下图。
MBA格式
概述
MBA数据按照功能划分目录,功能目录下分块分文件存储,文件按照数据量进行划分。
各功能数据相对独立,耦合性较低。
支持差分更新。
基本概念
一次Mesh
Level数据在经纬度方向上按照某种规则(如1度× 1度)进行分割后形成的Mesh 。
二次Mesh
一次Mesh经过8×8分割后形成的Mesh。
三次Mesh
二次Mesh经过4×4分割后形成的Mesh。
其划分方式如下图所示:
组织结构
根据数据功能的不同,其组织结构也相异。
目录结构
具体请参见下图。
NDS格式
概述
NDS是一种使用数据库存储,用于导航系统的,标准化的物理存储格式。
支持差分更新。
基本概念
Product Database
产品数据库。一个产品数据库覆盖一个区域(如国家)。
UpdateRegion
更新区域。一般是由Product Database划分而成的更小区域。
BuildingBlock
每种功能数据可以认为是一个BuildingBlock(如:地图描画数据等)。
组织结构
NDS数据库可以由几个产品数据库组成,产品数据库又可以划分为多个UpdateRegion,每个UpdateRegion内部按照BuildingBlock组织,BuildingBlock内的数据按照Levels和Tile或记录进行存储。
目录结构
具体请参见右图:
地图DB的查看
概述
每种格式的地图DB在发布时,都会发布当前版本数据对应的查看工具。使用此工具,即可查看数据描画出的效果以及各数据项的值。
KIWI数据的查看
FocusEye是查看KIWI数据的工具,其显示效果如下图所示:
MBA数据的查看
MBAViewer是查看MBA数据的工具,其显示效果如右图所示:
NDS数据的查看
NDS的查看工具Mapview,是由NDS官网提供的,其显示效果如右图所示:
地图DB应用说明
MAP vs Map Data
DG vs Guide Data
DG vs Highway Data
Search vs Search Data