4)边界代数算法

Download Report

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)复数积分算法
对全部栅格阵列逐个栅格单元地判断该栅格归属的多边形编码,
判别方法是由待判点对每个多边形的封闭边界计算复数积分,
对某个多边形,如果积分值为2r,则该待判点属于此多边形,
赋以多边形编号,否则在此多边形外部,不属于该多边形。
三.栅格数据结构向矢量数据结构的转换
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)
时间片快照模型;
底图叠加模型;
时空合成模型;
全信息对象模型;