rasterio安装

rasterio需要依赖很多第三方库,按下面的顺序依次安装即可。

pyproj
Shapely
GDAL
Fiona
geopandas
rasterio

rasterio使用

一是能读取到各个影像波段的数据,二是经过一些处理后,能再将数据存为影像。

这里以landsat影像为例,读取数据后,计算NDVI值,然后保存到本地。

rasterio的安装和使用_第三方库

使用open函数就可以读取影像数据,count属性就是影像的波段数(landsat全色是7个波段)。

import rasterio

data = rasterio.open('yingxiang.tif')
print(data.count)

7

当然还有很多其他的影像属性。

width 宽度
height 高度
bounds 地理范围
transform 反射变化参数
crs 坐标参考系

当然我们最关心的是如何读取波段数据,其实很简单,用read函数即可。

rasterio的安装和使用_数据_02

这里我们需要计算NDVI,我们只需要读取红波段和近红外波段即可。

red = data.read(4).astype('float64')
nir_red = data.read(5).astype('float64')
ndvi = (nir_red-red)/(nir_red+red)
ndvi

最后,写入到新的栅格即可。

new_dataset = rasterio.open('ndvi.tif',
'w',
driver='GTiff',
height=data.height,
width=data.width,
count=1,
dtype='float64',
crs=data.crs,
transform=data.transform)
new_dataset.write(ndvi, 1)
new_dataset.close()

rasterio的安装和使用_第三方库_03