第二节 空间数据模型与结构
三、空间数据结构
空间数据结构是指对空间数据进行合理的组织,以便于进行计算机处理。数据结构是数据模型和文件格式之间的中间媒介。例如,游程编码是一种适用于栅格数据模型的数据结构,它能以各种各样的格式写到数据文件里。数据模型和数据结构之间的区别很模糊,事实上,数据模型是数据表达的概念模型,数据结构是数据表达的物理实现,前者是后者的基础,后者是前者的具体实现。
栅格结构现在广泛地应用于图像处理系统和栅格地理信息系统。矢量结构则主导了CAD系统和有着强大制图功能的矢量地理信息系统。数据结构的选择取决于数据的性质以及使用的方式。大多数地理信息系统都同时采用栅格和矢量模型以及适用于这两种模型的其它几种数据结构,不同的结构用于不同的任务,这要看哪种结构是最有效和最合适。例如,一个具有属性特征的样点集可以几种形式存在:①带空间坐标的属性表;②作为一个栅格存在,栅格值由这些点的属性内插得到;③作为矢量形式存在,表达为由栅格生成的等高线图上的多边形边界;④作为一个不规则三角网存在。这些结构各有其优缺点,它们之间可以互相转换。
1.栅格结构
对于一个用方格网密集采点的区域,一个包含其空间坐标和属性的表,代表了它的最简单的数据结构。
1)完全栅格结构
大多数的数字图像处理系统采用完全栅格结构。最简单最常用的是限制一个删格数据层只存贮删格的一种属性,并且把属性值限定在0~255的整数范围内(一个字节对应一个像元)。在完全栅格结构里,像元顺序一般以行为序,以左上角为起点,按从左到右从上到下的顺序扫描。
完全栅格结构可以波段顺序来组织(BSP格式),单一波段或属性值以行的顺序来存放,如果有两个以上的属性,那么第二波段就在第一波段结束后才开始存放。多波段图像也可以逐行格式(BIL)或以逐像元格式(BIP)来记录。对于BIL,先存贮备波段的第一扫描行、然后是各波段的第二扫描行;对于BIP,先存贮第一个像元所有波段上的值,再存贮第二个像元各波段值。BIP与BlL格式有利于图像复合操作,因为同一像元属性值的物理地址是在一起的。但对于显示较大的多波段影像,BSP则更有效。
常用的栅格图像结构只存贮0~255之间的整数(一个字节)。一个像元两个字节则能容纳-215~215之间的有符号整数,其中有一位用来存贮符号。
影像的属性值能表示为指向属性表的指针。这对数字地图特别有用,数字地图里的地图单元或多边形都用来存贮属性。在这种情况下,一字节的整数范围常显得不够大,因为属性表常有256条以上的记录,因此,对于每个指针需要分配两个字节以上的空间。
2)游程编码
随着像元尺寸的减小,完全栅格结构影象的存贮空间呈几何级数增长,由此,使得一些高分辨率数据变得太大而无法管理,尤其是对于三维数据。存贮空间的压力能通过压缩方法减轻。游程编码是一种简单的数据结构,它能极大地减少存贮空间。