栅格数据结构及编码
栅格数据结构及编码..
(2)
压缩编码方法-块码
基本思想: 块式编码是将游程长度编码扩大到二维的情况,把多边形范围划分 成由像元组成的正方形,然后对各个正方形进行编码。块式编码的数据 结构由初始位置(行号,列号) 、半径和属性,再加上记录单元的代码 组成。如图:
字母:蔬菜类型、土地分区
a c
五、栅格数据组织方法
栅格数据以层的方 式来组织文件,在栅格 数据结构中,物体的空 间位置就用其在笛卡尔 平面网格中的行号和列 号坐标表示,物体的属 性用象元的取值表示, 每个象元在一个网格中 只能取值一次,同一象 元要表示多重属性的事 物就要用多个笛卡尔平 面网格,称为层。
重要性法 处理方法:根据栅格内不同地物的重要性,选取最重 要的地物类型决定相应的栅格单元代码 重要性法常用于具有特殊意义而面积较小的地理要素, 特别是点、线状地理要素,如城镇、交通枢纽、交通 线、河流水系等,在栅格中代码应尽量表示这些重要 地物 长度占优法 处理方法:以网格中线的大部分长度所对应的面 域的属性值来确定。
1 1 1 3
1 1 1 3
2 2 3 3
2 3 3 2
四、栅格数据的值
整数值:如土壤分类
1.7 1.8 2.0 2.0 1、 1.8 1.8 2.3 2.2 污染物浓度、 2.2 2.2 2.2 2.0 温度
a a
a a a c
b b c c
b c c b
2、块码 (BlockCodes)
0 4 4 0 0 0 0 0
空间数据的结构与编码
空间数据的结构与编码在当今数字化的时代,空间数据成为了我们理解和处理地理信息的重要基石。
空间数据不仅在地理科学、城市规划、环境保护等领域发挥着关键作用,也在日常生活中的导航、地图应用等方面为我们提供了极大的便利。
而要有效地处理和利用空间数据,就离不开对其结构和编码的深入理解。
空间数据,简单来说,就是描述地理空间中对象的位置、形状、大小等特征的数据。
它可以是点、线、面等几何对象,也可以是与这些对象相关的属性信息,比如一个城市的人口数量、建筑物的高度等。
为了能够高效地存储、管理和处理这些复杂多样的空间数据,我们需要对其进行合理的结构设计和编码。
空间数据的结构可以分为矢量数据结构和栅格数据结构两大类。
矢量数据结构将空间对象表示为点、线、面等几何元素,并通过坐标来精确描述其位置和形状。
例如,一条河流可以用一系列连接的线段来表示,每个线段的端点都有明确的坐标。
矢量数据结构的优点在于数据精度高、存储空间小,并且能够方便地进行几何变换和空间分析。
比如,我们可以很容易地计算两个矢量对象之间的距离、面积等。
然而,矢量数据结构在处理大面积的连续数据(如地形)时,可能会比较复杂。
栅格数据结构则将地理空间划分为规则的网格单元,每个单元对应一个特定的值。
比如,在一张卫星图像中,每个像素就是一个栅格单元。
栅格数据结构的优点是处理简单、易于与遥感数据结合,适用于对大面积连续现象的模拟和分析。
但它的缺点是数据量较大,精度相对较低,且在进行几何操作时可能会产生锯齿状的边缘。
除了上述两种主要的数据结构,还有一些混合结构,如矢栅一体化结构,结合了矢量和栅格数据结构的优点,以满足不同应用场景的需求。
接下来,让我们谈谈空间数据的编码。
编码是将空间数据转换为计算机能够理解和处理的形式的过程。
常见的编码方式包括拓扑编码、坐标编码、块编码等。
拓扑编码通过记录空间对象之间的拓扑关系(如相邻、包含等),来减少数据的冗余并提高空间分析的效率。
例如,在一个道路网络中,我们只需要记录每个路段的起点和终点以及它们之间的连接关系,而不需要重复存储每个点的坐标。
栅格结构编码
5,5 2,A 3,B 1,A 3,C 1,A 1,D 2,C 2,A
…
…
☞块码(游程编码向二维扩展)
☞块式编码是将游程扩大到两维情况,把 多边形范围划提成若干具有同一属性旳正 方形,然后对各个正方形进行编码。 ☞块式编码旳数据构造由初始位置(行列 号)、半径和属性代码构成。
块码示意图
M M R M M MMM MMRRMRMM
MR RR RR RM MR R RRR RM MR RR RR RM MR RR RR RM MMRR R RRM M M M R R M MM
四叉树:叶子节点和树杈节点
12 34 5 6 78
在四叉树中,不能再分旳结点称为叶子结 点,可再分旳结点称为树杈结点
123 45678
M M R M M MMM MMRRMRMM
四叉树编码实例
区域分割措施
M M R M M MMM MMRRMRMM MR RR RR RM MR R RRR RM MR RR RR RM MR RR RR RM MMRR R RRM M M M R R M MM
12 34 5 6 78
123 45678
M M R M M MMM MMRRMRMM
旳单位矢量链来表达线状地物或多边形旳边界。
☞四叉树编码(Quadtree Encoding)
☞四叉树又称四元树或四分树,是最有效旳栅格数据压 缩编码措施之一。
☞四分树将整个图像区域逐渐分解为一系列方形区域, 且每一种方形区域具有单一旳属性。最小区域为一种象 元。
☞区域分割原则:将欲分解区域等分为四个象限,再根 据各个象限旳象元值是否单一决定要不要再分。假如单 一则不再分割,不然同法再分,直到全部象限旳象元属 性值相同为止。
栅格数据结构
码就需要m行×n列×3(x,y和属性编码值)个存储
单元。数字地面模型就属此种情况。
链式编码(ChainCodes)
又称为弗里曼链码(Freeman)或 边界链码。
基本方向可定义为:东=0,东 南=l,南二2,西南=3,西 =4,西北=5,北=6,东北 =7等八个基本方向。如果再 确定原点为像元(10,1),则 该多边形边界按顺时针方向 的链式编码为: 10,l,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。
简单的矢量数据结构—面条结构(实体式)
多边形
数据项
11
12 13
A (x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,
30 29
14
y5),(x6,y6),(x7,y7),(x8,y8),(x9,y9),(x1,y1)
10
31
28 27
15
B
(x1,y1), (x9,y9), (x8,y8), (x17,y17),
a 1
b
A
2n c
3
B
8 O
h iC
10 m
9
k
D 11 l
j
12
7 g
d
e
5f
6
4
这种数据结构除了通过线文 件生成面文件外,还需要点 文件
线号 a b c d e f g h i j k l m n
左多边形 O O O O O O O O C C C C C B
右多边形 A A B B B C C C A B D D D A
nn5566存储方法点实体如果是简单点简单点文字说明结点唯一识别符xy坐标点实体类型序列号有关的属性方向字体排列指针与线相交的角度符号符号字符大小比例尺方向其它有关的属性如果是文字说明如果是结点线实体唯一标识码线标识码起始点终止点线实体面实体多边形矢量编码不但要表示位置和属性更重要的是能表达区域的拓扑特征如形状邻域和层次结构等多边形矢量编码不但要表示位置和属性更重要的是能表达区域的拓扑特征如形状邻域和层次结构等终止点坐标对序列显示信息非几何属性以便使这些基本的空间单元可以作为专题图的资料进行显示和操作
栅格数据编码方法分为两大类
•栅格数据编码方法分为两大类:1直接栅格编码2压缩编码方法a链码b游程长度编码c块码d 四叉树直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元进行记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序栅格数据编码方法直接栅格编码:•将栅格数据看作一个数据矩阵,逐行记录代码数据。
A A A AA BB B A ABB A A B B•1)每行都从左到右记录;AAAAABBBAABBAABB•2)奇数行从左到右,偶数行从右到左;•栅格数据量大,格网数多,由于地理数据往往有较强的相关性,即相邻象元的值往往是相同的。
所以,出现了各种栅格数据压缩方法。
•压缩编码的目的就是用尽可能少的数据量记录尽可能多的信息,其类型分为•信息无损编码•编码过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息•信息有损编码•为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复1、行程编码(游程编码):将原始栅格阵列中属性值相同的连续若干个栅格单元映射为一个游程。
游程的结构为(A,P) 整数对。
块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。
采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格。
将栅格数据(线状地物面域边界)表示为矢量链的记录)首先定义一个3x3窗口,中间栅格的走向有8种可能,并将这8种可能0~7进行编码。
•2)记下地物属性码和起点行、列后,进行追踪,得到矢量链.其基本分割方法是将一幅栅格地图或图像等分为四部分。
逐块检查其栅格属性值(或灰度)。
如果某个子区的所有栅格值都具有相同的值。
则这个子区就不再继续分割,否则还要把这个子区再分割成四个子区。
这样依次地分割,直到每个子块都只含有相同的属性值或灰度为止。
栅格数据详解
栅格数据详解目录一简介二栅格结构的数据组织方法三栅格数据的获取途径与原则四栅格结构的编码方法一简介1基本知识栅格数据是按网格单元的行与列排列、具有不同灰度或颜色的阵列数据。
栅格结构是大小相等分布均匀、紧密相连的像元(网格单元)阵列来表示空间地物或现象分布的数据组织。
是最简单、最直观的空间数据结构,它将地球表面划分为大小、均匀、紧密相邻的网格阵列。
每一个单元(象素)的位置由它的行列号定义,所表示的实体位置隐含在栅格行列位置中,数据组织中的每个数据表示地物或现象的非几何属性或指向其属性的指针。
对于栅格结构:点实体由一个栅格像元来表示;线实体由一定方向上连接成串的相邻栅格像元表示;面实体(区域)由具有相同属性的相邻栅格像元的块集合来表示。
2栅格结构的特点数据直接记录属性的指针或属性本身,而其所在位置则根据行列号转换成相应的坐标给出。
也就是说,定位是根据数据在数据集合中的位置得到的。
如图1(a)所示,数据1表示属性或编号位的一个点,其位置由所在的第3行、第5列得到。
因为栅格结构是按一定的规则排列的,因此所表示的实体位置很容易隐含在网格文件的存储结构中。
在网格文件中每个代码本身明确地代表了实体的属性或属性编码,如果为属性编码,则该编码可作为指向实体属性表的指针。
图1(a)中表示了代码分别为1,3,6的实体,图1(b)表示了一条代码为8的线实体,图1(c)表示了3个代码分别为4,7,9的面实体。
(a)点(b)线(c)区域000000000080000044447777000000000008000044444777000010000000800044449977000000000000080000499977000300000000080000099977000000000000080000099999000006000008800000009999000000000000000000000999图1二栅格结构的数据组织方法栅格地图数据栅格结构是用有限的网格逼近某个图形,因此用栅格数据表示的地表是不连续的,是近似离散的数据。
GIS学习之栅格数据
GIS学习之栅格数据栅格数据⽤⼀个规则格⽹来描述与每⼀个格⽹单元位置相对应的空间现象特征的位置和取值。
在概念上,空间现象的变化由格⽹单元值的变化来反映。
地理信息系统中许多数据都⽤栅格格式来表⽰。
栅格数据在许多⽅⾯是⽮量数据的补充,将两种数据相结合是GIS项⽬的⼀个普遍特征。
⼀、栅格数据模型要素:栅格数据模型在GIS中也被称为格⽹(Grid)、栅格地图、表⾯覆盖(Surface Cover)或影像。
格⽹由⾏、列、格⽹单元组成。
⾏、列由格⽹左上⾓起始。
在⼆维坐标系统中,⾏作为y坐标、列作为x坐标。
在这点上与纬度作为y坐标、经度作为x坐标有点类似。
栅格数据⽤单个格⽹单元代表点、⽤⼀系列相邻格⽹单元代表线、邻接格⽹的集合代表⾯。
格⽹中的每⼀个格⽹单元有⼀个值,整型或浮点型。
整型格⽹单元值通常代表类别数据。
⽐如,⼟地类型常⽤1代表城市⽤地、2代表林地等。
浮点型格⽹单元值常表⽰连续数据,⽐如,降⽔量模型可能有20、15、12、23等降⽔量值。
浮点型格⽹⽐整型格⽹需要更多的计算机存储资源,这是涉及⼤范围的GIS项⽬必须考虑的⼀个重要因素。
⽽且,浮点型⽹格的数据查询与显⽰应该基于12.0~19.0这样的值域,⽽⾮单个值。
由于栅格数据模型的分辨率受其格⽹单元⼤⼩的影响,因此在表⽰空间要素的精确位置上存在缺点。
在算法上,格⽹可视为⾏与列的矩阵,其单元值为⼆维数组,对数据进⾏操作、集合和分析较⽮量数据容易。
⼆、栅格数据类型:1.卫星影像:遥感卫星影像是⽤栅格格式记录的。
卫星影像像元值代表从地球表⾯反射或发射的光能。
通过分析像元值,影像处理系统可从卫星影像中提取各种专题,如⼟地利⽤、⽔⽂、⽔质、侵蚀⼟壤⾯积等。
2.数字⾼程模型:数字⾼程模型(DEM)由等间隔海拔数据的排列组成。
DEM以点为基础,但也容易通过将海拔⾼度点置于格⽹单元中⼼的⽅法转换成栅格数据。
3.数字正射影像图(DOQ):是⼀种由航⽚或其他遥感数据制备⽽得到的数字化影像,其中由照相机镜头倾斜和地形起伏引起的位移已被消除。
栅格数据结构[1]
栅格数据结构栅格数据结构:1-介绍1-1 栅格数据结构是一种用于存储和处理离散数据的数据结构。
它将数据划分为一个个均匀的小单元,即栅格单元,由此构成了一个栅格。
1-2 栅格数据结构广泛应用于地理信息系统(GIS)领域,可以用来表示地理空间数据,如地形、气象、土地利用等。
2-栅格单元2-1 栅格单元是栅格数据结构的最小单元,类似于像素(Pixel)。
2-2 每个栅格单元具有唯一的标识符,通常用行列索引或坐标表示。
2-3 栅格单元可以包含一个或多个属性值,用于表示不同的数据类型。
3-栅格数据集3-1 栅格数据集是指由多个栅格单元组成的数据集合。
3-2 栅格数据集可以有不同的数据类型,如整型、浮点型、字符型等。
3-3 栅格数据集可以表示连续数据(如高程)和离散数据(如土地类型)。
4-栅格操作4-1 创建栅格数据集:可以通过采样、插值、转换等方式创建栅格数据集。
4-2 查询栅格数据:可以通过栅格单元的标识符或属性值进行查询。
4-3 分析栅格数据:可以进行统计、分类、空间分析等操作。
4-4 可视化栅格数据:可以将栅格数据集绘制成图像或动画。
5-栅格数据存储格式5-1 常见的栅格数据存储格式包括GeoTIFF、NetCDF、HDF 等。
5-2 栅格数据存储格式通常包括头文件和数据文件两部分。
5-3 头文件包含了栅格数据的元信息,如分辨率、坐标系统等。
5-4 数据文件包含了栅格数据的实际数值。
6-栅格数据处理软件6-1 常见的栅格数据处理软件有ArcGIS、QGIS、ENVI等。
6-2 这些软件通常提供了丰富的栅格操作功能和分析工具。
6-3 开源软件如GDAL、GRASS也提供了栅格数据处理的功能。
7-栅格数据的应用7-1 地理信息系统:栅格数据结构是地理信息系统中最常用的数据结构之一。
7-2 自然资源管理:栅格数据可以用于研究地表覆盖、土地利用、气象等。
7-3 环境模拟:栅格数据可以用于模拟地形、水文过程、气候变化等。
栅格数据编码
4、链式编码
• 链式编码又称费尔曼编码或边界编码。 • 链式编码将线状地物或区域边界表示为由某一
起始点和在某些基本方向上的单位矢量链组成。 • 单位矢量的长度为一个栅格单元,每个后续点
可能位于其前继点的8个基本方向之一。
链式编码方式
特征码 2 3
链式编码表
起点行 1 4
起点列 4 7
链码 454554 24465670221
• 行程编码分为:游程长度编码 游程终止编码
游程长度编码:(sk,lk) sk—栅格的属性值 lk —游程的连续长度
游程终止编码:(sk,lk) sk—栅格的属性值 lk —游程的终止列号
行程编码图及编码表
B
A
D
C
12 3 4 5 6 7 8
行程长度编码
行程终止编码
1 D A A B B B B B (D,1)(A,2)(B,5)
深度:是指处于四叉树的第几层上,由深度可
推知子区的大小。(一幅2n× 2n栅格阵列的图用四叉树
分割时,具有的最大深度为n,即可分为0,1,2,3,…,n 层。)
• 线性四叉树的编码方法:由上而下分割 自下而上合并
• 线性四叉树的编码形式:四进制编码 十进制编码
线性四叉树只存储每个结点的三个量,数 据量比常规四叉树大为减少,因而应用广 泛。
j (i
n 2
1, n;
j
1, n ) 2
P3
Pi,
j (i
n 2
1, n;
j
n 2
1, n)
• 如果要再分割下一层,其子象限分别为:
P00
Pi,
j (i 1, n ;
第二章 GIS的数据结构—2栅格结构
优 矢 量 数 据 结 构 栅 格 数 据 结 构
点
缺
点
1.便于面向现象的数据表示 1.便于面向现象的数据表示 2.数据结构紧凑 数据结构紧凑、 2.数据结构紧凑、冗余度低 3.有利于网络分析 3.有利于网络分析 4.图形显示质量好 图形显示质量好、 4.图形显示质量好、精度高 1.数据结构简单 1.数据结构简单 2.空间分析和地理现象的模 2.空间分析和地理现象的模 拟均比较容易 3.有利于与遥感数据的匹配 3.有利于与遥感数据的匹配 应用和分析 4.输出方法快速 输出方法快速, 4.输出方法快速,成本比较 低廉
Morton顺序和 顺序和Morton坐标 顺序和 坐标
Morton顺序: 顺序: 顺序
指栅格结构中的一种 扫描顺序, 扫描顺序,它将图像 中的像元按照“ 形 中的像元按照“Z”形 的 轨迹连接起来。 轨迹连接起来。
图2-6
Morton 扫 描 顺 序
Morton坐标:利用Morton顺序对影像中的像元建立索 Morton坐标:利用Morton顺序对影像中的像元建立索 坐标 Morton 引,将原来由行列坐标对表示的空间位置简化为一个简 单数值。 单数值。
0 4 4 0 0 0 4 4 4 0 4 4 4 4 8 0 0 7 4 4 8 8 8 8 0 8 8 8 7 8 8 8 8 7 4 8 7 7 7
四 叉 树 分 割
7
图 2- 8
编 码:
图2- 9
四叉树编码
根结点:最上面的结点, 根结点:最上面的结点,对应整个图形 叶结点: 叶结点:不能再分的结点 n n 对栅格矩阵的要求: 对栅格矩阵的要求: 2 ×2 n为象限分割次数,n+1为四叉树的最大高度或最大层树 为象限分割次数,n+1为四叉树的最大高度或最大层树
栅格数据大全
栅格数据(RasterData )是由正方形或者矩形栅格点组成,每个栅格点或者像素的位置由栅格所在的行列号来定义,所对应的数值为栅格所要表达的内容的属性值。
栅格数据-概念栅格数据结构实际就是像元阵列,每个像元由行列确定它的位置。
H值表示属性或编码为H 的一个点,其位置由所在的第六行,第九列作交叉而得到。
由于栅格结构是按一定的规则排列的,所表示的实体位置很容易隐含在网络文件的存储结构中。
在后面讲述栅格结构编码时可以看到每个存储单元的行列位置可方便地根据其在文件中的记录位置得到,且行列坐标可以很容易地转为其它坐标系下的坐标。
在网络文件中每个代码本身明确地代表了实体的属性或属性的编码。
点实体在栅格数据中表示为一个像元;线实体则表示为在一定方向上连接成串的相邻像元集合;面实体由聚集在一起的相邻像元结合表示。
这种数据结构很适合计算机处理,因为行列像元阵列非常容易存储、维护和显示。
用栅格数据表示的地表是不连续的,是量化和近似离散的数据,这就意味着地表一定面积内(像元地面分辨率范围内)地理数据的近似性,例如平均值、主成分值或按某种规则在像元内提取的值等。
另一方面,栅格数据的比例尺就是栅格大小与地表相应单元大小之比。
像元大小相对于所表示的面积较大时,对长度、面积等的度量有较大影响。
这种影响除对像元的取舍外,还与计算长度、面积的方法有关。
栅格数据-结构 栅格数据栅格数据栅格结构是最简单最直接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性类型或量值,或仅仅包括指向其属性记录的指针。
因此,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。
特点:1、属性明显,定位隐含,即数据直接记录属性本身,而所在的位置则根据行列号转换为相应的坐标,即定位是根据数据在数据集中的位置得到的,在栅格结构中,点用一个栅格单元表示;线状地物用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元在线上;2、面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。
第三讲 空间数据结构之栅格数据
第三讲空间数据结构之栅格数据一:㈠基本概念1:数据结构:指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构2:空间数据结构:地理实体的空间排列方式和相互关系的抽象描述,即地理实体的数据本身的组织方法3:描述内容:地理要素和地理现象,包括空间位置、拓朴关系和属性三个方面4:空间数据结构类型:矢量结构和栅格结构㈡:矢量/栅格数据的显示特点1、栅格数据①显式表示:栅格中的一系列像元(点),为使计算机认识这些像元描述的是某一物体而不是其它物体②显示特点:属性明显,位置隐含2、矢量数据①隐式显示:由一系列定义了始点和终点的线及某种连接关系来描述,线的始点和终点坐标定义为一条表示地物对象形式的矢量②显示特点:属性隐含,位置明显二:栅格数据结构:栅格数据主要编码内容1. 栅格数据的表示①栅格数据结构就是像元阵列的有效组织方法/规范,每个像元的行列号确定位置,用像元值表示空间对象的类型、等级等特征②每个栅格单元只能存在一个值3. 栅格表征地学对象的规则三:栅格数据结构:数据组织方式四:栅格数据结构:栅格数据编码方法1:引子①无论如何取值,在计算机中,如果矩阵的每个元素用一个双字节表示,则一个图层的全栅格数据所需要的存储空间为m(行) ×n(列) ×2(字节)②因此,栅格数据的压缩是栅格数据结构要解决的重要任务2:为何进行压缩编码①当前计算和存储资源是有限的②随着科学技术的进步,数据的时、空分辨率在逐步提升③通过有效的编码方式对相同数据进行存储改良3:压缩编码过程应遵循的原则①编码方法必须是有效的②编码过程必须是可逆—信息的有损和无损之需求③编码方法应能或至少不降低对数据的访问速度4:栅格数据编码方法⑴栅格矩阵法①Raster数据是二维表面上地理数据的离散量化值,对某层而言,pixel值组成像元阵列(即二维数组),其中行、列号表示它的位置。
②在计算机内是一个4*4阶的矩阵。
但在外部设备上,通常是以左上角开始逐行逐列存贮。
栅格数据结构及编码
栅格数据结构及编码在地理信息系统、计算机图形学以及许多其他领域中,栅格数据结构是一种非常重要的表示和存储数据的方式。
简单来说,栅格数据就像是我们常见的像素图,把一个区域划分成一个个小格子,每个格子里都有相应的数据值。
栅格数据结构的基本概念很好理解。
想象一下,我们有一张地图,要把它数字化存储在计算机里。
如果用栅格的方式,就会把这张地图划分成一个个均匀的小方格,就像棋盘一样。
每个小方格对应着地图上的一个区域,里面记录着这个区域的某种属性信息,比如海拔高度、土地利用类型、温度等等。
栅格数据结构有很多优点。
首先,它的结构简单,处理起来相对容易。
对于计算机来说,处理一个个整齐排列的小格子要比处理复杂的不规则图形省事多了。
其次,它很适合用于表示连续变化的现象,比如地形的起伏、温度的分布等。
再者,许多现有的图像处理技术和算法都可以直接应用于栅格数据,这为数据的分析和处理提供了很大的便利。
但是,栅格数据结构也不是完美的,它也有一些缺点。
比如,由于栅格的大小是固定的,可能会导致数据的精度损失。
如果栅格划分得太粗,就可能无法准确地表示一些细节;如果划分得太细,数据量又会变得非常大,处理和存储都成问题。
另外,栅格数据对于边界和形状的描述往往不够精确,可能会出现锯齿状的边缘。
接下来,我们说一说栅格数据的编码方式。
常见的栅格数据编码方法有直接编码、行程编码、链式编码和四叉树编码等。
直接编码是最简单粗暴的一种方式,就是直接把每个栅格单元的值依次存储起来。
这种方法简单直观,但是数据量很大,特别是当栅格数据中有很多相同值的单元时,会造成大量的冗余。
行程编码则是针对直接编码的冗余问题进行改进的一种方法。
它不是记录每个栅格单元的值,而是记录相同值的连续栅格单元的数量和值。
比如说,有一连串的 5 个值都是 10 的栅格单元,行程编码就会记录“5,10”,这样就大大减少了数据量。
链式编码主要用于描述栅格数据的边界。
它通过记录边界上栅格单元的方向来表示边界。
栅格数据存储压缩编码方法
栅格数据存储压缩编码方法(3)、块式编码(4)、四叉树编码(1)、链式编码:由某一原点开始并按某些基本方向确定的单位矢量链。
基本方向可定义为:东=0,南=3,西=2,北=1等,还应确定某一点为原点。
(2)、行程编码:只在各行(或列)数据的代码发生变化时依次记录该代码以及相同代码重复的个数,即按(属性值,重复个数)编码(3)、块式编码:块式编码是将行程编码扩大到二维的情况,把多边形范围划分成由像元组成的正方形,然后对各个正方形进行编码。
(4)、四叉树编码而块状结构则用四叉树来描述,将图像区域按四个大小相同的象限四等分,每个象限又可根据一定规则判断是否继续等分为次一层的四个象限,无论分割到哪一层象限,只要子象限上仅含一种属性代码或符合既定要求的少数几种属性时,则停止继续分割。
否则就一直分割到单个像元为止。
而块状结构则用四叉树来描述。
按照象限递归分割的原则所分图像区域的栅格阵列应为2n2n(n为分割的层数)的形式。
下面就着重介绍四叉树编码。
直接栅格编码是最简单最直观而又非常重要的一种栅格结构编码方法,通常称这种编码为图像文件或栅格文件。
直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐象元记录,也可奇数行从左到右,而偶数行由右向左记录,为了特定目的还可采用其它特殊的顺序,右图直接编码可表示为矩阵:四叉树编码又称为四分树、四元树编码。
它是一种更有效地压编数据的方法。
它将2n2n像元阵列的区域,逐步分解为包含单一类型的方形区域,最小的方形区域为一个栅格像元。
图像区域划分的原则是将区域分为大小相同的象限,而每一个象限又可根据一定规则判断是否继续等分为次一层的四个象限。
其终止判据是,不管是哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的几种地物时,则不再继续划分否则一直分到单个栅格像元为止。
所谓四叉树结构,即把整个2n2n像元组成的阵列当作树的根结点,n为极限分割次数,n+1为四分树的最大高度或最大层数。
2_03栅格GIS的数据模型与结构
③从左到右连结转换好的十进制数:
3,3,2 → 332
Morton码 → 行列地址
位交错法:从0行0列起
四叉树分类
p .4 9 ~ 5 0
指针四叉树(常规):
记录每个节点的下列数据 4个子节点地址 + 父节点地址 + 属性值
线形四叉树:
记录每个叶节点的(行列)地址、深度和属性值 地址可用象限地址
四叉树实现策略
储存:利用Morton码扫描,行ቤተ መጻሕፍቲ ባይዱ编码压缩 建树:解码,自下而上建线形四叉树
栅格实际上是像元(pixel)矩阵。有行有列。每个像元被称 之为格子(cell)。格子的形状可以是六边形的、三角形的, 但更普遍的是方形的。
栅格结构
当栅格表达的范围比较大时,必须考虑地球曲率的影响。可 以使用高斯-克吕格投影。 有的栅格系统采用地理坐标(经纬度),则格子的实际形状 是曲面梯形。在这种情况下,通常采用等距圆柱投影。
p.47
DEM 中相邻的高程数据有相关性,可以利用差分映射法预 处理,提高压缩比。 方法:每行从第 n 列开始按下式计算 Vi = Vi - V (i -1) i : 2, 3, …, n
四叉树
p.48
四叉树
适用于2n×2n栅格。 分割次数i ,(i:0,1,…,n),又称深度 叶节点所在的方形面积为: S = 2(n – i)× 2(n – i) 具有可变分辨率,便于栅格层的合并与分割 编码具有区域性质,便于分析运算 便于与栅格行列坐标转换
一个栅格记录风场的X 分量,另一个记录Y分量。
点实体的表达
栅格用一个格子近似地表示点。当方格的边长较大时,误差 较大。
线实体的表达
栅格数据结构
栅格数据结构栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。
栅格结构的显著特点:属性明显,定位隐含,即数据直接记录属性的指针或数据本身,而所在位置则根据行列号转换为相应的坐标。
栅格数据的编码方法:直接栅格编码,就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码;压缩编码,包括链码(弗里曼链码)比较适合存储图形数据;游程长度编码通过记录行或列上相邻若干属性相同点的代码来实现;块码是有成长度编码扩展到二维的情况,采用方形区域为记录单元;四叉树编码是最有效的栅格数据压缩编码方法之一,还能提高图形操作效率,具有可变的分辨率。
矢量数据结构矢量数据结构是通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。
矢量结构的显著特点:定位明显,属性隐含。
矢量数据的编码方法:对于点实体和线实体,直接记录空间信息和属性信息;对于多边形地物,有坐标序列法、树状索引编码法和拓扑结构编码法。
坐标序列法是由多边形边界的x,y坐标对集合及说明信息组成,是最简单的一种多边形矢量编码法,文件结构简单,但多边形边界被存储两次产生数据冗余,而且缺少邻域信息;树状索引编码法是将所有边界点进行数字化,顺序存储坐标对,由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构,消除了相邻多边形边界数据冗余问题;拓扑结构编码法是通过建立一个完整的拓扑关系结构,彻底解决邻域和岛状信息处理问题的方法,但增加了算法的复杂性和数据库的大小。
矢量栅格数据的比较矢量数据的优缺点:优点为数据结构紧凑、冗余度低,有利于网络和检索分析,图形显示质量好、精度高;缺点为数据结构复杂,多边形叠加分析比较困难。
栅格数据的优缺点:优点为数据结构简单,便于空间分析和地表模拟,现势性较强;缺点为数据量大,投影转换比较复杂。
两者比较:栅格数据操作总的来说容易实现,矢量数据操作则比较复杂;栅格结构是矢量结构在某种程度上的一种近似,对于同一地物达到于矢量数据相同的精度需要更大量的数据;在坐标位置搜索、计算多边形形状面积等方面栅格结构更为有效,而且易于遥感相结合,易于信息共享;矢量结构对于拓扑关系的搜索则更为高效,网络信息只有用矢量才能完全描述,而且精度较高。
栅格数据和矢量数据压缩编码知识讲解
• 多边形文件主要由多边形记录组成,包括多边 形号、组成多边形的弧段号以及周长、面积、 中心点坐标及有关“洞”的信息等。
弧段号 a b c d e f g h i j
起始点 5 8 16 19 15 15 1 8 16 31
终结点 1 5 8 5 19 16 15 1 19 31
左多边形 O E E O O D O A D B
右多边形 A A B E D B B B E C
弧段文件主要有弧记录组成,存储弧段的起止 结点号和弧段左右多边形号。
弧段号 a b c d e f g h i j
点号 5,4,3,2,1 8,7,6,5 16,17,8 19,18,5 15,23,22,21,20,19 15,16, 1,10,11,12,13,14,15 8,9,1 16,19 31,30,29,28,27,26,25,24,31
四叉树编码:
• 是根据栅格数据二维空间分布的特点,将 空间区域按照4个象限进行递归分割(2n×2 n,且n>1),直到子象限的数值单调为止, 最后得到一棵四分叉的倒向树。为了保证 四叉树分解能不断的进行下去,要求图形 必须为2n×2 n的栅格阵列。n 为极限分割次 数,n+1是四叉树最大层数或最大高度。
几种典型数据的压缩与编码
• 2014年4月28日
目录:
➢数据压缩的定义 ➢栅格数据的压缩编码 ➢矢量数据的压缩编码
数据压缩:
• 定义:数据压缩是指在不丢失信息的前提 下,缩减数据量以减少存储空间,提高其 传输、存储和处理效率的一种技术方法。 或按照一定的算法对数据进行重新组织, 减少数据的冗余和存储的空间。
• 分类:有损压缩和无损压缩
栅格结构编码方法:
直接栅格编码:
栅格数据结构
栅格数据结构栅格数据结构1. 简介栅格数据结构(Grid data structure)是一种在计算机科学中用于表示和处理二维或三维空间的数据结构。
栅格数据结构最常用于地图和图像处理等领域,可以将空间划分为若干个小方格,并赋予每个方格值或属性,以便进行空间分析和处理。
2. 栅格数据结构的表示在栅格数据结构中,空间被划分为均匀的小方格,每个小方格被称为一个栅格(Grid cell)。
栅格可以是正方形或矩形,具体的大小和形状取决于应用的需求。
每个栅格可以包含一个或多个值或属性,用于表示该栅格所代表的空间区域的特征。
栅格数据结构可以使用二维数组或矩阵来表示,其中数组的每个元素对应一个栅格。
数组的行和列分别表示栅格在水平和垂直方向上的位置。
每个数组元素可以存储一个或多个值或属性,用于表示栅格的特征。
3. 栅格数据结构的应用3.1 地图在地图应用中,栅格数据结构被广泛用于表示地理信息。
栅格地图将地表划分为若干个栅格,每个栅格代表一个小区域,并存储该区域的地理属性,如高程、土壤类型、植被覆盖等。
栅格数据结构可以帮助分析地图数据,进行地形分析、环境评估、资源管理等。
3.2 图像处理栅格数据结构也常用于图像处理领域。
图像可以被看作一个二维的栅格,每个栅格代表图像中的一个像素点。
每个像素点可以包含多个属性,如颜色值、透明度等。
栅格数据结构可以用于图像的编码、压缩、滤波和特征提取等操作。
3.3 空间分析栅格数据结构在空间分析中也发挥重要作用。
通过对栅格数据进行空间分析,可以计算栅格之间的距离、邻近关系、分布模式等,从而支持地理信息系统(GIS)和其他空间分析应用。
栅格数据结构可以进行栅格代数运算、空间插值、面积计算等,以实现对空间数据的有效处理和分析。
4. 栅格数据结构的优缺点4.1 优点- 简单直观:栅格数据结构的表示直观简单,易于理解和操作。
- 精确度高:栅格数据结构可以提供较高的精确度,在地图和图像处理等领域有广泛应用。
栅格数据结构编码的基本内容
栅格数据结构编码的基本内容栅格数据是最简单、最直观的一种空间数据结构,它是将地面划分为均匀的网格,每个网格作为一个像元,像元的位置由所在行、列号确定,像元所含有的代码表示其属性类型或仅是与其属性记录相联系的指针。
在栅格结构中,一个点(如房屋)由单个像元表达,一条线(如道路)由具有相同取值的一组线状像元表达,一个面状地物(如旱地)由若干行和列组成的一片具有相同取值的像元表达。
图9-11(a) 、(b) 、(c)分别为用栅格像元素表示点、线、面实体的示意图。
如图9-11(a)中的“4”代表点像元(点实体);图9-11(b)中的若干个“6”所代表的点像元相连构成线状像元(线实体);同样,图9-11(c)中若干个相同的像元代码(6,7或4)所组成的区域代表面实体。
a b c图9-11 用栅格像元表示点、线、面实体栅格数据的编码方法:栅格数据的编码方法有多种,常见的有栅格矩阵法、行程编码、块码和四叉树编码等,而四叉树编码是一种更有效地压编数据的方法。
四叉树编码又称为四分树、四元树编码。
它把2×2 像元组成的阵列当作树的根结点,树的高度为n级(最多为n级)。
每个结点有分别代表西北、东北、西南、东南四个象限的四个分支,如图9-12 (a)。
四个分支中要么是树叶,要么是树叉。
树叶用方框表示,它说明该四分之一范围或全属多边形范围(黑色)或全不属多边形范围即在多边形以外(空心四方块),因此不再划分这些分枝;树叉用圆圈表示,它说明该四分之一范围内,部分在多边形内,另一部分在多边形外,因而继续划分,直到变成树叶为止。
四叉树编码正是划分,逐步分解为包含单一类型的方形区域,其最小的方形区域为一个栅格像元。
图像区域划分的原则是将区域分为大小相同的象限,而每一个象限又可根据一定规则判断是否继续等分为次一层的四个象限。
其终止判据是,不管是哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的几种地物时则不再继续划分,否则一直分到单个栅格像元为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)
压缩编码方法-块码
基本思想: 块式编码是将游程长度编码扩大到二维的情况,把多边形范围划分 成由像元组成的正方形,然后对各个正方形进行编码。块式编码的数据 结构由初始位置(行号,列号) 、半径和属性,再加上记录单元的代码 组成。如图:
分类较细、 地物斑块较小
B
连续分布地理要素
C
具有特殊意义 的较小地物
B
中心点法 处理方法: 用处于栅格中心处的地物类型或现象 特性决定栅格代码 常用于具有连续分布特性的地理要素,如降雨量 分布、人口密度图等。 面积占优法 处理方法:以占栅格区域面积比例最大的地物类 型或现象特性决定栅格单元的代码 面积占优法常用于分类较细,地物类别斑块较小 的情况
2、压缩编码方法 目的:用尽可能小的数据量来记录尽可能多的信息。 方法:游程长度编码、链码、块码、四叉树编码。
压缩编码-游程长度编码
基本思想:对于一幅栅格图像,常有行(列)方向 上相邻的若干点具有相同的属性代码,因而可采取 某种压缩方法压缩那些重复的记录内容。 方法:游程长度编码是按行(或列)序存储多边形 内的各个像元的列号,即在某行(列)上从左 (上)至右(下)存储属该多边形的像元个数。
像元1
X坐标
Y坐标
层1属性值 层2属性值 … 层n属性值 像元2 … 像元n 层2 …
…
像元n
六、栅格数据存储编码
1、直接栅格编码 当每个像元都有唯一一个属性值时,一层内的编码就需 要m行×n列×3(x,y和属性编码值)个存储单元。
栅格数据是二维表面上地理数据的离散量化值,每一层的象元值组 成像元阵列(即二维数组),其中行、列号表示它的位置。 例如影像: A A A A A B B B A B B B A A A B 在计算机内是一个4*4阶的矩阵。但在外部设备上,以左上角开始逐行 逐列存贮。如上例存贮顺序为:A A A A A B B B A A B B A A A B
重要性法 处理方法:根据栅格内不同地物的重要性,选取最重 要的地物类型决定相应的栅格单元代码 重要性法常用于具有特殊意义而面积较小的地理要素, 特别是点、线状地理要素,如城镇、交通枢纽、交通 线、河流水系等,在栅格中代码应尽量表示这些重要 地物 长度占优法 处理方法:以网格中线的大部分长度所对应的面 域的属性值来确定。
1 1 1 3
1 1 1 3
2 2 3 3
2 3 3 2
四、栅格数据的值
整数值:如土壤分类
1.7 1.8 2.0 2.0 1.7 1.8 2.0 2.2
实数:如高程值、 1.8 1.8 2.3 2.2 污染物浓度、 2.2 2.2 2.2 2.0 温度
a a
a a a c
b b c c
b c c b
以像元为序。不同层上同一像元位置上的各属性值表示为一个列 数组。 以层为基础。每一层又以像元为序记录它的坐标和属性值。 以层为基础。但每一层内以多边形为序记录多边形的属性值和充 满多边形的各像元的坐标。
栅格数据文件 栅格数据文件
层1 像元1 像元2 X,Y,属性值 X,Y,属性值 … X,Y,属性值 多边形N 层2 … 层n 层n 栅格数据文件 层1 多边形1 属性值 像元1坐标 … 像元n坐标
字母:蔬菜类型、土地分区
a c
五、栅格数据组织方法
栅格数据以层的方 式来组织文件,在栅格 数据结构中,物体的空 间位置就用其在笛卡尔 平面网格中的行号和列 号坐标表示,物体的属 性用象元的取值表示, 每个象元在一个网格中 只能取值一次,同一象 元要表示多重属性的事 物就要用多个笛卡尔平 面网格,称为层。
2、块码 (BlockCodes)
0 4 4 0 0 0 0 0
4 4 4 0 0 0 0 0
4 4 4 4 8 0 0 0
7 4 4 8 8 8 0 0
7 4 8 8 8 8 8 0
7 7 8 8 8 8 8 8
7 7 7 7 7 8 8 8
7 7 7 7 8 8 8 8
(1,1,1,0);(4,1,2,0); (6,1,3,0);(7,4,1,0); (8,4,1,0);(8,5,1,0); (1,2,1,4);(1,3,1,4); (2,1,2,4);(2,3,3,4); (2,5,1,4);(1,4,1,7); (1,5,1,7);(1,6,1,7); (1,7,2,7);(2,6,1,7); (3,7,2,7);(5,7,1,7); (3,5,2,8);(4,4,1,8); (5,3,1,8);(5,4,2,8); (5,6,1,8);(5,8,1,8); (7,5,1,8);(6,6,3,8);
① 形状
(a)三角形
(b) 菱形
(c) 六边形
〔d〕正方形
② 大小
格网分辨率
Y:列 3 3 3
栅格象元的大小与描述实体的近似程度及存储的空间相矛盾
三、栅格单元代码的确定方法
a b 为了逼近原始数据精度, 除了采用这几种取值方法 外,还可以采用缩小单个 栅格单元的面积,增加栅 格单元总数的方法。
A
栅格数据结构及 编码
面 线 点
定义:栅格数据结构是 以规则的阵列来表示空 间地物或现象分布的数 据组织,组织中的每个 数据表示地物或现象的 非几何属性特征。
点:为一个像元 线:在一定方向上 连接成串的属性相 同的相邻像元集合。 面:属性相同聚集 在一起的相邻像元 集合。来自 二、栅格像元参数 ——形状与大小
(1) 0 4 4 0 0 0 0 0 4 4 4 0 0 0 0 0 4 4 4 4 8 0 0 0 7 4 4 8 8 8 0 0 7 4 8 8 8 8 8 0 7 7 8 8 8 8 8 8 7 7 7 7 7 8 8 8 7 7 7 7 8 8 8 8
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;