Transcript 4)边界代数算法
第三章 空间数据结构与空间数据库 §1概述 §2矢量数据结构 §3栅格数据结构 §4栅格与矢量数据结构的转换 §5GIS空间数据结构的建立 §4矢量栅格数据结构的比较与转换 一.两种数据结构的比较 二.矢量格式向栅格格式的转换 三.栅格格式向矢量格式的转换 四.矢量与栅格一体化数据结构 五.空间数据库 一、矢量数据模型与栅格数据模型比较 栅格模型 矢量模型 优点: 1、数据结构简单 2、叠加操作易实现(空间分析比较容易) 3、便于做图象的有效增强,有利于与遥感数 据的匹配应用和分析 4、图形显示质量好、精度高 优点: 1、提供更严密的数据结构(紧凑、冗余度低) 2、提供更有效的拓扑编码,因而对需要拓扑 信息的操作更有效,如网络分析 3、便于面向现象的数据表示。 4、图形输出美观,接近于手绘 缺点: 1、数据结构不严密不紧凑,需要用压缩技术 解决这个问题 2、难以表达拓扑关系 3、图形输出不美观,线条有锯齿,需要增加 栅格数量来克服,但会增加数据量 缺点: 1、比栅格数据结构复杂 2、叠加操作没有栅格有效 3、表达空间变化性能力差 4、不能象数字图形那样做增强处理 二. 矢量数据结构向栅格数据结构的转换 包括: 1)点的转换: 2)线段的转换: 3)多边形的转换: 二.矢量格式向栅格格式的转换 1矢量到栅格的转换(栅格化过程包括以下操作): 1)将点和线实体的角点的笛卡尔坐标转换到预定分 辩率和已知位置值的矩阵中; 2)对多边形而言,测试过角点后,剩下线段处理, 这时只要利用二次扫描就可以知道何时到达多边 形的边界,度记录其位置与属性值。 二.矢量格式向栅格格式的转换 2 多边形转换(栅格化过程包括以下操作): 1)内部点扩散算法: 2)射线算法: 3)扫描填充法: 4)边界代数算法: 5)复数积分算法 1)内部点扩散算法 该算法由每个多边形一个内部点(种子点)开始,向其八个方 向的邻点扩散,判断各个新加入点是否在多边形边界上,如果 是边界上,则该新加入点不作为种子点,否则把非边界点的邻 点作为新的种子点与原有种子点一起进行新的扩散运算,并将 该种子点赋以该多边形的编号。重复上述过程直到所有种子点 填满该多边形并遇到边界停止为止。扩散算法程序设计比较复 杂,并且在一定的栅格精度上,如果复杂图形的同一多边形的 两条边界落在同一个或相邻的两个栅格内,会造成多边形不连 通,这样一个种子点不能完成整个多边形的填充。 2)射线算法 射线算法可逐点判断数据栅格点在某多边形之外或在多边形内, 由待判点向图外某点引射线,判断该射线与某多边形所有边界 相交的总次数,如相交偶数次,则待判点在该多边形外部,如 为奇数次,则待判点在该多边形内部(图7-12)。采用射线算 法,要注意的是:射线与多边形边界相交时,有一些特殊情况 会影响交点的个数,必须予以排除(图7-13)。 2)射线算法 射线算法 2)射线算法 射线算法的特殊情况 3)扫描算法 扫描算法是射线算法的改进,将射线改为沿栅格阵列列 或行方向扫描线,判断与射线算法相似。扫描算法省去 了计算射线与多边形边界交点的大量运算,大大提高了 效率。 4)边界代数算法(BAF-Boundary Algebra Filling)[任伏虎] 边界代数多边形填充算法是一种基于积分思想的矢量格式向栅 格格式转换算法,它适合于记录拓扑关系的多边形矢量数据转 换为栅格结构。图7-15表示转换单个多边形的情况,多边形编 号为a,模仿积分求多边形区域面积的过程,初始化的栅格阵列 各栅格值为零,以栅格行列为参考坐标轴,由多边形边界上某 点开始顺时针搜索边界线,当边界上行时(图7-15-a),位于 该边界左侧的具有相同行坐标的所有栅格被减去a;当边界下行 时(图7-15-b),该边界左边(前进方向看为右侧)所有栅格 点加一个值a,边界搜索完毕则完成了多边形的转换。 4)边界代数算法 单个多边形的转换 4)边界代数算法 对于这种多个多边形的矢量向栅格转换问题,只需对 所有多边形边界弧段作如下运算而不考虑排列次序: 当边界弧段上行时,该弧段与左图框之间栅格增加一 个值(左多边形编号减去右多边形编号);当边界弧 段下行时,该弧段与左图框之间栅格增加一个值(右 多边形编号减去左多边形编号)。两个多边形转换过 程如图所示。 4) 边 界 代 数 算 法 5)复数积分算法 对全部栅格阵列逐个栅格单元地判断该栅格归属的多边形编码, 判别方法是由待判点对每个多边形的封闭边界计算复数积分, 对某个多边形,如果积分值为2r,则该待判点属于此多边形, 赋以多边形编号,否则在此多边形外部,不属于该多边形。 三.栅格数据结构向矢量数据结构的转换 1.基于图像数据的矢量化方法: 1)二值化: 2)细化: 3)边界线的追踪: 4)拓扑关系的生成: 5)去除多余点及曲线圆滑: 三.栅格数据结构向矢量数据结构的转换 • 多边形边界提取:采用高通滤波将栅格图像二值化或以特殊值标 识边界点; • 边界线追踪:对每个边界弧段由一个结点向另一个结点搜索,通 常对每个已知边界点需沿除了进入方向的其他7个方向搜索下一 个边界点,直到连成边界弧段; • 拓扑关系生成:对于矢量表示的边界弧段数据,判断其与原图上 各多边形的空间关系,以形成完整的拓扑结构并建立与属性数据 的联系; • 去除多余点及曲线圆滑:由于搜索是逐个栅格进行的,必须去除 由此造成的多余点记录,以减少数据冗余;搜索结果,曲线由于 栅格精度的限制可能不够圆滑,需采用一定的插补算法进行光滑 处理,常用的算法有:线形迭代法;分段三次多项式插值法;正 轴抛物线平均加权法;斜轴抛物线平均加权法;样条函数插值法。 三.栅格数据结构向矢量数据结构的转换 2.基于再生栅格数据的矢量化方法: 1)设别内边界: 2)设别公共边界: 3)追踪外边界: 三.栅格数据结构向矢量数据结构的转换 3.多边形栅格转矢量的双边界搜索算法 (DBDF-Double Boundary Direct Finding): 算法的基本思想是通过边界提取,将左右多边形信息 保存在边界点上,每条边界弧段由两个并行的边界链 组成,分别记录该边界弧段的左右多边形编号。边界 线搜索采用2*2栅格窗口,在每个窗口内的四个栅格 数据的模式,可以唯一地确定下一个窗口的搜索方向 和该弧段的拓扑关系,极大地加快了搜索速度,拓扑 关系也很容易建立。 三.栅格数据结构向矢量数据结构的转换 3多边形栅格转矢量的双边界搜索算法 具体步骤如下: •边界点和结点提取: •边界线搜索与左右多边形信息记录: •多余点去除: •边界点和结点提取: a b a a a b a b c d b c c c a c (a) (b) (c) (d) a b a b a b a b c b c a b c b a (e) (f) (e) (g) 节点的8种情形 •边界点和结点提取: a a a b a a b b a b a b (a) (b) (c) a a a b a b b a b b a a (d) (e) (f) 边界点的6种情形 三.栅格数据结构向矢量数据结构的转换 4.矢量化过程要保证以下两点: (从栅格单元转换到几何图形的过程称 为矢量化) 1)拓扑转换,即保持栅格表示出的连通性与 邻接性; 2)转换物体正确的外形。 四.矢量与栅格一体化数据结构 1.基本概念: Morton码;统一的约定(点、线、面)。 2. 矢量与栅格一体化数据结构设计: 1)点状目标和结点的数据结构; 2)线状目标和弧段数据结构; 3)面状目标的数据结构. 五. GIS空间数据结构的建立 1.系统功能与数据间的关系 • 以城市信息系统为例 2.空间数据的分类和编码 • 1)空间数据的分类: 2) 空间数据的编码: 3.矢量数据的输入 4.栅格数据的输入 §4空间数据库 (第四章 空间数据库) 一.概述 二.空间数据库概念模型设计 (传统的数据模型) 三.空间数据库概念模型设计 (语义数据模型和面向对象数据模型) 四.空间数据库逻辑模型设计和物理设计) 五. 5GIS空间时态数据库 一.概述 1.空间数据库的概念 • 数据库就是为一定目的服务,以特定的数据存储的相关联的数据集 合,它是数据管理的高级阶段,是从文件管理系统发展而来的。地 理信息系统的数据库(简称空间数据库或地理数据库)是某一区域 内关于一定地理要素特征的数据集合。 • 数据库 图书馆 • 数据 图书 • 数据模型 书卡编目 • 数据的物理组织 图书存放规则、书架 • 数据库管理系统 图书管理员 • 外存 书库 • 用户 读者 • 数据存取 图书阅览 1.空间数据库的概念 数据组织的分级:数据库中的数据组织一般可以分为四级:数据项、记录、文件和数据库。 1)数据项 数据项是可以定义数据的最小单位,也叫元素、基本项、字段等,数据项与现实 世界实体的属性相对应。每个数据项都有一个名称,称为数据项目。数据项 的值可以是数值的、字母的、字母数字的、汉字的等形式。数据项的物理特 点在于它具有确定的物理长度,可以作为整体看待。 2)记录 记录是由若干相关联的数据项组成,是处理和存储信息的基本单位,是关于一个 实体的数据总和,构成该记录的数据项表示实体的若干属性。为了唯一标识 每个记录,就必须有记录标识符,也叫关键字。记录可以分为逻辑记录与物 理记录。 3)文件 文件是一给定类型的(逻辑)记录的全部具体值的集合,文件用文件名称标识, 文件根据记录的组织方式和存取方法可以分为:顺序文件、索引文件、直接 文件和倒排文件等。 4)数据库 数据库是比文件更大的数据组织,数据库是具有特定联系的数据的集合,也可以 看成是具有特定联系的多种类型的记录的集合。数据库的内部构造是文件的 集合,这些文件之间存在某种联系,不能孤立存在。 一.概述 2.GIS数据库(空间数据库)的设计 (1)空间数据库设计过程; (2)空间数据库的数据模型设计; (3)空间数据库设计的原则\步骤和技术方法. 3.空间数据库的实现和维护 (1) 空间数据库的实现; (2) 相关的其他设计; (3) 空间数据库的运行和维护 二.传统的数据模型 1.层次模型 2.网络模型 3.关系模型 数据库结构 • 关系模型(relational model)满足一定条件的二维表格 • 层 次 模 型 ( hierarchical model ) 以 记 录 类 型 为 节 点 的 有 向 树 (tree),其主要特征是: (1)除根节点外,任何节点都有且 只 有一个“父亲”;(2)“父”节点表示的实体与“子”节点表示 的实体是一对多的联系。 • 网状模型(network model) • 特点:1)可以有一个以上的结点没有“父”结点; • 2)至少有一个结点有多于一个“父”结点; • 3)结点之间可以有多种联系; • 4)可以存在回路 三.空间数据库概念模型设计 1.语义数据模型 2.面向对象的数据模型 四.空间数据库逻辑设计和物理设计 1.空间数据库逻辑设计的步骤和内容 2.E-R模型向关系数据模型的转换 3.关系数据库的逻辑设计 4.空间数据库的物理设计 五. GIS空间时态数据库 1.空间时态数据库概述 (1) 空间时态数据的表达; (2) 空间时态数据的更新; (3) 空间时态数据的查询; 2.时空一体化数据模型 (1) (2) (3) (4) 时间片快照模型; 底图叠加模型; 时空合成模型; 全信息对象模型;