前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rasterio的安装和使用

rasterio的安装和使用

作者头像
罗罗攀
发布2022-05-13 19:01:55
1.2K0
发布2022-05-13 19:01:55
举报

前言

很久没更新公众号啦,给看客老爷们汇报下我最近都在忙啥。由于工作和自己的原因,需要搞一点科研,这一直是我的短板。所以我浅学了一下大学数学(线代、高数和概率论),准备结合Python做一些事情。后面可能会更新我学数学的一些心得,大家记得关注哦(我先学会再说)。

学习数学的同时了,还在学习遥感数据处理(感觉遥感比较好水论文),一般处理遥感数据我们会使用ENVI,但是毕竟我会Python,所以我就上网查了一些内容,就发现了rasterio这个第三方库。

大家可能听过GDAL库,其实rasterio是基于GDAL库二次封装的,更加符合Python风格的主要用于空间栅格数据处理的Python库。所以本文就简单介绍下rasterio的安装和使用。

rasterio安装

这个第三方库不是很好安装,尝试了大半天也没安装上。rasterio依赖很多第三方库,所以比较麻烦,我们按下面的顺序依次安装即可。

代码语言:javascript
复制
pyproj
Shapely
GDAL
Fiona
geopandas
rasterio

通过这个网址下载第三方库https://www.lfd.uci.edu/~gohlke/pythonlibs/#rasterio

这里有两点需要注意。

(1)一定要选择对应Python版本最高版本的第三库。以pyproj为例,我本地的Python为3.8版本,所以我要选择下载如下的版本。

(2)最后还需要更新下numpy库,不然也导入不了。

rasterio使用

其实我用Python来操作影像就两个要求,一是能读取到各个影像波段的数据,二是经过一些处理后,能再将数据存为影像。

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

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

代码语言:javascript
复制
import rasterio

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

7

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

代码语言:javascript
复制
width 宽度
height 高度
bounds 地理范围
transform 反射变化参数
crs 坐标参考系

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

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

代码语言:javascript
复制
red = data.read(4).astype('float64')
nir_red = data.read(5).astype('float64')
ndvi = (nir_red-red)/(nir_red+red)
ndvi

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

代码语言:javascript
复制
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()

本次分享就到这啦,我们下期再见~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • rasterio安装
  • rasterio使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档