一種基于線段緩沖區(qū)融合的緩沖區(qū)生成算法方法
【專利說明】一種基于線段緩沖區(qū)融合的緩沖區(qū)生成算法方法
[0001]
技術領域
[0002]本發(fā)明涉及的是一種基于線段緩沖區(qū)融合的緩沖區(qū)生成算法方法。
【背景技術】
[0003]緩沖區(qū)分析是指對某空間物體、地理實體周圍建立一定寬度的區(qū)域,從而分析其鄰近性或影響度。為電廠、處理廠構建緩沖區(qū),可以顯示污染源的影響區(qū)域;為水庫、海岸線和河道構建緩沖區(qū),可對緩沖區(qū)中的水利設施信息、搶險救災信息及社會經(jīng)濟等信息進行統(tǒng)計分析。緩沖區(qū)還可以為救災搶險提供決策手段,林業(yè)規(guī)劃時根據(jù)河流一定縱深范圍構建森林砍伐區(qū)等。
[0004]現(xiàn)有的緩沖區(qū)生成算法分為兩大類:基于柵格的緩沖區(qū)生成法和基于矢量的緩沖區(qū)生成法?;跂鸥竦木彌_區(qū)生成法的是將點、線、面地理實體柵格化,然后向實體柵格周圍擴張,最后提取邊界生成矢量緩沖區(qū)。這種算法結構較簡單且容易實現(xiàn),但由于柵格精度的限制,導致內存開銷大、難以實現(xiàn)大數(shù)據(jù)量的緩沖區(qū)分析?,F(xiàn)有技術已經(jīng)分別從圖像膨脹、柵格游程編碼等方向把地理實體柵格化來生成緩沖區(qū),雖然內存開銷和運算速度相比常規(guī)柵格算法有了較大改進,但結果精度仍然無法保證?;谑噶康木彌_區(qū)生成法,包括角平分線法和凸角圓弧法。角平分線法是在實體軸線的起點和終點上分別作垂線,然后依據(jù)緩沖半徑截出左右邊線的起始點。角平分線算法結構簡單且容易實現(xiàn),但是當軸線轉角偏大時不能保證邊界的等寬性,在銳角轉角處,凸側角點由于角度進一步變小會沿角平分線越來越遠離軸線頂點。凸角圓弧算法是在軸線的兩頂點上用緩沖距半徑為圓弧進行擬合。凸角圓弧算法可以最大程度的爭取緩沖區(qū)軸線與邊界的等寬,避免了角平分線法的異常情況,但是在軸線尖銳轉角處的平行線交點,會隨著緩沖半徑的增大而急劇遠離軸線,最后出現(xiàn)凹陷和尖角的失真結果。
[0005]如何生成等寬、擬真的緩沖區(qū)域,是緩沖區(qū)生成的根本難點所在,也決定了緩沖區(qū)能否正確反映真實地理實體影響范圍的關鍵技術點。
【發(fā)明內容】
[0006]任何一種地理實體緩沖區(qū)的生成過程,最終都可以看作是單個基礎線段的緩沖區(qū)生成和多個基礎線段的緩沖區(qū)多邊形求并集的兩個階段。本發(fā)明的目的是借助這一思想,提出了一種基于線段緩沖區(qū)融合的緩沖區(qū)生成算法,最終避免了現(xiàn)有方法的弊端。
[0007]本發(fā)明為了解決上述技術問題,提供了如下的技術方案:
一種基于線段緩沖區(qū)融合的緩沖區(qū)生成算法,包括如下步驟:
將軸線按照轉折點位置,拆分成若干線段;
對每個線段分別做緩沖區(qū)計算;
使用線段緩沖區(qū)融合算法將若干個緩沖區(qū)融合為一個緩沖區(qū)。
[0008]進一步地,所述線段緩沖區(qū)融合算法為:
步驟一:兩個待融合多邊形的預處理:
首先從第一個交點開始,按交點所在多邊形線段的自然順序將所有交點融入第一個多邊形中,與原有節(jié)點即構成了多邊形的新節(jié)點,第二個多邊形同樣處理;
然后分別用現(xiàn)在的第二個節(jié)點判斷兩多邊形的走向:第一個多邊形的第二個節(jié)點如果在第二個多邊形的內部,則第一個多邊形的方向為正方向,第二個多邊形的判斷規(guī)則相反;
最后將反方向的多邊形節(jié)點全部逆向存儲;
步驟二:以步驟一中求得的第一個交點作為起點;
步驟三:從步驟二中所述起點開始,沿第二個多邊形的正方向尋找外圍邊界線段;步驟四:以該外圍邊界線段的終點為起點,沿正方向,繼續(xù)尋找外圍邊界線,直到尋找至IJ下一個緩沖區(qū)交點,記錄下這組外圍邊界線段,并將該交點作為起點,將兩個多邊形的序號互換;
步驟五:重復步驟三、四,直到回到步驟二中所述起點為止;此時形成的封閉區(qū)域即折線最終的緩沖區(qū);
步驟六:依次用新的多邊形與舊多邊形進行合并,即可形成最終緩沖區(qū)結果。
[0009]進一步地,步驟四中所述外圍邊界線的定義是:假設一個折線有N個線段,那么每個線段做緩沖區(qū)后就會形成N個小緩沖區(qū),則不被任何一個小緩沖區(qū)矩形所覆蓋的邊界就是外圍邊界線。
[0010]本發(fā)明具有以下有益效果:
(1)先將地理實體對象的邊界多線段打散成為一組線段集合,然后依次生成線段的單個緩沖區(qū)域,最后將單個緩沖區(qū)域合并得到地理實體的緩沖區(qū)域,從而避免了傳統(tǒng)緩沖區(qū)生成導致的不等寬、尖角、失真等錯誤,最終生成的緩沖區(qū)可真實的反應影響范圍,更利于簡單而直觀地進行后續(xù)空間分析。
[0011](2)該算法將直線求交的平面掃描線方法使用到曲線求交的算法中,使得緩沖區(qū)在直接利用半圓弧和線段生成的同時,又將緩沖半徑依據(jù)實際場景進行處理。在污染源的影響、水利設施信息、搶險救災信息和社會經(jīng)濟信息統(tǒng)計分析等領域得到了廣泛的應用,而且顯示出了許多優(yōu)越性。
[0012](3)適用于點、線、面等所有類型實體,該方法打破了以往三種實體單獨生成緩沖區(qū)的局限,將三種類型最終都歸結于獨立線段的緩沖區(qū)生成與融合,從本質上實現(xiàn)了生成方法的統(tǒng)一。
[0013](4)本算法簡單明了,便于用計算機進行處理。
[0014]
【附圖說明】
[0015]圖1示出了采用角平分線算法獲得的地理實體緩沖區(qū)邊界線示意圖。
[0016]圖2示出了采用角平分線算法獲得的地理實體緩沖區(qū)邊界線的弊端示意圖。
[0017]圖3示出了采用凸角圓弧算法獲得的地理實體緩沖區(qū)邊界線示意圖。
[0018]圖4示出了采用凸角圓弧算法獲得的地理實體緩沖區(qū)邊界線的弊端示意圖。
[0019]圖5示出了采用本發(fā)明算法得到的每個線段分別做緩沖區(qū)的結果示意圖。
[0020]圖6示出了采用本發(fā)明算法得到的緩沖區(qū)融合結果示意圖。
[0021]圖7示出了本發(fā)明算法中線段緩沖區(qū)融合算法的算法分解示意圖。
[0022]圖8示出了本發(fā)明算法中線段緩沖區(qū)融合算法的融合結果示意圖。
[0023]圖9示出了采用本發(fā)明算法得到的緩沖區(qū)實例示意圖。
[0024]
【具體實施方式】
[0025]下面通過實施例,并結合附圖,對本發(fā)明的技術方案作進一步具體的說明。
[0026]所謂緩沖區(qū)就是地理實體的服務范圍或影響范圍。從數(shù)學的角度看,地理實體0i的緩沖區(qū)可定義為:
Bi={x:d(xi, Oi)彡 R}
即地理實體Oi以緩沖半徑R的緩沖區(qū),為距離實體d小于或等于R的全部點的集合。d常規(guī)下是歐氏距離,也可以是其他定義的距離。
[0027]地理實體緩沖區(qū)生成算法的關鍵處是多緩沖區(qū)