前面所述的数据结构都是二维的,用于解决二维空间的问题。在这种系统中将第三维坐标,如高程,作为属性值来处理。这种表示方法不是真三维的空间表达法,它无法建立空间实体的三维拓扑关系。由于它只能对地形表面进行模拟,无法对模型进行三维操作,因此常称它为2.5维空间信息。
对于一个真三维空间信息,z值必须成为位置坐标,即任何一个空间数据点用(x,y,z)来表示,另一组属性值来描述其空间特性。
描述三维空间信息的一种数据结构就是八叉树数据结构,它是从四叉树数据结构发展而来的。其原理是将空间区域不断分解成8个同样大小立方体,直到同一区域的属性相同为止。或者说,将空间区域先按一定分辨率划分成三维的栅格,然后,按顺序每次比较8个相邻栅格区域,若属性相同则合并,依次递归,直到每8个子区均为单值为止。如同线性四叉树一样,这里的八叉树数据结构用线性八叉树,对其用八进制或十进制进行编码。图3-18为八叉树数据结构的图解。