GIS算法基础重点

一、算法的时间复杂性T(n):利用某算法处理一个问题规模为n的输入所需要的时间。

空间:为了解求问题的实例而执行的计算步骤所需要额内存空间(或字)数目,不包括用来存储输入的空间。算法空间复杂性不可能超过运行时间的复杂性。

元运算:对于任何计算步骤,不管输入数据或执行的算法,它的代价总是以一个时间常量为上界,则称该计算步骤为元运算。基于比较的排序问题的最优算法:我们通常把在O(nlgn)时间内用元素比较法排序的任何算法,称为基于比较的排序问题的最优算法。一般来说,如果可以证明任何一个求解问题A的算法必定是Ω(f(n)),那么我们把在O(f(n))时间内求解任何问题A的任何算法都称为问题A的最优算法。算法设计原则:正确性 确定性 清晰性。算法的要素:1.待解问题的描述2.算法设计的任务3.算法分析。

二、关系运算:指的是用于检验两个几何对象的特定的拓扑空间关系的逻辑方法。

两步确定两条线段是否相交:1.快速排斥实验(矩形不相交)2.跨立实验(判断线段P1P2是否和Q1Q2跨立依据是:(P1-Q1)*(Q2-Q1)*(Q2-Q1)*(P2-Q1)>=0.)判断点是否在多边形内常用算法:1.射线法(又叫奇偶测试法)2.转角法。线段在多边形内的一个重要条件是线段的两个端点都在多边形内,第二个必要条件是线段和多边形的所有边都不内交。线段在多边形内判断步骤:1.先求出所有和线段相交的多边形的顶点2.然后按照X-Y坐标排序(X坐标

小的排在前面,对于X坐标相同的点,Y坐标小的排在前面,这种排序准则也是为了保证水平和垂直情况的判断正确),这样相邻的两个点就是在线段上相邻的两交点,如果任意相邻两点的中点也在多边形内,则该线段一定在多边形内。计算线段或直线与线段的交点:设一条线段为L0=P1P2,另一条线段或直线为L1=Q1Q2,要计算的就是L0和L1的交点:第一步:首先判断L0和L1是否相交2.若L1不平行与Y轴,则交点横坐标为P1的横坐标,代入到L1的直线方程中可以计算出交点纵坐标。第三步:若L1平行于y轴,则第四步:若L0平行于x轴,有2种情况,第五步:若L1平行于x轴,则,第六步:若L1和L0斜率均存在,则。中心点的计算:多边形的中心点(又叫质心或重心)可以通过将多边形分割成为三角形,求取三角形的中心点,然后将三角形的中心点加权求和取得。三点画圆:算法关键是求取圆心和园半径:第一步:求取圆心,第二步:求取半径R,R=((xa-xp)^2+(ya-yp)^2)^1/2。p是圆心。四、矢量线栅格化三种方法:八方向栅格化、全路径栅格化、恒密度栅格化。矢量面格式向栅格面格式转换又称为多边形填充,就是在矢量表示的多边形边界内部的所有栅格点上赋以相应的多边形编码,从而形成栅格数据阵列。方法有:内部点扩散算法(种子,八方向扩散)、射线算法和扫描算法、边界代数算法(积分、拓扑)。栅格数据矢量化有4个基本步骤:1.边界提取2.边界线追踪3.拓扑关系生成4.去除多余点及曲线圆滑。细化算法:栅格数据需要细化,以提取其中轴线,因为:1.中轴线是栅格数据曲线的标准化存储形式2.实现细化是将栅格曲线

