GDAL 處理柵格資料

2021-10-10 12:56:42 字數 1647 閱讀 2994

gdal 是柵格資料處理模組

ogr 是向量資料處理模組

gdal資料驅動,與ogr資料驅動類似,需要先建立某一型別的資料驅動,再建立響應的柵格資料集。一次性註冊所有的資料驅動,但是只能讀不能寫:gdal.allregister() 單獨註冊某一型別的資料驅動,這樣的話可以讀也可以寫,可以新建資料集

driver = gdal.getdriverbyname(

'hfa'

)driver.register(

)

開啟已有的柵格資料集:

fn =

'aster.img'

ds = gdal.open(fn, ga_readonly)

if ds is

none

:print

'could not open '

+ fn

sys.exit(

1)

geotransform是乙個list,儲存著柵格資料集的地理座標資訊,注意柵格資料集的座標一般都是以左上角為基準的。

adfgeotransform[0]

/* top left x 左上角x座標*

/adfgeotransform[1]

/* w-

-e pixel resolution 東西方向上的畫素解析度*

/adfgeotransform[2]

/* rotation,

0if image is

"north up" 如果北邊朝上,地圖的旋轉角度*

/adfgeotransform[3]

/* top left y 左上角y座標*

/adfgeotransform[4]

/* rotation,

0if image is

"north up" 如果北邊朝上,地圖的旋轉角度*

/adfgeotransform[5]

/* n-s pixel resolution 南北方向上的畫素解析度*

/

用gdal讀取柵格資料的其他操作

首先要複製乙份資料驅動:

driver = indataset.getdriver(

)

之後新建資料集

create(

,,,[],[

])

其中bands的預設值為1,gdaldatatype的預設型別為gdt_byte,例如:

outdataset = driver.create(filename, cols, rows,

1, gdt_float32)

在這條語句的執行過程中,儲存空間已經被分配到硬碟上了

在寫入之前,還需要先引入波段物件

outband = outdataset.getrasterband(

1)

波段物件支援直接寫入矩陣,兩個引數分別為x向偏移和y向偏移

outband.writearray(ndvi,0,

0)

地圖代數與柵格資料的寫入的其他操作

gdal 建立GeoTiff柵格資料

1 定義轉換引數 2private readonly double d transform 3 定義座標系統 4private readonly string d project geogcs wgs 84 datum wgs 1984 spheroid wgs 84 6378137,298.257...

GP處理柵格資料

最近在做二次開發,遇到向量圖層和柵格圖層疊加運算 用多邊形裁切柵格影像的問題 一直沒有解決,花好久時間在這上面,想盡思路尋找向量和柵格疊加運算,來解決問題,可問題依然在,要不就是遍歷柵格影像來獲取結果,運算時間慢不說且耗用記憶體,遇到大點的影像就要分割來算,解決下了要上千行碼。逛論壇看到有人說用ge...

arcgis批量處理柵格資料

在arcgis中,柵格資料的處理比較繁瑣,自帶的工具箱中可做的統計有限。本次借助arcpy對柵格資料進行批量處理,並可以實現柵格到numpy陣列的轉變,從而可以對其進行中位數 平均數 眾數等更多元化的統計分析。選用的arcgis版本為10.2,python版本為2.7,還需要numpy arcpy等...