中文名 | 空間分析算法 | 外文名 | Spatial AnalysisAlgorithm |
---|---|---|---|
相關概念 | 地理信息系統(tǒng) | 應????用 | 等水污染監(jiān)測、城市規(guī)劃與管理 |
分????類 | 矢量數(shù)據(jù)、柵格數(shù)據(jù)空間分析 | 主要算法 | 平面掃描算法、凸包的算法等 |
平面掃描算法的主要內(nèi)容是對空間對象進行一遍掃描,并在掃描過程中完成對空間對象的性質(zhì)或空間對象之間的關系的分析。在掃描過程中,掃描線自左向右移動,依一定順序遍歷所有與掃描線相交的空間元素,判斷它們之間的順序和其他空間拓撲關系,依照一定規(guī)則進行分析。圖1中給出了平面掃描算法的示意,其中粗線段表示和掃描線相交的線段。
任何平面掃描算法的基本要素都包括:事件點列表,掃描線狀態(tài),事件點觸發(fā)的動作。 其中,事件點列表 指依照系統(tǒng)確定的空間排序關系,事先確定或在掃描過程中計算出的算法感興趣的空間元素的有序序列;掃描線狀態(tài)指依照確定的排序規(guī)則記錄當前與掃描線相交的空間元素的有序表 ;事件點觸發(fā)的動作指掃描到事件點時做出的分析或操作。
事先確定的事件點列表在掃描過程中不再變化,稱為靜態(tài)事件點列表;需要在掃描過程中計算的事件點列表稱為動態(tài)事件點列表。和掃描線相交的線段以及落在掃描線上的點是掃描線狀態(tài)的組成元素。事件點可以是任何分析算法感興趣的空間元素,包括對象之間交點和特定線段元素等。
可以將掃描線狀態(tài)看成一種抽象數(shù)據(jù)類型,記為 Sweep_Status,它擁有自己的數(shù)據(jù)組織方式、排序規(guī)則和操作方法。掃描線狀態(tài)中的排序規(guī)則是按照各個空間元素和掃描線交點的 Y 坐標的大小來排序,在這種排序關系的組織下可以對一個與掃描線相交的空間元素取前驅(qū)或則后繼。圖1中標號 1 到 4 給出了與掃描線相交的線段的排序順序。
平面掃描算法是一個算法框架,給定上述三個要素的具體實現(xiàn),就可以給定一個具有一定的功能的空間分析算法。下面 S 是 Sweep_Status 類型的變量,s 是空間線段,對掃描線狀態(tài)定義一系列操作。
關于掃描線狀態(tài)的操作:
(1) new_sweep(),生成一個新的掃描線狀態(tài)的數(shù)據(jù)結(jié)構(gòu),返回 Sweep_Status類型的變量;
(2) add_left(S,s),當掃描過程中遇到左半線段類型的事件點的時候,向 S 中插入一個左半線段對應的線段元素 s,操作返回一個插入線段后的掃描線狀態(tài);
(3) del_right(S,s),當掃描過程中遇到右半線段類型的事件點的時候,在掃描線中刪除右半線段對應的線段元素, S、s 及返回值的定義同 add_left(S,s);
(4) pred_of(S,elem),在掃描線狀態(tài)中定位空間元素 elem 的前驅(qū),即確定存在于S中且按照掃描線的排序規(guī)則比elem小的元素的集合中最大的元素的位置,操作結(jié)果設置 S 的數(shù)據(jù)項 current 指向 elem 的前驅(qū),current = 0 表示前驅(qū)不存在,返回 current 被設置后的掃描線狀態(tài);
(5) current_exists(S),當 S 的數(shù)據(jù)項 current = 0,返回 FALSE,否則返回 TRUE;
(6) set_attr(S,attr)設置 S 中 current 所指的空間元素的屬性,attr 是屬性集合;
(7) get_attr(S)取 S 中 current 所指的空間元素的屬性,返回屬性集合;
InsideAbove 是區(qū)域類型對象 R 中的線段的一個屬性,它表示這個線段的上方或者左側(cè)是區(qū)域的內(nèi)部??梢杂闷矫鎾呙杷惴ㄅ袛嗖⒃O置 R 中的線段 s 是否具有屬性 InsideAbove:如果它在掃描線狀態(tài)中的序號為奇數(shù),則 s 具有屬性InsideAbove;否則不具備這種屬性。這種判斷和設置在建立空間對象的時候完成,圖1中給出了示例。
由圖論的知識可知,地圖上的點構(gòu)成一帶權無向圖(有向圖可視為特例的一種),要找出任意兩地間的最短路徑,對地圖中的所有點,首先要建立一個鄰接矩陣,它表示圖中任意兩地間的鄰接關系及其權值(若兩地間無任何連接關系則設為無窮大),易知該矩陣為對稱矩陣。從該矩陣出發(fā),可以利用圖論中的迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法等求出最短路徑。
Dijkstra算法
Dijkstra算法的基本思路是:首先,引進一個輔助向量Dist,它的每個分量Dist [i]表示當前找到的從始點V到每個終點Vi 的最短路徑的長度。它的初始值為:若從V到Vi有弧,則Dist [i]為弧上的權值;否則置Dist[i]為無窮大。顯然,長度為Dist[i]=Min{Dist[i]|Vi
Dijkstra算法描述為:
(1) 假設用帶權的鄰接矩陣Cost來表示帶權有向圖,Cost[i,j]表示弧(Vi , V j)上權值。若(Vi,Vj)不存在,則置Cost[i,j]為無窮大。S為已找到從V出發(fā)的最短路徑的終點的集合,它的初始狀態(tài)為空集。
(2) 選擇Vj,使得Dist [i] =Min {Dist [i] |Vi 不
(4) 重復操作(2) , (3)共N-1次。由此求得從V到圖上其余各頂點的最短路徑是依路徑長度遞增的序列。
弗洛伊德算法
弗洛伊德算法能夠求得每一對頂點之間的最短路徑,其基本思想是:假設從頂點Vi到Vj的最短路徑。若從Vi到Vj有弧,則從Vi到Vj存在一條長度為COST [ i, j]的路徑,該路徑不一定是最短路徑,尚需進行n次試探。首先考慮路徑(Vi, V1, Vj)是否存在(即判別弧(Vi, V1)和弧(V1, Vj)是否存在)。如果存在,則比較(Vi, Vj)和(Vi, V1, Vj)的路徑長度,較短者為從Vi到Vj的中點頂點的序號不大于1的最短路徑。假如在路徑上再增加一個頂點V2,也就是說,若(Vi,…,V2)和(V2,...,Vj)分別是當前找到的中間頂點的序號不大于1的最短路徑,那么(Vi,...,V2,...,Vj)就有可能是從Vi到Vj的中間頂點的序號不大于2的最短路徑。將它和已經(jīng)得到的從Vi 到Vj的中間頂點的序號不大于1的最短路徑相比較,從中選出中間頂點的序號不大于2的最短路徑之后,再增加一個頂點V3,繼續(xù)進行試探。依次類推,在經(jīng)過n次比較之后,最后求得的必是從Vi 到Vj的最短路徑。按此方法,可同時求得各對頂點間的最短路徑。算法共需3層循環(huán),總的時間復雜度是O(
地理信息系統(tǒng)(Geographic Information System,簡稱GIS)是采集、處理、存儲、查詢、分析和顯示與地球表面空間相關的數(shù)據(jù)的計算機系統(tǒng)。對于具體應用來說,它是利用計算機科學管理和綜合分析現(xiàn)實世界與空間位置相關的地理數(shù)據(jù),為規(guī)劃、管理、研究等提供輔助決策的信息系統(tǒng)。
空間分析是建立在對空間數(shù)據(jù)的有效管理之上的,是地理信息系統(tǒng)區(qū)別于一般信息系統(tǒng)的主要功能特征,也成為評價一個空間信息系統(tǒng)功能的主要指標之一。空間分析是基于空間對象的位置和形態(tài)特征的空間數(shù)據(jù)分析技術,其目的在于提取和傳輸空間信息。利用空間分析技術,通過對原始數(shù)據(jù)模型的觀察和實驗,用戶可以獲得新的經(jīng)驗和知識,并以此作為空間行為的決策依據(jù)??臻g分析在水污染監(jiān)測、城市規(guī)劃與管理、地震災害和損失估計、洪水災害分析、礦產(chǎn)資源評價、道路交通管理、地形地貌分析和軍事領域等領域都有廣泛應用。
建筑空間分析包括墻、地面、屋頂、門窗等圍城建筑的內(nèi)部空間,以及建筑物與周圍環(huán)境中的樹木、山巒、水面、街道、廣場等形成建筑的外部空間。建筑空間分析包括:封閉空間用限定性比較高的圍護實體(承重墻、各類后砌...
你要考慮到住戶對于周圍環(huán)境的心理活動。比如小區(qū)內(nèi)部過道,太窄,車不好走,影響急救車救火車等進行緊急援助,并且經(jīng)常錯車容易造成有車住戶對于道路設計的不滿,太寬沒有意義,還會影響小區(qū)綠化。 小區(qū)綠化過少,...
室內(nèi)設計的下面功能分析是在建筑內(nèi)部界定空間中進行的。根據(jù)人的行為特征,室內(nèi)中間的使用某本表現(xiàn)為“動”與“靜”兩種形態(tài)。具體到“個特定的空間,動與靜的形態(tài)又轉(zhuǎn)化為交通面積與實用面積,可以說室內(nèi)設計的平面...
平面點集 S 的凸包是包含 S 中所有點的最小凸多邊形,其頂點為 S 中的點。
設多邊形 Q 的頂點是給定平面內(nèi)的點
設二維點集 S = {
許多空間分析問題都可以歸結(jié)為凸包問題,求取凸包的算法有增量法、格雷厄姆掃描法、卷包裹法和分治法等。
(1) 增量法:首先取幾個點,形成初始凸包,然后不斷尋找當前凸包外的新頂點來更新凸包,直到所有的點都在凸包內(nèi)。其計算復雜度為 O(
(2) 格雷厄姆掃描法:首先找到最小 Y 坐標點,接著按照其它點和該極值點的連線與 x 軸的夾角的角度值排序,通過判斷連續(xù) 3 個點的空間關系,從而得到逆時針排列的凸包頂點。其計算復雜度為 O(nlogn)。
(3) 卷包裹法:以某極值點作為開始點,根據(jù)其他點都位于相鄰頂點連線同側(cè)的原則,找到所有的頂點。其計算復雜度為 O(nh),這里 n 和 h 分別為點數(shù)和凸包邊界數(shù)。
(4) 分治法:先按坐標將點集分成 2 個子集 L 和 R,使得 L 中所有的點在 R的左邊,遞歸地找到 L 和 R 的凸包,通過子凸包的公切線對其合并。其計算復雜度為 O(nlogn)。
所有這些算法的計算復雜度都大于或等于 O(nlogn),凸包算法時間復雜度的下限為 O(nlogn),雖然有些算法在特殊情況下可以達到線性時間的復雜度,不過在最壞的情況下,計算復雜度仍不低于 O(nlogn)。
格式:pdf
大?。?span id="z3ia1hx" class="single-tag-height">165KB
頁數(shù): 4頁
評分: 3
大空間中央空調(diào)PID控制算法——中央空調(diào)在公共大空間環(huán)境下使用面l臨許多實際問題,針對這些問題的特點及空調(diào)系統(tǒng)的控制要求,利用PID調(diào)節(jié)進行數(shù)值分析,選擇使用位置式PID控制算法,并對可能引起的積分飽和現(xiàn)象進行修正.最后通過對圖書館空調(diào)系統(tǒng)的階躍測試確...
格式:pdf
大?。?span id="sw60b5l" class="single-tag-height">165KB
頁數(shù): 4頁
評分: 4.4
針對電動空調(diào)功率模塊損耗計算困難,散熱設計依據(jù)不足的問題,分析了其產(chǎn)熱和散熱的機理,提出了基于空間插值算法的實際損耗值計算方法,建立了熱量從功率模塊傳導至冷媒的數(shù)學模型,提出了降低熱阻的兩種途徑,通過有限元軟件對不同導熱系數(shù)和基座厚度條件下的功率模塊溫度分布狀況進行了熱仿真分析,利用實驗對理論分析和仿真結(jié)果進行了驗證,結(jié)果表明提出的兩種提高散熱效率的方法能夠改善功率模塊的散熱性能。
《計算機算法設計與分析(第5版)》修正了第4版中發(fā)現(xiàn)的一些錯誤,并將各章的習題分為算法分析題和算法實現(xiàn)題兩部分,增加了算法實踐性內(nèi)容,增加了有關串和序列的算法內(nèi)容。
該教材各章的論述中,首先介紹一種算法設計策略的基本思想,然后從解決計算機科學和應用中的實際問題入手,描述幾個算法。同時對每個算法所需的時間和空間進行分析,使讀者既能學到一些常用的算法,也能通過對算法設計策略的反復應用,牢固掌握這些算法設計的基本策略。該教材選擇某些問題,通過對解同一問題的不同算法的比較,使讀者體會到每種算法的設計要點。
該教材采用面向?qū)ο蟮腃 語言作為算法描述手段,在保持C 優(yōu)點的同時,盡量使算法描述簡明、清晰。每章的章首為學習要點提示,章末配有難易適度的習題,分為算法分析題和算法實現(xiàn)題兩部分,以強化實踐環(huán)節(jié) 。
空間分析是地理信息系統(tǒng)的主要功能特征。《空間分析(第2版)》以全新的思路,將各種空間分析的方法與模型區(qū)分為基本分析方法和專門應用模型兩個層次,以空間信息的構(gòu)成為主體框架,組織和闡述了空間分析的基本內(nèi)容。全書共分為七章,著重敘述了空間分布、空間位置、空間形態(tài)、空間距離,以及空間方位、拓撲、相似和相關等分析的基本理論和算法實現(xiàn)。
《空間分析(第2版)》可作為有關專業(yè)研究生的教學用書,亦可用作有關專業(yè)本科生的選修課教材或教學參考書,同時也適合于地理、測繪、土地、城建、規(guī)劃等領域從事地理信息處理與分析的研究人員和工程技術人員閱讀參考。學習或閱讀《空間分析(第2版)》最好先具備地理信息系統(tǒng)方面的基礎知識。
配套教材
《計算機算法設計與分析(第5版)》有配套教材——《計算機算法設計與分析習題解答(第5版)》 。
書名 |
ISNB |
出版社 |
出版時間 |
作者 |
---|---|---|---|---|
《計算機算法設計與分析習題解答(第5版)》 |
9787121344381 |
電子工業(yè)出版社 |
2018年10月 |
王曉東 |