首頁 新聞中心 技術博客

使用C#讀取矢量柵格文件

發布時間:2021-11-23 23:51:18   瀏覽量:3573   作者:GIS前沿

很多同學使用ArcGIS很熟練,但是對于其中的一些實現原理卻不知道,今天小編就帶大家用大白話(很多代碼都有詳細注釋哦!)談談最簡單的實現讀取柵格和矢量文件吧!

1

讀取柵格文件

1.創建windows窗體應用程序,設置相關控件(坡向,坡度,打開文件)。
2.定義一些全局變量,為方法函數的實現服務。
3.將讀取的柵格文件在窗口顯示出來需要為繪制圖形設置相關屬性,比如畫布規格,畫筆大小,特別是顏色的調節更為重要。下面就是具體如何去對柵格數據進行按行循環讀取判斷,定義一些字段表示讀取的柵格數據。柵格文件里面的數據顯示如下圖,有明顯的文件頭,里面包含了許多的重要信息,比如行數,列數,最值等等。




5.最后在設置好的控件方法里面調用已經寫好的方法,包括坡度,坡向以及展示成果。


6. 結果展示

原始DEM圖像
基于DEM數據進行的坡度提取
基于DEM數據進行的坡向提取
2

讀取矢量文件

這是官方對矢量數據的一些相關定義,對其的讀取都將圍繞這些規則來展開。

這個表很重要
(1)首先對矢量文件進行搜索讀取進來分析處理。

(2)定義一些結構成員用來存儲文件頭里面的重要信息,后面數據的提取都要利用這些作為條件去執行。
(3)對提取的矢量文件參數進行定義,比如該矢量文件有多少個面組成,每個面有多少個點,哪個是起始點,哪個是終結點以及點的坐標等相關屬性信息。

(4)由前面官方對矢量數據的一些相關定義可知,在其中有些字節上面需要反轉字節順序再轉換數據類型。
(5)由于矢量文件是由無數的點及其X,Y坐標構成的,所以每一個坐標的讀取都不可以出現任何問題,為此需要對其進行異常處理,并把每一個點的坐標存儲到一個數組里面去。
(6)文件讀取完畢就要顯示到窗口,下面就對窗口相關數據進行設置,包括畫布,畫筆(紅色),不過在顯示之前需要進行坐標轉換,畢竟是從地理坐標顯示到窗口這種平面坐標嘛,否則顯示的圖形就會越界無法正常顯示。
讀取結果展示

來源:https://blog.csdn.net/qq_43173805/article/details/120095762

成都途遠GIS是一家專業致力于無人機航空攝影測繪、航空數據處理、GIS地理信息系統研發、數字孿生城市制作、數字沙盤模型等業務的創新型科技公司,為您提供一站式地理信息服務。

18黄无遮挡免费视频