欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    GIS算法基础重点解读.docx

    • 资源ID:4366468       资源大小:98.02KB        全文页数:11页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    GIS算法基础重点解读.docx

    1、GIS算法基础重点解读一、 算法的时间复杂性 T(n):利用某算法处理一个问题规模为 n的 输入所需要的时间。空间:为了解求问题的实例而执行的计算步骤所需要额内存空间 (或字)数目,不包括用来存储输入的空间。算法空间复杂性不可能超过 运行时间的复杂性。元运算:对于任何计算步骤,不管输入数据或执行的算法,它的代价 总是以一个时间常量为上界,则称该计算步骤为元运算。基于比较的 排序问题的最优算法:我们通常把在0(nlgn)时间内用元素比较法排 序的任何算法,称为基于比较的排序问题的最优算法。一般来说,如 果可以证明任何一个求解问题 A的算法必定是Q (f(n),那么我们把 在0(f(n)时间内求解

    2、任何问题A的任何算法都称为问题A的最优算 法。算法设计原则:正确性 确定性 清晰性。算法的要素:1.待解问 题的描述2算法设计的任务3.算法分析。二、 关系运算:指的是用于检验两个几何对象的特定的拓扑空间关系 的逻辑方法。两步确定两条线段是否相交:1.快速排斥实验(矩形不相交)2.跨立 实验(判断线段P1P2是否和Q1Q2跨立依据是: (P1-Q1)*(Q2-Q1)*(Q2-Q1)*(P2-Q1)=0.)判断点是否在多边形内 常 用算法:1.射线法(又叫奇偶测试法)2.转角法。线段在多边形内 的 一个重要条件是线段的两个端点都在多边形内,第二个必要条件是线 段和多边形的所有边都不内交。线段在多

    3、边形内判断步骤:1.先求出 所有和线段相交的多边形的顶点 2.然后按照X-Y坐标排序(X坐标小的排在前面,对于X坐标相同的点,丫坐标小的排在前面,这种排序 准则也是为了保证水平和垂直情况的判断正确),这样相邻的两个点 就是在线段上相邻的两交点,如果任意相邻两点的中点也在多边形 内,则该线段一定在多边形内。计算线段或直线与线段的交点: 设一 条线段为L0二P1P2另一条线段或直线为L仁Q1Q2要计算的就是L0 和L1的交点:第一步:首先判断 L0和L1是否相交2.若L1不平行 与丫轴,则交点横坐标为P1的横坐标,代入到L1的直线方程中可以 计算出交点纵坐标。第三步:若L1平行于y轴,贝卩第四步:

    4、若L0平 行于x轴,有2种情况,第五步:若L1平行于x轴,贝打第六步: 若L1和L0斜率均存在,贝聽 中心点的计算:多边形的中心点(又叫 质心或重心)可以通过将多边形分割成为三角形, 求取三角形的中心 点,然后将三角形的中心点加权求和取得。三点画圆:算法关键是求 取圆心和园半径:第一步:求取圆心,第二步:求取半径R,R(xa-xp ) A2+(ya-yp)A2 )八1/2。p是圆心。四、矢量线栅格化三种方法:八方 向栅格化、全路径栅格化、恒密度栅格化。矢量面格式向栅格面格式 转换又称为多边形填充,就是在矢量表示的多边形边界内部的所有栅 格点上赋以相应的多边形编码,从而形成栅格数据阵列。方法有:

    5、 内部点扩散算法(种子,八方向扩散)、射线算法和扫描算法、边界代 数算法(积分、拓扑)。栅格数据矢量化 有4个基本步骤:1.边界提 取2.边界线追踪3.拓扑关系生成4.去除多余点及曲线圆滑。细化算 法:栅格数据需要细化,以提取其中轴线,因为:1.中轴线是栅格数 据曲线的标准化存储形式2.实现细化是将栅格曲线矢量化的前提 3.在有些算法中可以提高计算精度。细化算法可分两大类:第一大类是基于距离变换,首先得到骨架像元,然后跟踪距离变换图中的“山脊 线”并将其作为中轴线;第二类是基于在不破坏栅格拓扑连通性的 前提下,按对称的原则删除影像边缘的栅格点。 四例:1用距离变换法搜寻中轴线(减细)2.最大数

    6、值计算法(V值4、1)3.经典的细化 算法4.边缘跟踪剥皮法.多边形栅格转矢量的双边界搜索算法:基本 思想:通过边界提取,将左右多边形信息保存在边界点上,每条边界 弧段由两个并行的边界链组成,分别记录该边界弧段的左右多边形编 号。具体步骤:1.边界点和结点提取2.边界线搜索与左右多边形信 息记录3.多余点去除。多边形栅格转矢量的单边界搜索算法: 单边界搜索算法时通过对传统的区域跟踪算法进行改进而形成的, 传统区域跟踪算法中,对区域的描述由两部分组成:区域外轮廓和内部孔洞。 单边界搜索算法流程:1.跟踪、搜索第一层所有的区域并记录外轮廓 和内部孔洞信息2.根据跟踪到的孔洞信息找出下一层中未跟踪过

    7、的 区域的外轮廓跟踪起始点(即找出一个新区域)3.跟踪找到的新区域 并记录其外轮廓和内部孔洞信息 4.重复23步,直到 该层所有区域 都已被跟踪完毕5重复2到3步,直到整幅图像内所有区域都已被跟 踪完毕。五、道格拉斯-普克法优点是具有最小的线性位移,压缩效 果占优,缺点是需对整条曲线完成数字化后方能进行压缩, 且计算工 作量较大。光栏法原理:它按照预先定义的一个扇形(“喇叭口”), 根据曲线上各节点是在扇形外还是在扇形内, 决定节点是保留还是舍 去。其优点是光栏法不仅算法严密,能按给定阈值保留曲线特征点,并按时处理,运算量小,占用内存少。 链式编码:多边形边界可定义 为:由某一原点开始并按某些

    8、基本方向确定的单位矢量链。 (东0东南1东北7)游程长度编码:游程指相邻同值网格的数量,游程长度 编码结构是逐行将相邻同值的网格合并,并记录合并后网格的值及合 并网格的长度,其目的是压缩栅格数据量,消除数据间的冗余。 块式编码:块式编码是将游程长度编码扩大到二维的情况,把多边形范围 划分成由像元组成的正方形,然后对各个正方形进行编码。差分映射 法:就是选择某一参照值对有关栅格的属性值进行求差运算, 根据差值得到一个新的栅格数据层。(分行选取和全区选取) 拓扑关系左转 算法描述如下:1.顺序取一个结点作为起始结点,取完为止;取过该 结点的方位角最小的未使用过的或仅使用一次, 且使用过的方向与本

    9、次相反的弧段作为起始弧段。2.取这条弧段的另一个结点,找这个结 点关联的弧段集合中的本条弧段的下一条弧段, 如果本条弧段是最后 一条弧段,则取弧段集合的第一条弧段,作为下一条弧段。 3.判断是否回到起点,如果是,贝S形成了一个多边形,记录下它,并且根据弧 段的方向,设置组成该多边形的左右多边形信息;否则转 2。4.取起始点上开始的,刚才所形成多边形的最后一条边作为新的起始弧段, 转2;若这条弧段已经使用过两次,即形成了两个多边形,转 1。岛的判断问题算法如下:1.计算所有多边形的面积 2.分别对面积为正 的多边形和面积为负的多边形排序,分别形成正多边形和负多边形集 合。3.如果负多边形集合的个

    10、数为1,结束程序;否则,从面积为正 的多边形集合中,顺序取出一个多边形,如果正多边形已经都被访问过,则程序结束。4.依次从负多边形集合中取出负多边形,判断当前 取出的正多边形是否包含该多边形, 如果包含,就将该负多边形加入当前取出的正多边形中,形成复杂多边形,设置负多边形的组成弧段 的拓扑信息,并从负多边形集合中删除该负多边形。 当所有负多边形都被访问一遍后转3.六、直线方程的所有形式: P(t) = P 0+tVl 二PO+t(Pl-Po) = (1-t)P 0+tPl(yO-y1)x+(x1-xO)y+(xOy1-x1yO)=O 。P(t)=(xO+tcos O ,y0+tsin O)点

    11、到 直 线 距 离 计 算 公式:d(P,L)=(y0-y1)x+(x1-x0)y+(x0y1-x1y0)/(x1-x0)A2+(y1-y0 )A2)A1/2. 三角形面积计算公式:A=1/2*bh,A=1/2*absin O ,A=(s(s-a)(s-b)(s-c) 1/2,s=1/2*(a+b+c),A=1/4*(4a 2b2-(a 2+b2-c2)2)1/2 , A=t)/2(cot O +cot B ) 。A=1/2|v*w|=1/2|(v1-v0)(v2-v0)|,2A=(x1-x0)(y2-y0)-(x2-x0)(y1-y0) o 四边形面积计算公式:A=(s-a)(s-b)(s-

    12、c)(s-d) ,A(v0v1v2v3)=|(v1-v0)*(v3-v0)| ,A=(x1-x0)(y3-y0)-(x3-x0)(y1-y0) , A=1/2|(v2-v0)*(v3-v1)| ,2A=(x2-x0)(y3-y1)-(x3-x1)(y2-y0) 。任意二维平面多边形面积计算方法与公式:A多边形二艺A( i), i = A PVV+1,注意:对于一个逆时针多 边形,当点P在边VV+1的左边,则 i的面积是正的;相反,当点 P 在边VV+1的右边,并且位于多边形外部,则 i的面积是负的。如果 是一个顺时针多边形,贝S符号相反,并且内部的三角形面积为负的。七、空间索引:就是指依据空间

    13、对象的位置和形状或空间对象之间的 某种空间关系,按一定的顺序排列的一种数据结构,其中包括空间对 象的概要信息。B树的定义:一个m阶的B树,或为空树,或是为满 足下列特征的m叉树。(1)树中每个结点至多有 m棵子树;(2)若根 结点不是叶子结点,则至少有两颗子树;(3)除根之外的所有非终端 结点至少有m/2棵子树;(4)所有的非叶结点中包含下列信息数据:(Ao,vK,Ai,Di,vK2,A2,D2,K n,An,Dn)式中 K(i=1,2 n)为关键 字,且KK+i(i=O,n)为指向子树根节点的指针,且指针 A-1所指的 子树中所有结点的关键字均小于 K (i=1,n); A所指的子树中所有结

    14、点的关键字均大于Kn; D为数据指针,指向关键字Kn所在的数据 记录。称为结点的一个元素。(5)所有的叶子结点都出现在 同一层次上,并且不带信息(可以看作是外部结点查询失败的结点, 实际上这些结点不存在,指向这些结点的指针为空)。插入算法:设将元素插入B树中。(1)首先在树中查找K, 若查找到,算法结束(假定 B树中不容许有相同的关键字存在)。若 没有查到,设最后查到的结点为 N。将关键字K插入结点N中,若结 点N的元素的个数小于等于 m-1,将A指向叶结点,插入结束,若结 点N的元素关键字的个数为 m则需分裂结点N。(2)设插入关键字 K后的结点情况如下:(A,vK2,A2,D2” .vKe

    15、AeDa)创建一 新结点L,将N中的第m/2 +1以及其后的所有元素,共 m-m/2个 元素移入新结点L中。再将元素 移出N,插 入结点N的父结点。N的父结点还可能需要分裂,最坏的情况是分裂 一直延续到根结点,最后产生新的根结点,树高增加 1。当插入操作 引起了 s个结点的分裂时,磁盘访问的次数为 h (读取搜索路径上的 结点)+2s (回写两个分裂出的新结点)+1 (回写新的根结点或插入 后没有导致分裂的结点)。因此,所需要的磁盘访问次数是 h+2s+1, 最多可达3h+1。R树的定义:设M为结点中单元的最大数目,m( 1=m=M/2为非根 结点中单元个数的下限。(1)每个叶子结点包含的单元

    16、个数介于 m与 M之间,除非它同时是根结点。(2)每个叶子结点中的单元(l,SpatialObjectlD )中,I是包含该 n维空间对象的 MBR SpatialObjectID 是该空间对象的ID。(3)每个非叶子结点的子结点 树介于m到M之间,除非它同时是跟结点。(4)每个非叶子的结点的 单元(I ,PointerToChild )中,丨是包含子结点的 MBRPointerToChild 是指向子结点的指针。通过该指针能访问到子结点。(5)根结点最少 有两个字结点,除非它同时是叶子的结点。(6)所有的叶子结点都处 于树的同一层上。插入算法:新空间对象的插入操作:(1)为新的空间对象,寻找

    17、一个 合适的叶子结点(2)将新的空间对象记录到叶子的结点中,(3)调 整树的结构(4)生成新的根结点。选择合适的叶子结点:(1)初始 化(2)判断是否为叶子结点(3)选择合适的子树。调整树的结构:(1)初始化(2)判断是否是根结点(3)调整父结点相应单元的I(4)根据需要进一步分裂父结点。 常规四叉树缺点:所占的内外存 空间比较大,原因在于它不仅要记录每个结点值, 还需记录结点的一 个前趋结点及四个后继结点,以反映结点之间的联系。对栅格数据进 行运算时,还要作遍历树结点的运算。这样就增加了操作的复杂性。线性四叉树的基本思想和优缺点:线性四叉树不像常规四叉树那样存 储树中各个结点及其相互间关系,

    18、而是通过编码四叉树的叶结点来表 示数据块的层次和空间关系。叶结点都具有一个反映位置的关键字, 亦称位置码,表示它所处位置。实质是把原来大小相等的栅格集合转 变成大小不等的正方形集合,并对不同尺寸和位置的正方形集合赋予 一个位置码。缺点:位置码的位数决定分割的层数,图形越复杂,分 割的层数越多,相应的位置码得位数亦越多,这种自上而下的分割方 法需要大量重复运算,效率比较低。线性四又树的编码方法:基于深 度和层次码的线性四叉树编码;基于四进制的线性四叉树编码;四叉 树的十进制编码。的概念:指的是完成一个任务所需要的具体步骤和方法。常用的算法 有穷举搜索法,递归法,回溯法,贪心法,分治法。算法设计的

    19、原则: 正确性,确定性,清晰性。时间复杂性:去除了表示算法运行时间的 函数中的低阶项和首项系数,就称度量算法的渐进运行时间。空间复 杂性:为了求解问题实例而执行的计算步骤所需要的内存空间数目, 它不包括分配用来存储输入的空间.元运算:对于任何计算步骤,他 的代价是以一个时间常量为上界,而不管输入数据或执行的算法,这 个计算步骤叫做元运算。(算术,比较,逻辑,赋值) 最优算法:如 果可以证明任何一个求解的问题 A的算法必定是Q( f (n),那么我们把在o(f (n)时间内求解问题A的任何算法都称为问题 A的最 优算法。关系运算是指用于检验两个几何对象的特定的拓扑空间关系 的逻辑方法。判断两直线

    20、相交:1)快速排斥实验,设以线段p1p2, Q1Q2为对角线的矩形不想交,则两线段不相交。 2)跨立实验如果两个线段相交,则一定跨立对方运用矢量乘法乘积小于零则位于两边。判断点是不是在多边形内1)射线法,一条射线从点P开始,穿过多 边形的边界的次数成为交点数目,当交点数目为偶数时,点在多边形 外部,不然在内部。2)转角发,多边形环绕点P的次数成为环绕数, 环绕数为零,在多边形外部,不然在内部。判断线段是不是在多边形 内:线段在多边形内的必要条件是两个端点都在多边形内, 线段和多边形的所有边都不内交。如果多边形的一个顶点和线段相交, 还必须 判断两个相邻交点之间的线段是不是包含与多边形内部。 计

    21、算线段或直线与线段的交点:第一步判断两条线是不是相交,如果不像交,没 有交点。第二到第五步分别判断平行与 X,Y轴的情况。第六步两条线 斜率都存在并且不为零。中心点的计算:重心(分割三角形,加权求的,权重为三角形面积站 的多边形面积比例)三点画圆:求圆心P,求取圆的半径。栅格数据 向矢量格式的转换步骤:1)边界提取,采用高通滤波将栅格图像二 值化或者以特殊值标识边界点。2)边界线追踪,对每个边界弧段由 一个结点向另一个结点搜索,通常对每个已知边界点需沿除了进入方 向的其他七个方向搜索下一个边界,直到连成边界弧段。 3)拓扑关系生成,对于矢量表示得边界弧段数据,判断其与原图上各多边形的空间关系,

    22、以形成完整的拓扑结构并建立与属性数据的联系。 4)去除多余点及曲线圆滑,由于搜索是逐个栅格进行的,必须去除由此造 成的多余点记录,以减少数据繁杂,搜索结果,曲线由于栅格精度的 限制可能不够圆滑,需要采用一定的插补算法进行光滑处理, 常用的 算法有线性迭代法,分段三次多项式插值法,正轴抛物线平均加权法。 斜轴抛物线平均加权法,样条函数插值法。多边形栅格转矢量的双边 界搜索算法:思想是通过边界提取,将左右多边形信息保存在边界点 上,每条边界弧段甴两个并行的边界链组成, 分别记录该边界弧段的 左右多边形编号。边界线搜索采用 2*2的栅格窗口,在每个窗口内4 个栅格数据的模式,可以唯一地确定下一个窗口

    23、的搜索方向和该弧段 的拓扑关系,极大的加快了搜索速度,拓扑关系也很容易建立,步骤(1)边界点和结点提取2)边界线搜索与左右多边形信息记录 3)多 余点去除。单边界搜索算法:对区域的描述由两部分组成,区域外轮 廓和内部孔洞,确定外轮廓跟踪起始点,对区域的外轮廓进行跟踪和 记录,对区域内部的所有孔洞进行扫描跟踪和记录。 将图像中的所有 区域按包含关系分为若干层,每一层至少包含一个区域对象,流程: 1搜索跟踪第一层所有的区域并记录外轮廓和内部孔洞信息; 2根据跟踪到的空孔洞信息找出下一层中未跟踪过的区域的外轮廓跟踪起始 点;3跟踪找到的新区域并记录其外轮廓和内部孔洞信息 4重复2, 3步直到该层所有

    24、区域都已被跟踪完毕 5重复2-4步知道整幅图像内所 有区域都已被跟踪完毕。拓扑关系生成过程:1弧段处理,使整幅图 形中的所有弧段,除在端点处相交外没有其他交点,即没有相交或自相交的弧段2结点匹配,建立结点弧段关系3建立多边形,以左转算法 或右转算法跟踪,生成多边形,建立多边形和弧段的拓扑关系 4建立多边形与多边形的拓扑关系,调整弧段的左右多边形标号,多边形内 部标识号的自动生成。空间索引:是指依据空间对象的位置和形状或 空间对象之间的目中空间关系,按一定的顺序排列的一种数据结构, 其中包括空间对象的概要信息。B树定义:一个M阶的B树1)树中 每个结点至多有M棵子树2)若根结点不是叶子节点。至少

    25、有两棵子 树3)除根之外的所有非终端节点至少有 M/2 (取整)棵子树4)所有 的非叶结点中包含(AO, ,.) Ki为关键字, Ai为指针,Dn为数据指针5)所有的叶子节点都出现在同一层次上, 并且不带信息。R树定义:1)每个叶子节点包含的单元个数介于 m和M之间,除非它同时是根节点。2)每个叶子结点中的单元中,I 是包含该n维空间对象的MBR,ID 3)每个叶子节点的子节点数介于 m和M之间,除非它是根节点。4)每个非叶子节点的单元中,I是包 含子节点的MBR POINTER是指向子节点的指针,通过该指针能访问 到子结点5)根节点最少有两个子结点,除非它同时是叶子结点 6)所 有的叶子节点

    26、都处于树的同一层上。算法的设计原则是 _正确性_、确定性_、_清晰性_。算法的复杂度包括 算法的时间复杂度、算法的空间复杂度_。Egenhofer(1993)构造出一个由 _边界_、_内部_、_外部 的点集组成的9交空间关系模型(9IM)。折线段的拐向判断方法可以直接由矢量叉积的性质推出。 对于有公共端点的线段PoPl和P1P2,通过计算(P2 - P 0) x (Pl - P 0)的符号便可以确定折线段的拐向:若 (P2 - P) X (Pi - R) 0,则 PoPl 在 Pl 点拐向 _右侧 后得到 PlP2;若(P2 - P0)X (Pi - R) 0,则 PoPi 在 Pi 点拐向

    27、左侧 后得到 PiP2;若(P2 - Po) x (Pi -Po) = 0,则 _ o、Pi、P2 三点共线。在空间查询中,最常用的两种查询是按属性信息的要求来查询定位空间位置_和根据对象的空间位置查询有关的属性信息。实现一种地图投影点的坐标变换为另一种地图投影点的坐标,就是要找出 :x=fi2,?) 关系式,其方法有_解析变换法_、_数值解析沪f2(出Y)变换法和_数值变化法 。设面状物体的轮廓边界由一个点的序列 Pi (x i , y i), P 2 ( x 2, y 2 ),,Pn (X n, y n)表示,其面积为轴线或边界上的相邻三点Pi-i、P、Pi+i,用 右手螺旋 法则判断轴线

    28、(边界)转折点的凸凹性,若拇指向下,贝u Pi点左侧为凸 ,右侧为凹。在下面选项中,不属于数据挖掘步骤的是(B )。A数据变换 B 数据分类 C 数据清理 D 知识表示有六种多项式时间算法最为常见,其关系为 (D)A O(i)O(log n)0( nlog n)0( n)0( n 2)O( n3)B O(i)O(logn)0(n)0(n 2)O(nlogn)O(n 3)2 3C 0(i)0(nlogn)0(n)O(logn)0(n )O(n )2 3D O(i)O(logn)0(n)0(nlogn)0(n )不连通,则 arcsij= 乂。那么 Di 的初值为:D i = arcs n i vi V此外,将已找到的从vm出发的最短路径的终点的集合记为 S,它的初始 状态为空集。(2) 选择 vj 使得 Dj=MinDi | vi V-SVj就是当前求得的一条从vm出发的最短路径的终点。其中j为这条最短路径的 终点,将其加入到终点集合 S,令S=SUj(3)修改辅助向量D,即修改


    注意事项

    本文(GIS算法基础重点解读.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开