Flyingis

          Talking and thinking freely !
          Flying in the world of GIS !
          隨筆 - 156, 文章 - 16, 評(píng)論 - 589, 引用 - 0
          數(shù)據(jù)加載中……

          GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)

          作者: Flyingis

          地理信息空間幾何關(guān)系分析主要包括鄰近度 (proximity) 分析、疊加分析、網(wǎng)絡(luò)分析等。緩沖區(qū)分析是鄰近度分析的一種,緩沖區(qū)是為了識(shí)別某一地理實(shí)體或空間物體對(duì)其周圍地物的影響度而在其周圍建立具有一定寬度的帶狀區(qū)域。緩沖區(qū)作為獨(dú)立的數(shù)據(jù)層進(jìn)行疊加分析,可應(yīng)用到道路、河流、環(huán)境污染源、居民點(diǎn)、輻射源等的空間分析,為某種應(yīng)用目的提供科學(xué)依據(jù),另外,結(jié)合不同的專業(yè)模型,可以在生活、軍事、城鄉(xiāng)規(guī)劃等領(lǐng)域發(fā)揮重要的作用。

          針對(duì)點(diǎn)、線、面不同的幾何類型,建立緩沖區(qū)的方式相互有所不同。建立點(diǎn)緩沖區(qū)比較簡(jiǎn)單,即以某點(diǎn)要素為圓心,以緩沖半徑 R 作圓,得到點(diǎn)要素的緩沖區(qū);線要素的緩沖區(qū)是以線為軸,以 R 為距離作兩側(cè)的平行線,在線的兩端構(gòu)建兩個(gè)半圓弧段,和平行線一起組成緩沖區(qū);面緩沖區(qū)的建立,是以面要素的邊界為基線向內(nèi)外側(cè)作平行線,平行線和基線里的區(qū)域就是面緩沖區(qū)。除此之外,還可以對(duì)柵格數(shù)據(jù)建立緩沖區(qū),根據(jù)不同的模型方程建立動(dòng)態(tài)緩沖區(qū),不論對(duì)什么樣的數(shù)據(jù)建立緩沖區(qū),其基本方法都是相似的。

          緩沖區(qū)實(shí)現(xiàn)算法有矢量方法和柵格方法兩種。其中矢量方法數(shù)據(jù)量小,方法相對(duì)成熟,柵格圖像需要進(jìn)行柵格像元之間進(jìn)行布爾運(yùn)算,當(dāng)緩沖區(qū)較大時(shí)會(huì)帶來較重的運(yùn)算負(fù)荷,實(shí)際運(yùn)用中存在一定的局限性。矢量方法算法一般遵循以下步驟:

          點(diǎn) :確定中心點(diǎn)——以中心點(diǎn)為圓心、 R 為半徑生成一個(gè)圓——得到緩沖區(qū)邊界

          線、面 :確定軸線——以距離 R 生成中心軸線的平行曲線——處理轉(zhuǎn)角弧段——對(duì)生成的弧段進(jìn)行求交、合并運(yùn)算——生成緩沖區(qū)邊界

          常用的矢量數(shù)據(jù)中心線擴(kuò)張算法:

          角分線法

          基本思想:即“簡(jiǎn)單平行線法”,在軸線的兩邊作出平行線,在轉(zhuǎn)角處形成尖角,兩端形成弧段,組成緩沖區(qū)。

          缺陷:難以保證在尖角處緩沖區(qū)左右邊線等寬;校正過程復(fù)雜,主要體現(xiàn)在軸線折角很大和很小時(shí)的情況;算法模型復(fù)雜,主要是因?yàn)閹缀紊蛇^程中需要處理較多的異常。

          凸角圓弧法

          基本思想:顧名思義,即是在轉(zhuǎn)角外側(cè)用圓弧來代替尖角,內(nèi)側(cè)仍然使用尖角的方法,生成緩沖區(qū)。

          實(shí)施步驟:

          1.??????? 直線性判斷,判斷相鄰三點(diǎn)是否在同一直線上;

          2.??????? 折點(diǎn)凸凹性判斷,確定轉(zhuǎn)角的地方哪側(cè)使用直線求交,哪側(cè)使用圓弧連接;

          3.??????? 凸點(diǎn)圓弧的嵌入,即將轉(zhuǎn)角外側(cè)形成的圓弧和兩邊的線段相連;

          4.??????? 邊線關(guān)系的判別與處理,島嶼多邊形參與緩沖區(qū)邊界的構(gòu)成,重疊多邊形不參與緩沖區(qū)邊界的構(gòu)成;

          5.??????? 緩沖區(qū)邊界的形成,具體是將重疊區(qū)域進(jìn)行合并,繪制外圍的邊線,包括島嶼多邊形的輪廓,形成最終的緩沖區(qū)邊界。

          在緩沖區(qū)算法中,需要注意的一個(gè)問題是緩沖區(qū)多邊形的重疊與合并,包括同一要素緩沖區(qū)的重疊和多個(gè)要素之間緩沖區(qū)的重疊。柵格數(shù)據(jù)緩沖區(qū)內(nèi)的柵格具有一個(gè)與其影響度對(duì)應(yīng)的一個(gè)值,如果重疊區(qū)域具有相同影響度則任取一值,如果不同則采取影響度大的代替影響度小的方法處理。對(duì)于矢量數(shù)據(jù)的處理算法有三種:數(shù)學(xué)運(yùn)算法;矢量-柵格轉(zhuǎn)換法;矢量-柵格混合法。?

          posted on 2006-04-17 15:25 Flyingis 閱讀(7755) 評(píng)論(9)  編輯  收藏 所屬分類: GIS-GPS-RS

          評(píng)論

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          可否有現(xiàn)成算法可以給我研究學(xué)習(xí)。
          zhanzhenbo@126.com
          2006-10-09 10:11 | piaoyi

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          @piaoyi
          研究GIS底層算法,可以選擇各種GIS開源軟件。
          2006-10-11 18:46 | Flyingis

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          是的,現(xiàn)在看來.確實(shí)有很多優(yōu)秀的開源項(xiàng)目值得研究.

          呵呵.
          2006-12-07 20:35 | zhanzhenbo

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)[未登錄]  回復(fù)  更多評(píng)論   

          能否給我一份算法或代碼,謝謝!
          shenyegh@scfast.com
          2007-06-10 18:44 | 小高

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          fangkai@163.com

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          想研究源代碼的朋友可以看看Geotools源代碼。
          2007-06-28 10:00 | Flyingis

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          我用的是VC,不懂Java,現(xiàn)在急需實(shí)現(xiàn)緩沖區(qū)分析,不知有沒有詳細(xì)的算法或源碼
          2007-08-28 20:28 | jeo2007

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          @jeo2007
          給你推薦一本書:《地理信息系統(tǒng)算法基礎(chǔ)》,科學(xué)出版社。
          2007-08-29 10:11 | Flyingis

          # re: GIS 緩沖區(qū)應(yīng)用及算法實(shí)現(xiàn)  回復(fù)  更多評(píng)論   

          gujiacheng1@sohu.com
          萬分感謝
          2014-02-17 23:01 | SGu
          主站蜘蛛池模板: 常山县| 弥勒县| 镇江市| 宣化县| 元朗区| 德州市| 广丰县| 蕲春县| 陕西省| 秭归县| 九寨沟县| 泊头市| 左云县| 西宁市| 黔南| 长武县| 枝江市| 绥芬河市| 望都县| 东城区| 雅江县| 宝应县| 通道| 宜君县| 泉州市| 浪卡子县| 达州市| 新巴尔虎右旗| 华安县| 仲巴县| 翁牛特旗| 南部县| 玉龙| 达拉特旗| 洞头县| 桑植县| 县级市| 卓尼县| 八宿县| 雅江县| 深圳市|