使用C 版本的gdal庫開啟hdf檔案

2021-06-23 05:31:27 字數 1090 閱讀 2113

最近應同事的請求幫忙研究下使用c#

版的gdal

庫讀取hdf

檔案,今天算是有一點成果,特地做一些記錄。

首先是編譯c#

版的gdal

1.gdal原始碼剖析(三)之

swig

編譯和幫助文件生成

2.windows下編譯

c#可用的

gdal

附帶netcdf

格式支援庫的一點拾遺

不過我沒有遇到安全透明**無法呼叫本機**的問題,倒是遇到了osgeo.gdal.gdalpinvoke

」的型別初始值設定項引發異常的問題,解決辦法是把

gdal

及其依賴的

dll都拷貝到

c#程式的輸出目錄下。

c#使用

gdal

讀取影像資料函式如下:

gdal.allregister();

dataset ds = gdal.open("影像檔名", access.ga_readonly);

開啟檔案後,可通過ds

來獲取影像的資訊。對於一般的影像檔案比如

tif等,

gdal

是完全可以通過這種方法來讀取的,可是用這種方法來讀取

hdf檔案是不大可能的,因為它實際資料在下一層。也就是子資料集。因此,如果想要獲取

hdf資訊,需要操作每乙個子資料集。 

所以需要利用gdal

自帶的應用程式

gdalinfo.exe

來獲取hdf

檔案的子資料集資訊,比如風雲三號的hdf檔案子資料集資訊如下:

subdataset_1_name、subdataset_2_name這些行的等號後面的就是子資料集名,比如要獲取//height

子資料集的資訊,**如下:

static void main(string args)

1. c#使用gdal讀取hdf資料的正確方

gdal庫的學習和使用

1 windows下的編譯 1.1 解壓後開啟nmake.opt,設定gdal home 1.2 進入vs的command promot,進入正常的那個即可,64位的沒試過,可以參考gdal官網 1.3 nmake f makefile.vc 1.4 nmake f makefile.vc inst...

使用GDAL庫中的RPC校正問題

最近將gdal庫更新至1.11版本之後,發現之前寫的rpc像方改正模型校正的結果偏差特別大 更新版本之前結果和pci處理的結果一致 所以初步判斷是gdal庫的bug,經過各個引數修改發現原來是指定的dem取樣方式導致的。當指定dem的取樣方式為最鄰近時,校正結果偏差很大,當dem取樣方式為雙線性取樣...

SVN版本庫的使用

svn版本庫是什麼 1 svn全名subversion,即版本控制系統。svn與cvs一樣,是乙個跨平台的軟體,支援大多數常見的作業系統。2 作為乙個開源的版本控制系統,svn管理著隨時間改變的資料。這些資料放在乙個 資料庫中。這個資料庫像乙個普通的檔案伺服器,不過它會記住每一次檔案的變動 svn的...