p1、p2、p3、p4、p5、p6和p7是节点;a,b,c,d,e,f,g,h,i和j为弧段;A,B,C,D,E为多边形。 p1 p6 p2 p3 p4 p5 b h i j a g c p7 d e f A B C D E 为了表示出节点、弧段以及多边形之间的拓扑关系,可以使用如下几个关系表: 节点 弧段 p1 a,b,h P2 a,d,f P3 d,c,e P4 e,g,f P5 g,h,i P6 b,i,c p7 j 节点与弧段的拓扑关系 弧段 节点(始节点,终节点) a p1,p2 b p1,p6 c p6,p3 d p3,p2 e p3,p4 f p2,p4 g p4,p5 h p5,p1 i p5,p6 j p7,p7 弧段与节点的拓扑关系 弧段 多边形 左 右 a A B b 0 A c D A d C A e D C f C B g D B h 0 B i D 0 j D E 弧段与多边形的拓扑关系 0代表制图区域外部的多边形 多边形 弧段 A a,b,c,d B a,f,g,h C -d, e,-f D -c,-i,-g,-e,-j E j 多边形与弧段的拓扑关系 1 有的关系表中D多边形中没有-j,“-”代表的是逆时针方向的弧段; 2 有的关系表中D多边形中含有-j ,“-”表示面域中含有岛。 拓扑数据结构编码 双重独立地图编码 链状双重独立式编码 双重独立地图编码 由两个主要表格组成: 节点表 节点号 坐标 节点 坐标 p1 X1,y1 P2 X2,y2 … … 线段表 线段号 起点 终点 左多边形 右多边形 线段号 起点 终点 左多边形 右多边形 a p1 p2 A B b p1 p6 0 A … … … … … 链状双重独立式编码 由四个或三个文件组成 节点文件:与双重独立地图编码类似 弧段坐标文件:标识码,弧段中间点 弧段文件:标识码,起始节点,终止节点,左多边形,右多边形,内点 多边形文件:标识码,弧段号及面积、周长及中心点坐标等 栅格数据结构 栅格结构是以规则的像元阵列来表示空间地物或现象的分布的数据结构,其阵列中的每个数据表示地物或现象的属性特征。换句话说,栅格数据结构就是像元阵列,用每个像元的行列号确定位置,用每个像元的值表示实体的类型、等级等的属性编码 。 栅格数据结构 点实体:表示为一个像元; 线实体:表示为在一定方向上连接成串的相邻像元的集合; 面实体:表示为聚集在一起的相邻像元的集合。 栅格数据结构的表示 1 简单数据结构的表示 把栅格数据看做一个数据矩阵,逐行记录各像元代码。 2 其他数据结构的表示 栅格数据的压缩编码 1 链码 2 游程长度编码 3 块状编码 4 四叉树编码 链码 由某一起始点开始并按某些基本方向确定的单位矢量链。前两个数字表示起点的行列号,第三个数字开始的每个数字表示单位矢量的方向。 0 1 2 7 3 6 5 4 单位矢量方向 链码 优点:有很强的数据压缩能力,并具有一定的运算功能,如面积、周长等的计算,类似于矢量数据结构,比较适合于存储图形数据。 缺点:叠置运算较难实施,对局部的改动会影响整体结构,而且相邻区域的边界重复存储。 游程长度编码方法(1) 0,7,2,1,0,2 0,1,1,1,0,4,2,1,0,1,3,2 0,5,2,1,0,1,3,3 …… 2 1 3 0 游程长度编码方法(2) 0,7,2,8,0,10 0,1,1,2,0,6,2,7,0,8,3,10 0,5,2,6,0,7,3,10 …… 2 1 3 0 块状编码 4 4 4 7 7 7 7 7 0 4 4 4 4 7 7 7 4 4 4 4 8 8 7 7 0 0 4 8 8 8 7 7 0 0 8 8 8 8 7 8 0 0 0 8 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 4 4 4 7 7 7 7 7 0 4 4 4 4 7 7 7 4 4 4 4 8 8 7 7 0 0 4 8 8 8 7 7 0 0 8 8 8 8 7 8 0 0 0 8 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 块状编码 块状编码是将游程长度编码扩展到二维情况,采用方形区域作为记录单元,数据结构为:行号,列号,半径,单元代码,行号,列号,半径,单元代码,……。 1,1,1,4, 1,2,2,4 ,1,4,1,7, 1,5,1,7, 1,6,2,7, 1,8,1,7, 2,1,1,0, 2,4,1,4, 2,5,1,4, 2,8,1,7, 3,1,1,4, 3,2,1,4, 3,3,1,4, 3,4,1,4, 3,5,2,8, 3,7,2,7,…… 四叉树编码 Morton码 四叉树编码 再进行游程
原创力文档

文档评论(0)