当前位置:文档之家› 第三章 空间数据结构

第三章 空间数据结构

– 比例尺是刻画数据精度的量 – (如最小线宽为地图的空间 – 分辨率);
空间分辨率示例
1 Pixel
1 pixel = 10mX10m 分辨率 = 10m
10M 10M
栅格数据的形状、尺寸及相关问题
由于栅格结构对地表的离散,在计算面积、长度 、距离、形状等空间指标时,若栅格尺寸较大, 则造成较大的误差 。 由于栅格单元中存在多种地物,而数据中常常只 记录一个属性值,这会导致属性误差。比如,遥 感数据中的“混合像元”问题。
……此数据游程长度编码:
(0,1),(4,2),(7,5); 4,5),(7,3);
(4,4),(8,2),(7,2); (0,2),(4,1),(8,3),(7,2); (0,2),(8,4),(7,1),(8,1); (0,3), (8,5); (0,4), (8,4); (0,5), (8,3)。
– 另一种游程长度编码方案就是逐个记录各行 (或列)代码发生变化的位置和相应代码。 即记录代码及变化的位置(列数)。
游程长度编码示例
04477777 44444777 44448877 00488877 00888878 00088888 00008888 00000888
按第一种编码方法,代码,个数,代码,个数
栅格数据结构 矢量数据结构 矢栅一体化数据结构 镶嵌数据结构 三维数据结构
矢量结构和栅格结构
第一节 栅格数据结构
基本概念 数据表达形式 特点 数据获取途径 决定栅格单元代码的方式 压缩编码方式
1、 栅格数据结构基本概念
栅格结构是最简单最直接的空间数据结构,又 称网格(grid cell)结构或像元(pixel)结构, 是指将地球表面划分为大小均匀、紧密相邻的 网格阵列,每个网格作为一个像元或像素由行 号、列号定义,并包含一个代码表示该像素的 属性类型或量值,或仅仅包括指向其属性记录 的指针。
(6,1,3,0),(6,6,3,8),(7,4,1,0),(7,5,1,8),(8,4,1,0),(8,5,1,0)。
特点:
具有可变分辨率,即当属性变化小时图块大 ,对于大块图斑记录单元大,分辨率低,压 缩比高。小块图斑记录单元小,分辨率高, 压缩比低,所以,与游程长度编码类似,随 图形复杂程度的提高而分辩率降低。
在地理信息系统中的压缩编码多采用信 息无损编码,而对原始遥感影像进行压 缩时也可以采取有损压缩编码方法。
压缩编码方式
1 链式编码(Chain Codes)
链式编码又称为弗里曼链码(Freeman,1961 )或边界链码。主要记录线状地物或面状地物 的边界,忽略空白区域。它把线状地物或面状 地物的边界表示为:由某一起始点开始并按某 些基本方向确定的单位矢量链。前两个数字表 示起点的行列号,从第三个数字开始的每个数 字表示单位矢量的方向。
游程长度编码的特点及优缺点
属性的变化愈少,行程愈长,压缩比例越大,即压缩 比的大小与图的复杂程度成反比。 优点 压缩效率较高(保证原始数据不丢失),易于检索, 叠加、合并等操作,运算简单。 缺点 只顾及单行单列,没有考虑周围的其他方向的代码值 是否相同。 对于图斑破碎,属性和边界多变的数据压缩效率较低 ,甚至压缩后的数据量比原始数据还大。
Real world Grid
Point Column
Row
RASTER
Line
Value
=0 =1 =2 =3
Area
Triangles
Hexagons
栅格数据结构示例
00000000 00000000 00002000 00000000 00000000 00000000 00000000 00000000
例如:假设A类最重要的 地物类型,即A比B和C类 更为重要,则栅格单元的 代码应为A
(4)百分比法
– 处理方法:根据栅格区域内各地理要素所 占面积的百分比数确定栅格单元的代码。
– 适用于地物面积具有重要意义的分类体系
例如:可记面积最大的两 类BA,也可以根据B类和 A类所占面积百分比数在 代码中加入数字
3、栅格数据结构的特点
栅格数据结构容易实现,算法简单,且 易于扩充、修改,也很直观,特别是易 于同遥感影像的结合处理,给地理空间 数据处理带来了极大的方便。
4、栅格数据的获取途径
目读法 矢量数据转化 扫描数字化 分类影像输入
5、决定栅格单元代码的方式
基本原则:在决定栅格代码时尽量保持 地表的真实性,保证最大的信息容量 。 注意:每一个单元可能对应多个地物种 类或多个属性值。比如遥感图像中的 “混合像元”。
压缩编码方式
3、块码(Chain Codes)
块码是游程长度编码扩展到二维的情况, 采用方形区域作为记录单元,每个记录单元包 括相邻的若干栅格,数据结构由初始位置(行 、列号)和半径,再加上记录单位的代码组成 。 即:(初始行、列,半径,属性值)
块码编码示例
04477777 44444777 44448877 00488877 00888878 00088888 00008888 00000888
基本方向可定义为:东=0,东南=1, 南=2,西南=3,西=4,西北=5,北 =6,东北=7 等八个基本方向。
链码(Chain Codes)
例如,确定原点为像元(10,1),则某 个多边形边界按顺时针方向的链式编码 为:10,1,7,0,1,0,7,1,7,0, 0,2,3,2,2,1,0,7,0,0,0,0 ,2,4,3,4,4,3,4,4,5,4,5, 4,5,4,5,4,6,6。其中前两个数字 10 和1 表示起点为第十行第一列,从第 三个数字开始每个数字表示单位矢量的 方向,八个方向以0—7 的整数代表。
– 面积占优法常用于分类较细,地物类别斑 块较小的情况。
例如:所示的例子中,显 见B类地物所占面积最大 ,故相应栅格代码定为B 。
(3) 重要性法
– 处理方法:根据栅格内不同地物的重要性 ,选取最重要的地物类型决定相应的栅格 单元代码
– 重要性法常用于具有特殊意义而面积较小 的地理要素,特别是点、线状地理要素, 如城镇、交通枢纽、交通线、河流水系等 ,在栅格中代码应尽量表示这些重要地物
3、栅格数据结构的特点
属性明显
– 数据中直接记录了数据属性或指向数据属性 的指针,因而我们可以直接得到地物的属性 代码。
定位隐含
– 所在位置则根据行列号转换为相应的坐标, 也就是说定位是根据数据在数据集中的位置 得到的。栅格结构是按一定的规则排列的, 所表示的实体的位置很容易隐含在格网文件
的存储结构中。
(1)中心点法
– 处理方法: 用处于栅格中心处的地物类型 或现象特性决定栅格代码。
– 常用于具有连续分布特性的地理要素,如 降雨量分布、人口密度图等。
例如:中心点O落在代码为 C的地物范围内,按中心点 法的规则,该矩形区域相应 的栅格单元代码为C
(2)面积占优法
– 处理方法:以占栅格区域面积比例最大的 地物类型或现象特性决定栅格单元的代码
用44个整数表达了原始数据中的64个栅格。
游程长度编码示例
04477777 44444777 44448877 00488877 00888878 00088888 00008888 00000888
按第二种编码方法,代码,(终止)位置,代码
, (终止)位置……此数据游程长度编码
(沿列方向):
(0,1),(4,3),(7,8) (4,5),(7,8); (4,4),(8,6),(7,8 ); (0,2),(4, 3)(8,6),(7,8) (0,2),(8,6),(7,7),(8,8); (0,3),(8,8); (0,4,(8,8); (0,5),(8,8)
栅格结构是以规则的阵列来表示空间地物或现 象分布的数据组织,组织中的每个数据表示地 物或现象的非几何属性特征。 栅格结构表示的地表是不连续的,是量化和近 似离散的数据。每一个单元格对应一个相应的 地块。
2、栅格数据表达形式
点:一个栅格单元表示 线:沿线走向的一组相邻栅格单元表示 面:有区域属性的相邻栅格单元的集合 表示
压缩编码方式
2、 游程长度编码(Run-Length Codes)
基本思路:对于一幅栅格图像,常常有行(或 列)方向上相邻的若干点具有相同的属性代码 ,因而可采取某种方法压缩那些重复的记录内 容。
游程长度编码(Run-Length Codes)
其实现方法有两种:
– 一种编码方案是,只在各行(或列)数据的 代码发生变化时依次记录该代码以及相同的 代码重复的个数,从而实现数据的压缩。即 记录该代码以及相同代码重复的个数。
优点:
链式编码对多边形的表示具有很强的数据压缩能 力,且具有一定的运算功能,如面积和周长计算等, 类似于矢量数据结构,比较适合于存储线和面图形数 据。探测边界急弯和凹进部分等都比较容易,比较适 于存储图形数据。
缺点:
对叠置运算如组合、相交等则很难实施,对局部 修改将改变整体结构,效率较低,而且由于链码以每 个区域为单位存储边界,相邻区域的公共边界被重复 存储会产生冗余。

栅格数据单元格经常是矩形(主要是正方形)的 ,但并不是必须如此。其单元格形状可以随应用 的需要进行具体设定,比如设置为三角形。
栅格数据的比例尺就是栅格大小与地表相应单元 大小之比。 栅格尺寸越小,其分辨率越高,数据量也越大。
– 如右图中,这幅地图的比例尺 =10cm:1000m=1:10000
(5)其他方法
– 根据具体的应用内容,栅格单元的代码确 定方式还可以采用其他方法,如插值方法 (平均值就是其中之一),或使用特定的 计算函数等。
6、栅格数据编码
栅格数据编码方法分为两大类:
– 直接栅格编码
– 压缩编码方法
»链码 »游程长度编码 »块码 »四叉树
直接栅格编码
直接编码就是将栅格数据看作一个数据 矩阵,逐行(或逐列)逐个记录代码, 可以每行都从左到右逐个像元进行记录 ,也可以奇数行的从左到右而偶数行的 从右向左记录,为了特定目的还可采用 其他特殊的顺序 。 优点:编码简单,信息无压缩、无丢失 缺点: 数据量大
相关主题