GIS算法原理知识点总结材料

GIS算法原理知识点总结材料

ID:45030569

大小:2.68 MB

页数:55页

时间:2019-11-08

GIS算法原理知识点总结材料_第1页
GIS算法原理知识点总结材料_第2页
GIS算法原理知识点总结材料_第3页
GIS算法原理知识点总结材料_第4页
GIS算法原理知识点总结材料_第5页
资源描述:

《GIS算法原理知识点总结材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档GIS算法原理知识点总结算法设计和分析:1、算法设计的原则:正确性:若一个算法本身有缺陷,那么它将不会解决问题;确定性:指每个步骤必须含义明确,对每种可能性都有确定的操作。清晰性:一个良好的算法,必须思路清晰,结构合理。2、算法的复杂性包括:时间复杂性和空间复杂性。3、时间复杂性:用一个与问题相关的整数量来衡量问题的大小,该整数量表示输入数据量的尺度,称为问题的规模。利用某算法处理一个问题规模为n的输入所需要的时间,称为该算法的时间复杂性。4、算法的概念:算法是完成特定任务的有限指令集。所有的算法必须满足下面的标准:u输入u输出u明确性u有限性u有效性实用文档GIS算法的计算几何基础

2、O1、理解矢量的概念:如果一条线段的端点是有次序之分的,我们把这种线段称为有向线段(directedsegment)。如果有向线段p1p2的起点P1在坐标原点,我们可以把它称为矢量P2。p2p15.矢量叉积:计算矢量叉积是直线和线段相关算法的核心部分。设矢量P=(x1,y1),Q=(x2,y2),则矢量叉积定义为(0,0)、p1、p2和p1p2所组成的平行四边形的带符号的面积,即P×Q=x1·y2-x2·y1,其结果是个标量。显然有性质P×Q=-(Q×P)和P×-Q=-(P×Q)。实用文档PXQ>0,则P在Q的顺时针方向;PXQ<0,则P在Q的顺逆针方向;PXQ>0,则PQ共线,但可能同向也

3、可能反向。6、判断线段的拐向:折线段的拐向判断方法,可以直接由矢量叉积的性质推出,对于有公共端点的线段p0p1和P1P2,通过计算(p2-p0)×(P1-p0)的符号便可以给出折线段的拐向。p2p2p2p1p1p1p0p0实用文档p0基(p2-p0)×(P1-p0)>0,则P0P1在P1点拐向右侧后得到P1P2基(p2-p0)×(P1-p0)=0,则P0P1P2三点共线基(p2-p0)×(P1-p0)<0,则P0P1在P1点拐向左侧后得到P1P2理解矢量的概念通过矢量差积的方法就可以判断的拐向了。7.判断点是否在线段上:设点为Q,线段为P1P2:(Q-P1)X(P2-P1)=0且Q在以P1,

4、P2为对角顶点的矩形内。前者抱走点在直线上,后者保证点不在线段延长线或反向延长线上。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上;

5、同理(Q2-Q1)×(P2-Q1)=0说明P2一定在线段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个

7、顶点的多边形是否在一个有n个顶点的多边形内的复杂度为O(mXn)16.判断矩形是否在多边形内:将矩形转化为多边形,然后再判断是否在多边形内。17.判断圆是否在多边形内:计算圆心到多边形每条变边的最短距离,若该距离大于或等于圆半径,则该圆在多边形内。18.判断点是否在圆内:计算圆心到该点的距离,若小于或等于半径,则该点在圆内。19.判断线段、折线、矩形、多边形是否在圆内:因为圆是凸集,所以只要判断是否每个顶点都

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。