矢量化的前提3.在有些算法中可以提高计算精度。细化算法可分两大类:第一大类是基于距离变换,首先得到骨架像元,然后跟踪距离变换图中的“山脊线”,并将其作为中轴线;第二类是基于在不破坏栅格拓扑连通性的前提下,按对称的原则删除影像边缘的栅格点。四例:1.用距离变换法搜寻中轴线(减细)2.最大数值计算法(V值4、1)3.经典的细化算法4.边缘跟踪剥皮法.多边形栅格转矢量的双边界搜索算法:基本思想:通过边界提取,将左右多边形信息保存在边界点上,每条边界弧段由两个并行的边界链组成,分别记录该边界弧段的左右多边形编号。具体步骤:1.边界点和结点提取2.边界线搜索与左右多边形信息记录3.多余点去除。多边形栅格转矢量的单边界搜索算法:单边界搜索算法时通过对传统的区域跟踪算法进行改进而形成的,传统区域跟踪算法中,对区域的描述由两部分组成:区域外轮廓和内部孔洞。单边界搜索算法流程:1.跟踪、搜索第一层所有的区域并记录外轮廓和内部孔洞信息2.根据跟踪到的孔洞信息找出下一层中未跟踪过的区域的外轮廓跟踪起始点(即找出

>>闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳婀遍埀顒傛嚀鐎氼參宕崇壕瀣ㄤ汗闁圭儤鍨归崐鐐差渻閵堝棗绗掓い锔垮嵆瀵煡顢旈崼鐔蜂画濠电姴锕ら崯鎵不缂佹﹩娈介柣鎰綑閻忔潙鈹戦鐟颁壕闂備線娼ч悧鍡涘箠閹伴偊鏁婂┑鐘插€甸弨浠嬪箳閹惰棄纾归柟鐗堟緲绾惧鏌熼幆褍顣虫俊顐灦閺岀喖顢涢崱妤冪伇闁告艾顑夊娲传閸曨厾鍔圭紓鍌氱С缁舵岸鎮伴鈧畷鍫曨敆婢跺娅栭梻浣瑰缁诲倸螞瀹€鍕闁告侗鍠氱弧鈧梺姹囧灲濞佳勭濠婂嫪绻嗘い鏍ㄧ啲閺€鑽ょ磼閸屾氨孝妤楊亙鍗冲畷鐓庘攽閸偅袨闂傚倷绶氶埀顒傚仜閼活垱鏅堕濮愪簻妞ゅ繐瀚弳锝呪攽閳ュ磭鍩g€规洖宕灃闁逞屽墲閵嗘牜绱撻崒姘偓鎼佸磹閸濄儳鐭撻柡澶嬪殾濞戞鏃堝焵椤掑嫭鍋濆┑鐘宠壘闁裤倖淇婇妶鍕槮濞存粍绮撳铏圭矙鐠恒劎顔囬梺姹囧妿閸忔﹢鐛箛娑欐優闁革富鍘鹃敍婊呯磽閸屾瑩妾烽柛銊ョ秺閻涱噣寮介鐔哄幍闂佸憡鍔樼亸娆戠不濞差亝鐓忛柛銉e妼婵本銇勯敃鈧顓犳閹烘挻缍囬柕濞垮劜鐠囩偤姊虹拠鈥虫灀闁哄懐濮撮悾宄邦潨閳ь剟骞婇悩娲绘晞闁圭ǹ楠告禍婵堢磽閸屾艾鈧悂宕愭搴㈩偨闁跨喓濮寸粣妤呮煛瀹ュ骸骞楅柛瀣儔閺岀喖骞嗚閿涘秹鏌¢崱顓犵暤闁哄瞼鍠栭幃婊冾潨閸℃ḿ鏆﹂梻浣呵归敃锕傚礂濮椻偓楠炲啫螖閸涱喖浠洪梺璋庡棭鍤欐繝鈧柆宥呮瀬妞ゆ洍鍋撴鐐叉椤︻噣鏌¢埀顒佺鐎n偆鍘藉┑鈽嗗灥濞咃絾绂掑☉銏$厸闁糕€崇箲濞呭懘鏌嶇憴鍕伌妞ゃ垺鐟ч崰濠囧础閻愭惌鍟€闂傚倷鑳堕幊鎾剁不瀹ュ鍨傜痪顓炴噽娴滆棄鈹戦悙瀛樺鞍闁告垵缍婂畷褰掑箮閽樺鍔﹀銈嗗笒閸燁偊鎮¢幇鐗堢厪闁搞儜鍐句純閻庢鍠楀ḿ娆掔亙闂侀€炲苯澧紒鍌氱У閵堬綁宕橀埞鐐闂備礁鎲$换鍌溾偓姘煎櫍閹偟鎹勯妸褏锛滈梺鍝勮閸庢娊鎮鹃悜姗嗘闁绘劕寮堕ˉ銏⑩偓娈垮櫘閸o絽鐣锋總鍓叉晝闁挎繂妫欓悵顐⑩攽閻樺灚鏆╅柛瀣仱瀹曞綊宕奸弴鐔告珖闂佸啿鎼崐鎼侇敋闁秵鐓ラ柣鏇炲€圭€氾拷<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4