第四章空间数据结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.2.2 压缩编码方式
压缩编码的目的就是用尽可能少的数据量记录尽可能多的 信息,其类型分为 ➢ 信息无损编码:编码过程中没有任何信息损失,通过解码操
作可以完全恢复原来的信息 ➢ 信息有损编码:为了提高编码效率,最大限度地压缩数据,
在压缩过程中损失一部分相对不太重要的信息,解码时这 部分难以恢复
在地理信息系统中的压缩编码多采用信息无损编码,而对 原始遥感影像进行压缩时也可以采取有损压缩编码方法。
适用范围:制图及一般查询,不适合复杂的空间分析
4.1.2 拓扑结构编码法
具有拓扑关系的矢量数据结构就是拓扑数据结构。 拓扑数据模型是一种基于矢量的比较有效的数据模 型,ArcGIS的Coverage就是一种拓扑数据结构。
拓扑数据结构包括树状索引编码法、双重独立编码 结构、链状双重独立编码结构等。其实质是通过地 理实体之间的空间关系表示来线和多边形。
终结点 N2 N3 N1
左多边形 P2 P4 Ø
右多边形 P1 P1 P1
C4
N4 N1
C1 P2 C6 C8
C3 P1 N2 C5 N5 P3
C2
C9 N3
N7 C7 P5 P4
N6
C10
补充:基于双重独立编码的拓扑检查
3. 从经过代码位置转换的记录中,任取一个起始节点作为起 点,顺序连接各节点,使得节点能自行封闭,即
拓扑结构的特点是:
除结点外,每个空间对象都是由更基本的对 象组成的。只有点的坐标是被实际存储的,其他 复杂空间对象的坐标信息实际上是逻辑构成的。 任一复杂对象能分解为一组结点及其拓扑关系的 定义。
这样,一个图层中存储的全部坐标信息就是 结点的坐标,建立其他对象只是建立对这些坐标 的引用。虽然建立拓扑结构需要额外的存储数据, 但对坐标数据的存储却没有数据冗余的问题。
• 例如,确定原点为像元(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 的整数代表。
练习
55554433 55554432 55555322 55555522 76614433 77714433 22211111 22555551
链码(Chain Codes)优缺点
• 优点: 链式编码对多边形的表示具有很强的数据压
坐标序列法的优缺点
优点:文件结构简单,易于实现以多边形为单位的运算和显示 缺点: 1) 对于相连的线,交叉点要重复输入和存储;对于多边形其
公共边也要重复输入和存储,从而产生数据冗余和分析处 理不便的问题; 2) 对于复杂多边形,不能解决多边形中“岛”、“洞”之类 的镶套问题,“岛”或“洞”只能作为单个的多边形来构 造,没有和周围的多边形建立关系; 3) 很难检查多边形的边界正确与否,即多边形的完整性; 4) 每个多边形自成体系,缺少有关邻域的信息,使拓扑关系, 即相邻关系很难跟踪。
线与多边形之间的树状索引
点与多边形之间的树状索引
树状索引编码消除了相邻多边形边界的数据冗 余和不一致的问题,在简化过于复杂的边界线或合并 相邻多边形时可不必改造索引表,邻域信息和岛状信 息可以通过对多边形文件的线索引处理得到,但是比 较繁琐,因而给相邻函数运算,消除无用边,处理岛 状信息以及检查拓扑关系带来一定的困难,而且两个 编码表都需要以人工方式建立,工作量大且容易出错 。
4.2 栅格数据结构
栅格结构是最简单最直接的空间数据 结构,是指将地球表面划分为大小均匀紧 密相邻的网格阵列,每个网格作为一个象 元或象素由行、列定义,并包含一个代码 表示该象素的属性类型或量值,或仅仅包 括指向其属性记录的指针。
栅格数据编码方法分为两大类: ➢直接栅格编码 (完全栅格数据结构) ➢压缩编码方法 (压缩栅格数据结构)
点与边界线之间的树状索引
树状索引编码法示例
1)点文件: 点号 1 2 … 40
坐标 x1,y1 x2,y2 … x40,y40
2)线文件 线号 起点 终点
I
1
6
II
6
8
………
X
33 33
3)多边形文件 多边形编号 10 20 30 40 50
点号 1,2,3,4,5,6 6,7,8 … 33,34,35,36,37,38,39,40,33
矢量数据模型中单一空间实体的表达
点的表示
D x, y
线的表示
面的表示
L x 1 ,y 1 ;x2,y2; ;xn,yn P x 1,y 1 ;x2,y2; ;x 1 ,y 1
坐标序列法(Spaghetti方式)示例
10:
x1,y1;x2,y2;x3,y3;x4,y4;x5,y5;
x6,y6;x7,y7;x8,y8;x9,y9;x10,y10;
1 树状索引编码法(层次索引法、索引式结构) 采用树状索引以减少数据冗余并间接增加邻域
信息,方法是对所有边界点进行数字化,将坐标对 以顺序方式存储,由点索引与边界线号相联系,以 线索引与各多边形相联系,形成树状索引结构
树状索引编码法示例
图形数据
树状索引编码法示例
线与多边形之间的树状索引
树状索引编码法示例
矢量数据的类型
矢量结构允许最复杂的数据以最小的 数据冗余进行存储,相对栅格结构来说, 数据精度高,数据存储的冗余小,是高 效的空间数据结构。
分为实体数据结构和拓扑数据结构。
实体数据结构
实体数据结构中,空间数据按照基本的空间 对象(点、线或多边形)为单元进行单独的组织, 其中不包含拓扑关系信息,最典型的是所谓的面 条(spaghetti)结构,又称为坐标序列法。常采 用这种数据结构的有ArcGIS中的Shape文件和 MapInfo的Tab文件等。(49页)
C3 P1 N2 C5 N5 P3
C2
C9 N3
N7 C7 P5 P4
N6
C10
补充:基于双重独立编码的拓扑检查
2. 如果P1在左(右)多边形的位置,将之与处在右(左)多 边形处位置的多边形号相交换,同时也将该记录的节点号 位置相应的交换;反之,顺序不变。
线号 C1 C2 C3
起结点 N1 N2 N3
N6
C10
3.链式双重独立编码结构
链式双重独立编码是DIME数据结构的一种改 进。在DIME中,一条边只能用直线两端点的序号 及相邻多边形表示,而在链状数据结构中,将若 干条直线段合为一个弧段(或链段),每个弧段 可以有许多中间点。ARCGIS中的Coverage数据模 型就是采用链式双重独立编码结构。
① 链码(Chain Codes) • 链式编码又称为弗里曼链码(Freeman,1961)
或边界链码。该编码方法将数据表示为由某 一原点开始并按某些基本方向确定的单位矢 量链。 • 如:基本方向可定义为:东=0,东南=1, 南=2,西南=3,西=4,西北=5,北=6, 东北=7 等八个基本方向。
C1,C5,C4
P3
C6,C7,C8
P4
C5,C7,C10,C2
….
节点 N1 N2 N3 N4 ….
C4
N4 N1
C1 P2 C6
C8
P1 C3
P3 N2 C5 N5
C2
C7
N7
C9 P5 P4
N3
N6
C10
点拓扑
坐标
X1,y1
X2,y2
X3,y3
X4,y4
线
C1,C4,C3 C1,C5,C2 C2,C3,C10 C4,C6,C8
矢量数据结构
矢量数据结构是对矢量数据模型进行数据的 组织,通过记录坐标的方式尽可能精确地表示点、 线、多边形等地理实体,坐标空间设为连续,允 许任意位置、长度和面积的精确定义。
其精度仅受数字化设备的精度和数值记录字 长的限制。
矢量数据
MAP SHEETS
Zoning, Polygon Streams, Line Wells, Point Roads, Line Buildings. Polygon
多边形边界 I,II,IX III,VII,VIII,IX,X X IV, VI,VII II,III,IV,V
形成的文件记录
索引式
11
12 13
30 29 14
10 31
28 27
15
1
24 25 26
16
23
2
98
17
22
7
21
6
20
3
5 18
19
4
c f g hj
e f i bc i
补充:基于双重独立编码的拓扑检查
1. 从线文件中,找出与当前编辑的多边形相关的所
有记录。如对上例中的P1进行检查,先在线文件
中找出与p1有关的所有记录:
线号 C1 C2 C3
起结点 N1 N3 N1
终结点 N2 N2 N3
左多边形 P2 P1 P1
右多边形 P1 P4 Ø
C4
N4 N1
C1 P2 C6 C8
2.双重独立编码结构
美国人口调查局于1980年建立的双重独立地 图编码系统。简称DIME(Dual Independent Map Encoding) ,这种结构最适合于城市地理信息系 统。
线文件是双重独立编码结构的基本对象。线 文件由线标识码、起始节点、终止节点、左多边 形和右多边形组成;节点文件由节点的标识码、 节点坐标及与该节点连接的线的标识码等;多边 形文件由多边形标识码、组成该多边形的线标识 码组成。
– 链码 – 游程长度编码 – 块码 – 四叉树 – 二维行程编码
4.2.1 直接栅格编码
• 直接编码就是将栅格数据看作一个数据矩阵, 逐行(或逐列)逐个记录代码,可以每行都从 左到右逐个象元进行记录,也可以奇数行地从 左到右而偶数行地从右向左记录,为了特定目 的还可采用其他特殊的顺序
一些常用的栅格排列顺序
基本概念
• 弧段:构成多边形的线称为弧段,每个弧段可以有许 多中间点。
• 节点:两条以上弧段相交的点称为节点 • 岛:由一条弧段组成的多边形称为岛或洞。 • 简单多边形:多边形图中不含岛的多边形称为简单多
边形。 • 复合多边形:含岛的多边形称为复合多边形,包括为
边界和内边界,岛可以看做复合多边形的内边界。
线号
C1 C2 C3 C4 C5 C6
起结点
N1 N3 N1 N1 N2 N4
C4
N4 N1
C1 P2 C6
C8
P1 C3
P3 N2 C5 N5
C2
N7 C7
C9 P5 P4
N3
N6
终结点
C10 左多边形
右多边形
N2
P2
P1
N2
P1
P4
N3
P1
Ø
N4
Ø
P2
N5
P2
P4
N5
P3
P2
C4
N4 N1
C1 P2 C6
x11,y11; x1,y1。
20:
x1,y1;x12,y12;x13,y13;x14,y14;
x15,y15;x16,y16;x17,y17;x18,y18;
图形数据
x19,y19;x20,y20;x21,y21;x22,y22;
编码数据
x23,y23;x8,y8;x9,y9;x10,y10; x11,y11;x1,y1。
4.
N1 N2 N3 N1。如果不能自动封闭,则说
明出现记录缺损或多余,线文件有错误。
线号 C1 C2 C3
起结点 N1 N2 N3
终结点 N2 N3 N1
左多边形 P2 P4 Ø
右多边形 P1 P1 P1
C4
N4 N1
C1 P2 C6 C8
C3 P1 N2 C5 N5 P3
C2
C9 N3
N7 C7 P5 P4
拓扑结构编码是某些空间分析的基础。
小结
矢量数据结构特点:定位明显,属性隐含。 其定位是根据坐标直接存储的,无需任何推算; 属性则一般存于文件头或数据结构中某些特定的位 置上。 这种特点使得矢量数据结构在图形运算的算法 总体上比栅格数据结构复杂的多,在叠加运算、邻 域搜索等操作时比较困难,有些甚至难以实现,但 其也有便利和独到之处,在计算长度、面积、形状 和图形编辑、几何变换操作中,矢量结构有很高的 效率和精度。
C8
P1 C3
P3 N2 C5 N5
C2
C9 N3
C7 N7
P5 P4 N6
② 多边形:多边形由一系列 的相互连结的线组成,并
C10
面拓扑
多边形
线ID
通过其内部的唯一标识点
P1
C1,C2,C3
来标识。标识点的标识码 和该多边形属性表中的标 识码相一致,由此建立的 多边形空间信息和属性信 息的关系。
P2
第四章空间数据结构
数据结构即数据的组织形式,是适用于计算 机存储、管理、处理的数据逻辑表达。换句话说, 是指数据以什么形式在计算机中存储和处理。
空间数据结构是空间逻辑数据模型在计算机 中的组织关系和编排方式。包括基于矢量模型的 矢量数据结构、基于栅格模型的栅格数据结构和 基于不规则镶嵌模型的TIN的曲面数据结构等。
相关文档
最新文档