GIS原理与应用电子教案11

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

第一节 图形屏幕编辑的基本操作算法
三、面的捕捉算法
面的捕捉实际上就是判断光标点 S(x, y)是否在多边形内,若 在多边形内则说明捕捉到。判断点是否在多边形内的算法主要有垂线 法或转角法,这里介绍垂线法。
垂线法的基本思想是从光标点引垂线(实际上可以是任意方向的射
线),计算与多边形的交点个数。若交点个数为奇数则说明该点在多 边形内;若交点个数为偶数,则该点在多边形外。
第三节 空间数据的压缩编码方法
2、游程长度(行程)编码
地理数据往往有较强的相关性,也就是说相邻象元的值往往是相同的。
游程长度编码的基本思想是:按行扫描,将相邻等值的象元合并, 并记录代码的重复个数。 其编码为(A4 A1 B3 A2 B2 A2 B2)。 若在行与行之间不间断地连续编码,则为 (A5 B3 A2 B2 A2 B2) 对于游程长度编码,区域越大,数据的相 关性越强,则压缩越大。其特点是,压缩 效率较高,叠加、合并等运算简单,编码 和解码运算快。
第五节 矢量数据和栅格数据的转换
3、细化
所谓细化就是将二值图像象元阵列逐步剥除轮廓边缘的点,使之 成为线划宽度只有一个象元的骨架图形。细化后的图形骨架既保留了 原图形的绝大部分特征,又便于下一步的跟踪处理。 细化的基本过程是:(1)确定需细化的象元集合;(2)移去不 是骨架的象元;(3)重复,直到仅剩骨架象元。
第一节 图形屏幕编辑的基本操作算法
为了加快线捕捉的速度,可以把不可能被光标捕捉到的线以简单算法
去除。如图,对一条线可求出其最大最小坐标值 Xmin,Ymin,Xmax, Ymax,对由此构成的矩形再向外扩 D 的距离,若光标点 S 落在该矩形 内,才可能捕捉到该条线,因而通过简单的比较运算就可去除大量的 不可能捕捉到的情况。
第三节 空间数据的压缩编码方法
3、四叉树编码
四叉树编码是最有效的栅格数据压缩编码方法之一,在 GIS中有 广泛的应用。
第四节 空间数据的格式转换
因 GIS 软件的原因,不同的 GIS 软件对空间数据定义和存储结 构的差别,GIS 数据库中的数据格式之间存在不兼容的问题。即不同 的 GIS 软件所支持的数据存储格式不能直接相互利用。需经过格式转 换才能相互被对方使用。
最靠右边的链
最靠右边的链是指从链的一个端点出发,在这条链的方向上最右 边的第一条链,实质上它也是左边最近链,a 的最右边的链为 d。找最 靠右边的链可通过计算链的方向和夹角实现。
多边形面积的计算
设构成多边形的坐标串为(xi, yi ),i=1,2,…,n,则多边形的面积 A 可 用如下公式求出:当多边形由顺时针方向构成时,面积为正;反之为 负。
(2)在图形采集和编辑后自动建立。
第二节 空间数据的拓扑关系自动生成
三、多边形矢量数据自动拓扑关系自动建立
多边形有四种基本图形:
1、 多边形矢量数据自动拓扑的步骤
主要是找出在链的中间相交,而不是在端点相交的情况,自动切成新 链;把链按一定顺序存储,如按最大或最小的 x或 y 坐标的顺序,这样 查找和检索都比较方便,然后把链按顺序编号。
第一节 图形屏幕编辑的基本操作算法
二、线的捕捉算法
设光标点坐标为 S(x, y),D 为捕捉半径,线的坐标为(x1, y1), (x2, y2),…(xn, yn)。通过计算 S 到该线的每个直线段的距离 di 。 在实际的捕捉中,可每计算一个距离 di就进行一次比较,若 di<D, 则捕捉成功,不需再进行下面直线段到点 S 的距离计算了。
二、点、线拓扑关系的建立
它的实质是建立结点—弧段、弧段—结点的关系表格,有两种 方案:
(1)在图形采集和编辑时自动建立。主要记录两个数据文件:一个
记录结点所关联的弧段,即结点弧段列表;另一个记录弧段的两个端 点(起、始结点)的列表。数字化时,自动判断新的弧段周围是否有 已存在的结点,若有,将其结点编号登记,若没有,产生一个新的结 点,并进行登记。
第二节 空间数据的拓扑关系自动 生成
(1)结点匹配
结点匹配是指把一定限差内的链的端点作为一个结点,其 坐标值取多个端点的平均值。然后,对结点顺序编号。
(2)检查多边形是否闭合
检查多边形是否闭合可通过判断一条 链的端点是否有与之匹配的端点来进行。 弧 a 的端点 P 没有与之匹配的端点, 因此无法用该条链与其它链组成闭合多边 形。
第五节 矢量数据和栅格数据的转 换
二、 栅格─矢量转换
栅格数据到矢量数据转换的一般过程可描述为:
1、二值化
由于扫描后的图像是以不同灰 度级存储的,为了进行栅格数 据矢量化的转换,需压缩为两 级(0 和 1),称为二值化。
2、二值图像的预处理
对于扫描输入的图幅,由于原稿不 干净等原因,总是会出现一些飞白、 污点、线划边缘凹凸不平等。
第三节 空间数据的压缩编码方法
一、矢量数据的压缩
矢量数据压缩是有损压缩。当数字化采集的点过密时,经常需要 删除一些交点,简化数据。 1、道格拉斯——普克法(Douglas—Peucker) 当数字化的图形如图,需要删除一些交点时,可以采用该方法。 其算法是:对每一条曲线的首末点虚连一条直线,求所有点与直线的 距离,并找出最大距离值 d-max,用d-max 与限差D 相比: 若 d-max<D,这条曲线上的 中间点全部舍去; 若 d-max≥D,保留 d-max 对 应的坐标点,并以该点为界, 把曲线分为两部分,对这两 部分重复使用该方法。
上述两种方式都是经过文件实现的数据转换方式。如果 GIS 软 件都提供直接读取对方存储格式的 API 函数,则系统之间的转换只 需一次转换即可完成 。
第五节 矢量数据和栅格数据的转换
一、矢量—栅格转换
由于矢量数据的点到栅格数据的点只是简单的坐标变换,所以,这 里主要介绍线和面(多边形)的矢量数据向栅格数据的转换。
第一节 图形屏幕编辑的基本操作算法
在计算垂线与多边形的交点个数时,并不需要每次都对每一线段进行
交点坐标的具体计算。对不可能有交点的线段应通过简单的坐标比较 迅速去除。
多边形的边分别为 1~8,而其中只有第 3、7 条边可能与 S 所引的垂 直方向的射线相交。即若直线段为(x1,y1)(x2,y2)时,若 x1≤x≤x2, 或 x2≤x≤x1 时才有可能与垂线相交,这样就可不对 1,2,4,5,6,8 边进行继续的交点判断了。
一、数据格式转换的内容
数据格式转换的内容包括三个方面的内容: 空间定位信息,即几何信息,主要是实体的坐标。
空间关系信息,几何实体之间的拓扑或几何关系数据。
属性信息,几何实体的属性说明数据。
第四节 空间数据的格式转换
二、数据格式转换的方式
主要有三种方式:
1、通过外部数据交换文件进行
大部分 GIS 工具软件都定义了外部交换文件格式,
第二节 空间数据的拓扑关系自动 生成
2、多边形矢量数据自动拓扑的算法
(1)建立多边形拓扑关系的概念
顺时针方向构多边形
所谓顺时针方向构多边形是指多边形在链的右侧(图 a),多 边形在闭合曲线内。逆时针方向构多边形是指多边形在链的左侧 (图 b),多边形在闭合曲线外。
第二节 空间数据的拓扑关系自动生成
第四节 空间数据的格式转换
2、通过标准空间数据文件转换
在系统之间进行数据格式转换的另一种解决方案是,定义标准的空 间数据交换文件标准,每个 GIS 软件都按这个标准提供外部交换格式, 并且提供读入标准格式的软件。这样系统之间的数据交换经过二次转换 即可完成。
第四节 空间数据的格式转换
3、通过标准的 API函数进行转换
第一节 图形屏幕编辑的基本操作算法
为了加速搜索速度,可先找出该多边形的外接矩形,即由该多边形的
最大最小坐标值构成的矩形,如上图。若光标点落在该矩形中,才有 可能捕捉到该面,否则放弃对该多边形的进一步计算和判断,即不需 进行作垂线并求交点个数的复杂运算。通过这一步骤,可去除大量不 可能捕捉的情况,大大减少了运算量,提高了系统的响应速度。
第二节 空间数据的拓扑关系自动生成
一、欧拉定理
对于一个多边形图形,其结点数 n,弧段数 a,和多边形数 b 之 间满足函数关系:
欧拉定理的用途是用于拓扑检验,可以发现点、线、面的不匹配情况 和多余或遗漏图形元素,出现这些情况时,公式等式就不成立。但满 足等式的图形,并不能说明图形关系不存在错误。
第二节 空间数据的拓扑关系自动生成
第二节 空间数据的拓扑关系自动生成
(4)确定多边形的属性
在追踪出每个多边形的坐标后,经常需确定该多边形的属 性。如果在原始矢量数据中,每个多边形有内点,则可以把内 点与多边形匹配后,把内点的属性赋于多边形。由于内点的个 数必然与多边形的个数一致,所以,还可用来检查拓扑的正确 性。如果没有内点,则必须通过人机交互,对每个多边形赋属 性。
第五节 矢量数据和栅格数据的转换
(2)扫描法 (3)边填充算法
如图,按扫描线的顺序,计 算多边形与扫描线的相交区 间,再用相应的属性值填充 这些区间,即完成了多边形 的栅格化。
其基本思想是:对于每一条 扫描线和每条多边形边上的交点, 将该扫描线上交点右方的所有象 素取原属性值之补。对多边形的 每条边作此处理,多边形的方向 任意。如图
第一节 图形屏幕编辑的基本操作算法
图形编辑的关键是点、线、面的捕捉,即如何根据光标的位置找 到需要编辑的要素,以及图形编辑的数据组织。
一、点的捕捉算法
图形编辑是在计算机屏幕上进行的,因此首先应把图幅的坐标转 换为当前屏幕状态的坐标系和比例尺。设光标点为 S(x,y),图幅上 某一点状要素的坐标为 A(x,y),则可设一捕捉半径 D(通常为 3~ 5 个象素,这主要由屏幕的分辩率和屏幕的尺寸决定)。若 S 和 A 的 距离 d 小于 D 则认为捕捉成功,即认为找到的点是 A,否则失败,继 续搜索其它点。
1、线的栅格化方法
线是由多个直线段组成的,因此,线的栅格化的核心就是直线段如 何由矢量数据转换为栅格数据 。设直线段的两端点坐标转换到栅格数据 的坐标系后为(xA,yA),(xB,yB)。
第五节 矢量数据和栅格数据的转换
2、面(多边形)的栅格化方法
多边形的栅格化方法主要有三种算法。 (1)内部点扩散法 由一个内部的种子点,向其 4 个方向的邻点扩散。判断新加入的 点是否在多边形边界上,如果是,不作为种子点,否则当作新的种子 点,直到区域填满,无种子点为止。 该算法比较复杂,而且可能造成阻塞而造成扩散不能完成,此外 若多边形不完全闭合时,会扩散出去。
逆时针方向构多边形是指多边形在链的左侧??最靠右边的链最靠右边的链最靠右边的链是指从链的一个端点出发在这条链的方向上最右最靠右边的链是指从链的一个端点出发在这条链的方向上最右边的第一条链实质上它也是左边最近链边的第一条链实质上它也是左边最近链a靠右边的链可通过计算链的方向和夹角实现
第十一章 空间数据的处理方法
第三节 空间数据的压缩编码方法
2、垂距法
如图,垂距法的算法思想是:每次顺序取曲线上的三个点,计算 中间点与其它两点连线的垂线距离 d,并与限差 D比较。若 d<D,则 中间点去掉;若 d≥D,则中间点保留。然后顺序取下三个点继续处理, 直到这条线结束。
第三节 空间数据的压缩编码方法
3、 光栏法
第二节 空间数据的拓扑关系自动生成
(2)建立多边形的基本过程

