GIS算法原理知识点总结(共33页).docx
《GIS算法原理知识点总结(共33页).docx》由会员分享,可在线阅读,更多相关《GIS算法原理知识点总结(共33页).docx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上GIS算法原理知识点总结算法设计和分析:1、算法设计的原则:正确性:若一个算法本身有缺陷,那么它将不会解决问题;确定性:指每个步骤必须含义明确,对每种可能性都有确定的操作。清晰性:一个良好的算法,必须思路清晰,结构合理。2、算法的复杂性包括:时间复杂性和空间复杂性。3、时间复杂性:用一个与问题相关的整数量来衡量问题的大小,该整数量表示输入数据量的尺度,称为问题的规模。利用某算法处理一个问题规模为n的输入所需要的时间,称为该算法的时间复杂性。4、算法的概念:算法是完成特定任务的有限指令集。所有的算法必须满足下面的标准:u 输入u 输出u 明确性u 有限性u 有效性GIS
2、算法的计算几何基础O1、理解矢量的概念:如果一条线段的端点是有次序之分的,我们把这种线段称为有向线段(directed segment)。如果有向线段p1p2的起点P1在坐标原点,我们可以把它称为矢量P2。p2p15.矢量叉积:计算矢量叉积是直线和线段相关算法的核心部分。设矢量P = (x1,y1),Q = (x2,y2),则矢量叉积定义为(0,0)、p1、p2和p1p2 所组成的平行四边形的带符号的面积,即PQ = x1y2-x2y1,其结果是个标量。显然有性质PQ= -(QP)和P-Q= -(PQ)。P X Q0,则P在Q的顺时针方向;P X Q0,则P Q共线,但可能同向也可能反向。6、
3、判断线段的拐向:折线段的拐向判断方法,可以直接由矢量叉积的性质推出,对于有公共端点的线段p0p1和P1P2,通过计算(p2-p0)(P1-p0)的符号便可以给出折线段的拐向。p2p2p2p1p1p1p0p0p0基(p2-p0)(P1-p0)0,则P0P1在P1点拐向右侧后得到P1P2基(p2-p0)(P1-p0)=0,则P0P1P2三点共线基(p2-p0)(P1-p0)0,则P0P1在P1点拐向左侧后得到P1P2理解矢量的概念通过矢量差积的方法就可以判断的拐向了。7.判断点是否在线段上:设点为Q,线段为P1 P2:(Q-P1)X(P2-P1)=0且Q在以P1,P2为对角顶点的矩形内。前者抱走点
4、在直线上,后者保证点不在线段延长线或反向延长线上。8、判断两线段是否相交(算法一):快速排斥实验:设以线段P1P2为对角线的矩形为R,设以线段Q1Q2为对角的矩形为T,如果R和T不相交,显然两线段不会相交跨立实验: 如果两线段相交,则两线段必然相互跨立对方。若p1p2跨立Q1Q2,则矢量(P1-Q1)和(P2-Q2)位于矢量(Q2-Q1)的两侧,则(P1-Q1)(Q2-Q1) (P2-Q1) (Q2-Q1)0。当(P1-Q1)(Q2-Q1)=0时,说明 (P1-Q1)(Q2-Q1)共线,但是因为已经通过快速排斥实验,所以P1一定在线段Q1Q2上;同理 (Q2-Q1) (P2-Q1) =0说明P
5、2一定在线段Q1Q2上。所以判断P1P2跨立Q1Q2的依据是:(P1-Q1)(Q2-Q1) (Q2-Q1) (P2-Q1 0。同理判断Q1Q2跨立P1P2的依据是(Q1-P1)(P2-P1) (P2-P1) (Q2-P1)0。注意在进行“跨立判断”的时候是进行两次跨立判断9.判断矩形内是否包含点:只要判断该店的横坐标和纵坐标是否都夹在矩形的左右边和上下边之间。10.判断线段、折线、多边形是否在矩形中:因为矩形是个凸集,所以只要判断所有端点都在矩形就行了。11.判断矩形是否在矩形中:只要比较左右边界和上下边界就行了。12.判断圆是否在矩形中:圆心在矩形中且圆的半径小于或等于圆心到矩形四边的距离的
6、最小值。13.判断点是否在多边形内: 1)射线法:一条射线从点P开始,穿过多边形的边界的次数称为交点数目。当交点数目是偶数时,点P在多边形外部;否则,为奇数时,在多边形内部。射线法要考虑几种特殊的情况,并且射线法适用于凸多边形2)转角法:多边形环绕点P的次数称为环绕数,环绕数为0时,点P在多边形外部,否则在多边形内部。14.判断线段是否在多边形内:(折线是判断它的每条线段)条件一:线段的两个端点都在多边形内条件二:线段和多边形的所有边都不内交。15.判断多边形否在多边形内:只要判断多边形的每条边是否都在多边形内即可。判断有m个顶点的多边形是否在一个有n个顶点的多边形内的复杂度为O(mXn)16
7、.判断矩形是否在多边形内:将矩形转化为多边形,然后再判断是否在多边形内。17.判断圆是否在多边形内:计算圆心到多边形每条变边的最短距离,若该距离大于或等于圆半径,则该圆在多边形内。18.判断点是否在圆内:计算圆心到该点的距离,若小于或等于半径,则该点在圆内。19.判断线段、折线、矩形、多边形是否在圆内:因为圆是凸集,所以只要判断是否每个顶点都在圆内即可。20.判断圆是否在圆内:设两圆为O1,O2,半径为r1,r2。先比较r1,r2的大小,若r1矢转换为拓扑转换,即保持实体原有的连通性、邻接性等;2) 转换实体保持正确的外形。(二)方法方法一,实际应用中大多数采用人工矢量化法,如扫描矢量化,该法
8、工作量大,成为GIS数据输入、更新的瓶颈问题之一。方法二,程序转化转换(全自动或半自动)过程为:1、边界提取2、二值化 3、二值图像的预处理4、细化:1)剥皮法 2)骨架法5、跟踪 6、拓扑化 6.”矢量点”转栅格实例:6.矢量数据的压缩:矢量数据的压缩包括两个方面的内容,一是在不扰乱拓扑关系的前提下,对采样点数据进行合理的抽稀。二是对矢量坐标数据重新进行编码,以减少所需要的存储空间。1)间隔取点法:每隔K个点取一点,或舍去那些比规定距离更近的点,首末点一定要保留。临界值 隔点法临界值法2)垂距法:原始曲线对点2测试距离大于规定的限差点2保留对点3测试距离小于规定的限差234234234234
9、141113点舍去,化简结果14限差23)光栅法:d/2c1c2b2b1p1P4P3P2a1a2d/2Pn光栏法的基本思想是(上图):定义一个扇形区域,通过判断曲线上的点在扇形外还是在扇形内,确定保留还是舍去。设曲线上的点列为pi,i1,2,n,光栏口经为d,可根据压缩量的大小自己定义,则光栏法的实施步骤可描述为:1、连接p1和p2点,过p2点作一条垂直于p1p2的直线,在该垂线上取两点a1和a2,使a1p2a2p2d2,此时a1和a2为“光栏”边界点,p1与a1、p1与a2的连线为以p1为顶点的扇形的两条边,这就定义了一个扇形(这个扇形的口朝向曲线的前进方向,边长是任意的)。通过p1并在扇形
10、内的所有直线都具有这种性质,即p1p2上各点到这些直线的垂距都不大于d/2。2、若p3点在扇形内,则舍去p2点。然后连接p1和p3,过p3作p1p1的垂线,该垂线与前面定义的扇形边交于c1和c2。在垂线上找到b1和b2点,使p3b1p3b2d2,若b1或b2点(图4-4-3中为b2点)落在原扇形外面,则用c1或c2取代(图4-4-3中由c2取代b2)。此时用p1b1和p1c2定义一个新的扇形,这当然是口径(b1c2)缩小了的“光栏”。3、检查下一节点,若该点在新扇形内,则重复第(2)步;直到发现有一个节点在最新定义的扇形外为止。4、当发现在扇形外的节点,如图4-4-3中的p4,此时保留p3点,
11、以p3作为新起点,重复13。如此继续下去,直到整个点列检测完为止。所有被保留的节点(含首、末点),顺序地构成了简化后的新点列。首先将一条曲线首、末点连一直线,求出各点到该直线的距离,选其最大者与规定的临界值相比较若大于临界值,则离该直线距离最大的点保留,否则,将直线两端间各点全部舍去,并将原线条分成两部分,对每部分线条再实施该抽稀过程,直到结束。抽稀结果点数随选取限差临界值的增大而减少,应用时应根据精度要求来确定抽稀限差临界值,以获得最好的结果。即道格拉斯普克(Douglas-peuker)算法。4)道格拉斯普克法:P1PN splitpointP1PN Result 第一轮垂距第二轮垂距弦阈
12、值7栅格数据的压缩:1)链式编码:2)游程编码:所谓游程是指按行的顺序连续且属性值相同的若干栅格。 游程长度的记录方式有两种 记录每个游程起(迄)列号 记录每个游程像元数3)块式编码:块式编码是将游程扩大到两维情况,把多边形范围划分成若干具有同一属性的正方形,然后对各个正方形进行编码。块式编码的数据结构由初始位置(行列号)、半径和属性代码组成。3)四叉树编码:四叉树又称四元树或四分树,是最有效的栅格数据压缩编码方法之一。 四分树将整个图像区域逐步分解为一系列方形区域,且每一个方形区域具有单一的属性。最小区域为一个象元。8.隔点取样法实例:空间数据内插算法1.空间数据内插的定义:根据已知的空间数
13、据估计(预测)未知空间的数据值。2. 空间数据内插目标:缺值估计:估计某一点缺失的观测数据,以提高数据密度。内插等值线:以等值线的形式直观地显示数据的空间分布。数据网格化。把无规则分布的空间数据内插为规则分布的空间数据集,如规则矩形格网、三角网等。3.空间内插法的种类:几何方法、统计方法、空间统计方法、函数方法、随机模拟方法、物理模型模拟方法和综合方法。 4.优缺点比较:每一种方法均有其适用范围、算法和优缺点,因此,没有绝对最优的空间内插方法。5.如何选择:对数据进行空间探索分析,根据数据的特点,选择最优方法;同时,应对内插结果进行严格的检验。6空间数据内插的分类依据:确定或随机;点与面;全局
14、或局部等标准分类;内插方法的基本假设和数学本质。3.反距离权重插值算法:是一种局部插值算法,它假设未知值的点受较近控制点的影响比较远控制点的影响更大。反距离权重方法的通用方程是:式中,z0为点0的估计值;zi为控制点i的z值;dj为控制点i与点0间的趾离;s为在估算中用到的控制点的数目;K为指定的幂。4.双线性插值算法:是一种数字图像处理、DEM数据处理等方面使用较多的局部插值算法。原理:如图8.5所示,设f(0,0) = Z1,f (1,0)= Z2,f (0,1) = Z3,f (1,1) = Z4,求f (x,y)点的值,其中x,y 0,1。将f (0,0)、f (1,0)、f (0,1
15、)、f (1,1)代入双线性内插方程:f(x,y) = ax + by + cxy + d求出各参数a、b、c、d的值,再将x, y代入,解得f(x,y)。5反距离权重插值实例:TIN、DEM、DAT1.数字高程模型概念与理解:高程常常用来描述地形表面的起伏形态,传统的高程模型是等高线,其数学意义是定义在二维地理空间上的连续曲面函数,当此高程模型用计算机来表达时,称为数字高程模型。2.数字高程模型:是通过有限的地形高程数据实现对地形曲面的数字化模拟或者说是地形表面形态的数字化表示,英文为Digital Elevation Model,简称DEM。3.理解DEM和DTM:由于高程数据常常采用绝对
16、高程或海拔(即从大地水准面起算的高度),DEM也常常称为DTM。要说明的是由于“Terrain”一词的含义比较广泛,不同专业背景对“Terrain”的理解也不一样,DTM趋向于表达比DEM更为广泛的内容,详见后文的分析。4. TIN和规则DEM的区别:不规则三角网数字高程模型由连续的三角面组成,三角形的形状、大小取决于不规则分布的点的位置和密度。地形变化越简单,采样点就越少,则单元格就越大;反之地形变化比较复杂,数据点分布比较密集,格网单元就越小。因此TIN与规则格网DEM显著不同之处在于TIN模型不需要维护模型的结构规则性,不但能灵活地随地形的复杂程度而改变格网单元大小,避免平坦地形的数据冗
17、余,而且又能按地形特征点线如山脊点、山谷线、地形变化线等表示地形特征。5.DEM数据结构:规则格网DEM数据结构不规则三角形DEM数据结构6.规则格网数据:由于DEM的边界范围一般是规则矩形,而实际地形范围却是不规则的,还应考虑不在研究区域内的DEM高程值的表示方法(无效区域数据),一般是给出一个特殊的常数值,如-9999等。规则格网DEM的数据文件一般包含用对DEM数据进行说明的数据头和DEM数据体两部分。 1)数据头:一般包括定义DEM西南角起点坐标、坐标类型、格网间距、行列数、最低高程以及高程放大系数等内容;2)数据体:按行或列分布记录的高程数字阵列。 7.TIN:在TIN模型中,基本的
18、结构元素有三角形顶点、边和面。它们之间存在着点与线、点与面、线与面、面与面等拓扑关系。理论上,通过组成三角形的三顶点可完整地表达三角形的构成以及三角形顶点、三角形边、三角形之间的拓扑关系(下图),这种结构只需要两个文件,即三角形顶点坐标文件和组成三角形三顶点(通常用点在坐标文件中的序号表示)文件。这种结构虽然简单,三角形结构元素的拓扑关系却是隐含的,不利于TIN模型的检索与应用。因此,围绕三角形的拓扑关系描述而产生了多种TIN的数据结构。 8.TIN模型的面结构最大特点是:由于存储了三角形之间的邻接关系,TIN内插、检索、等高线提取、显示以及局部结构分析都比较方便,不足之处是:存储量较大,而且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GIS 算法 原理 知识点 总结 33
限制150内