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等...