1°顺序取一个结点为起始结点,取完为止;取过该结点的任一条链 作为起始链 2°取这条链的另一结点,找这个结点上,靠这条链最右边的链,作 为下一条链。 3°是否回到起点:是,已形成一多边形,记录之,并转 4°;否, 转 2°。 4°取起始点上开始的,刚才所形成多边形的最后一条边作为新的起 始链,转 2°;若这条链已用过两次,即已成为两个多边形的边,则 转 1°。 (3)岛的判断 岛的判断即指找出多边 形互相包含的情况,也即 寻找多边形的连通边界。
如图,光栏法的算法思想是:定义一个扇形区域,通过判断曲线上的 点在扇形外还是在扇形内,确定保留还是舍去。
Байду номын сангаас
第三节 空间数据的压缩编码方法
二、栅格数据的压缩
1、直接栅格编码
将栅格数据看作一个数据矩阵,逐行(或逐列)记录代码,可以每 行都从左到右记录,也可以奇数行从左到右,偶数行从右到左。 栅格数据可存储记录为: (AAAAABBBAABBAABB)。 这种记录栅格数据的文件常称为栅格文件, 且常在文件头中存有该栅格数据的长和宽, 即行数和列数和两方向的密度。这样,具 体的象元值就可连续存储了。其特点是处 理方便,但没有压缩。
相关文档
最新文档