環域分析(英語:buffer analysis,中國大陸稱緩衝區分析,台灣稱環域分析)在地理資訊系統(GIS)和空間分析中的用途是界定地理要素周圍一定距離範圍內的區域,即環域buffer zone)。[1]環域可能是鄰近分析方法中最常用的工具。[2]

歷史

編輯

自1970年代末和1980年代初的原始整合GIS軟件套件(如ARC/INFOOdyssey和MOSS)以來,環域操作一直是GIS功能的核心部分。儘管在後來,它已成最常用的GIS操作之一,但除了偶有開發出更高效的演算法外,幾乎沒有關於該工具本身的研究文獻發表。[3]

基本演算法

編輯
 
構造一個折線要素(藍色)的環域(紅色)

在給定的距離(半徑)r下,在向量數據模型的地理要素周圍建立環域的基本方法如下:[4]

  • 單點:圍繞點作半徑為r的圓。
  • 多段線(由按順序排列的頂點的列表組成,各頂點之間以直線段連接)或多邊形的邊界:
  1. 在每個頂點周圍建立一個圓形環域
  2. 在每條線段兩側偏移距離r,建立矩形。
  3. 將矩形和圓形融合成一個多邊形。

軟件中的環域操作的實現方式,通常採用此方法各種變式,以更有效和準確地處理地理資訊。

平面與測地距離

編輯

傳統實現方法中,環域是在歐幾里德幾何在平面的笛卡爾坐標空間(即由地圖投影建立)上建立的,因為其數學計算相對簡單;考慮到1970年代後期的電腦計算能力有限,這一點曾非常重要。由於地圖投影會造成失真,以這種方式計算的環域與實在在地球表面繪製的環域不同;在小尺度範圍內,這種差異可忽略不計,但在更大的尺度下,誤差可能很大。

目前有一些軟件(例如Esri的ArcGIS Pro和turf頁面存檔備份,存於互聯網檔案館))提供按測地線距離(geodesic distance)計算環域的選項,其演算法與原始演算法類似,但基於球面三角法進行計算,包括將頂點之間的線表示為大圓[4]還有一些軟件實現中採用了一種變通的方法:首先將要素重新投影為位置失真較少的投影,然後在新的投影上計算平面環域。[5]

選項

編輯

GIS軟件可能會提供基本演算法的變體,以適應不同應用場景的需要:[1]

  • 末端:線要素環域的末端在預設情況下是圓的,但也可改用方形或切角。
  • 側類型:例如可選擇只線上條的一側作環域,只在多邊形的內部或外部作環域。
  • 可變寬度:一個圖層中的要素可以使用不同的半徑進行緩衝,距離值通常由屬性指定。
  • 共同環域:將圖層中每個要素的環域都融合到單個圖形中。當研究者不關心空間中每個點鄰近的是哪個具體的要素,只關心附近是否有相關要素時時,常使用該選項。

參見

編輯

參考文獻

編輯
  1. ^ 1.0 1.1 de Smith, Michael J.; Goodchild, Michael F.; Longley, Paul A. https://www.spatialanalysisonline.com/HTML/index.html?buffering.htm |chapterurl=缺少標題 (幫助). 4.4.5 Buffering 6th. 2018 [2022-09-09]. (原始內容存檔於2007-08-15). 
  2. ^ Wade, T. and Smmer, S. eds. A to Z GIS頁面存檔備份,存於互聯網檔案館
  3. ^ Bhatia, Sumeet; Vira, Viral; Choksi, Deepak; Venkatachalam, P. An algorithm for generating geometric buffers for vector feature layers. Geo-spatial Information Science. 2012, 16 (2): 130–138. doi:10.1080/10095020.2012.747643 . 
  4. ^ 4.0 4.1 How Buffer (Analysis) Works. ArcGIS Pro Documentation. Esri. [16 March 2021]. (原始內容存檔於2022-09-09). 
  5. ^ ST_Buffer. PostGIS documentation. [2022-09-09]. (原始內容存檔於2021-05-07). 

外部連結

編輯