【GIS】GIS矢量空间分析(上)
0、GIS的基本概念
柵格數據與矢量數據
上圖中,a為圖形模擬表示的地理對象,b為控件對象對應的柵格數據模型表示,c為對應的矢量數據模型表示。
矢量模型的表達源于原型空間實體本身,通常以坐標來定義。一個點的位置可以二維或者三維中的坐標的單一集合來描述。一條線通常由有序的兩個或者多個坐標對集合來表示。特定坐標之間線的路徑可以是一個線性函數或者一個較高次的數學函數,而線本身可以由中 間點的集合來確定。一個面通常由一個邊界來定義,而邊界是由形成一個封閉的環狀的一條或多條線所組成。如果區域有個洞在其中,那么可以采用多個環以描述它。
基于柵格的空間模型把空間看作像元(Pixel)的劃分,每個像元都與分類或者標識所包含的現象的一個記錄有關。像元與“柵格”兩者都是來自圖像處理的內容,其中單個的圖像可以通過掃描每個柵格產生。GIS 中柵格數據經常是來自人工和衛星遙感掃描設備中,以及用于數字化文件的設備中。采用柵格模型的信息系統,通常應用了前面所述 的分層的方法。在每個圖層中柵格像元記錄了特殊的現象的存在。每個像元的值表明了在已知類中現象的分類情況。
下圖表示矢量數據結構
下圖表示柵格數據模型
總的來說,柵格圖是一個規則的陣列,包含著一定數量的像元或者柵格;而矢量圖是由一組描述點、線、面,以及它們的色彩、位置的數據,通過軟件算法計算得到的圖形。
常用的柵格圖格式有:tif,png,jpeg/jpg等,處理軟件如PS;
常用的矢量圖格式有:shp、eps、dwg、dxf等,處理軟件如AutoCAD、AI等。
ArcGIS可以同時處理柵格數據與矢量數據,常用的柵格數據格式為tif,常用的矢量數據格式為shapefile、coverage、TIN等。
GIS中常用的矢量數據格式
shapefile
shapefile 是一種用于存儲地理要素的幾何位置和屬性信息的非拓撲簡單格式。shapefile 中的地理要素可通過點、線或面(區域)來表示。shapefile 格式在應存儲在同一項目工作空間且使用特定文件擴展名的三個或更多文件中定義地理配準要素的幾何和屬性
coverage
Coverage 是一種用于存儲矢量數據的地理相關數據模型,它包含地理要素的空間(位置)數據和屬性(描述性)數據。Coverage 使用一組要素類來表示地理要素。每個要素類存儲一組點、線(弧)、面或注記(文本)。Coverage 可以具有拓撲,用于確定要素間的關系。
Coverage文件包括兩個文件夾,一個是info文件夾,一個是以文件名命名的文件夾(文件夾中重要文件包括AAT.DBF、BND.DBF、PAT.DBF、TIC.DBF、PRJ和ARC等。其中,ARC是用于定義地物空間位置和關系的拓撲數據結構;PRJ是投影文件;TIC是一個控制點文件;BND是一個邊界文件;PAT是一個多邊形屬性或點屬性表;AAT是一個弧段屬性。)
geojson
geojson是一種基于json的地理空間數據交換格式,它定義了幾種類型JSON對象以及它們組合在一起的方法,以表示有關地理要素、屬性和它們的空間范圍的數據。geojson是非常常見的地圖服務前后端傳輸格式。
topojson
topojson是 geojson 按拓撲學編碼后的擴展形式,對拓撲進行編碼。相比 geojson 直接使用 polygon、point 之類的幾何體來表示圖形的方法,topojson 中的每一個幾何體都是通過將共享邊(被稱為arcs)整合后組成的。
GIS中矢量數據的數據層級
GIS中矢量數據可以分為地圖層、數據層、要素層、幾何層及屬性層。
對于ArcGIS,當我們打開一個包含矢量數據的MXD文件,會看到數據框及圖層。數據框將顯示以特定順序繪制的一系列圖層。每個圖層都會引用存儲在地理數據庫、coverage、shapefile 和柵格等中的數據集。每個圖層對應著一個要素類。比如在GIS中直接打開CAD文件,可以看到GIS將標注、點、線、面、多面體等按類分為單獨的圖層。對于每個矢量圖層來說,里面存儲的要素類只能有一種,或是點或是線或是面。
打開圖層中的屬性表,會看到圖層中各要素的shape、其他屬性字段及屬性值。shape即幾何,對應著顯示的矢量圖像。
而在GDAL中,我們可以通過ogr讀取矢量文件,調用封裝的方法讀取圖層,接著調用方法可以讀取要素,最后可以讀取到多邊形的外環及外環對應的點。
1、ArcGIS矢量空間分析
矢量數據的空間分析。矢量空間分析,主要包括緩沖區分析、疊加分析、網絡分析及追蹤分析。其中網絡分析雖然也是利用矢量數據進行分析的,但其數據模型與緩沖區分析和疊加分析所使用的數據模型有所區別,在進行網絡分析前需要構建網絡數據集。以下主要介紹緩沖區分析和疊加分析。
緩沖區分析
緩沖區程序將遍歷輸入要素的每個折點并創建緩沖區偏移。通過這些偏移創建輸出緩沖區要素。ArcGIS中緩沖區分析可以使用緩沖向導或緩沖區工具進行操作。在ArcGIS中,構建緩沖區有兩種基本方法,歐式方法和測地線方法。
- 如果輸入要素位于投影坐標系中,則將創建歐氏緩沖區。
- 如果輸入要素位于地理坐標系中且指定的緩沖距離單位為線性單位(米、英尺等,而非諸如度之類的角度單位),則會創建測地線緩沖區。
歐氏緩沖區是更常見的緩沖區類型,特別適合于分析投影坐標系中要素周圍的距離,這些距離側重于相對較小的區域(如一個 UTM 帶)。當輸入要素處于分散狀態(覆蓋多個 UTM 帶、大面積區域甚至整個地球),或
輸入要素的空間參考(地圖投影)為保留其他屬性(如面積)使距離發生變形。則應始終考慮創建測地線緩沖區
具體可以參見官方文檔說明:https://desktop.arcgis.com/zh-cn/arcmap/latest/tools/analysis-toolbox/how-buffer-analysis-works.htm
疊加分析
疊加分析包括擦除(Erase)、標識疊加(Identify)、圖層相交(Intersect)、交集取反(Symmetrical Difference)、聯合(Union)、更新修正(Update)。
其中可能比較不好理解的可能是標識疊加和更新修正,建議實際操作一下。我這里簡單舉例說明一下。
首先是標識疊加,顧名思義,可以理解為通過疊加另一要素對原要素進行標識。通常是用多邊形要素來標識其他要素。比如我們用test1圖層來標識test11,標識疊加后,test11中的先要素會被切分為兩部分,相交部分,未相交部分。(ALL情況)test11屬性會全部增加到線test1上,并有一個獨特的標識屬性(值為負1或1),該方法可以用來篩選在面上或線上的點要素。
而對于更新修正,我的理解是修正更新會將兩者相交的部分要素的字段屬性值修正為更新要素,更新要素無對應字段時,該字段修正為空。
通常我們使用用某一個多邊形圖層的部分圖斑來修正該圖層,比如用test1的部分更新test1,可以看到,直接將覆蓋test1的對應屬性的值。
3、實例練習
操作視頻見:https://www.bilibili.com/video/BV1zP4y1278K
實例練習材料及本文PPT鏈接(exe為自解壓文件):
https://www.aliyundrive.com/s/vt9dQUHMi7s 提取碼: 9a5a
4、參考資料:
科普 | GIS數據格式匯總解析
關于地理數據格式—ArcMap | 文檔
GDAL中文文檔
ArcGIS地理信息系統空間分析實驗教程/湯國安,楊昕編著.—北京∶科學出版社,2006
ArcGIS地理信息系統空間分析實驗教程/湯國安,楊昕編著.—2版.—北京∶科學出版社,2012
地理信息系統導論/(美)張康聰(Chang,K.T.)著;陳健飛,張筱林譯. —5版.—北京∶科學出版社,2010
ArcGIS 地理信息系統分析與應用 / 晁怡,鄭貴洲,楊乃編著. —北京:電子工業出版社,2018.6 高等學校教材
總結
以上是生活随笔為你收集整理的【GIS】GIS矢量空间分析(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PythonR语言-python和r相遇
- 下一篇: 最新修复版电影网站源码_2021版米酷影