使用Rasterio创建栅格数据
作者:阿振 邮箱:tanzhenyugis@163.com
博客:https://blog.csdn.net/theonegis/article/details/80089375
修改时间:2018-06-09
声明:本文为博主原创文章,转载请注明原文出处
方法描述
使用Rasterio创建并写入栅格数据比GDAL还简单一些,基本使用到两个函数:
rasterio.open()
write()
在open()
函数当中,我们可以像GDAL中的Create()
方法一样,设置数据类型,数据尺寸,投影定义,仿射变换参数等一系列信息
另外,Rasterio中的数据集提供了一个profile
属性,通过该属性可以获取这些信息的集合,这样我们读取源数据文件的时候获得该属性,然后对源数据进行处理,再创建写入文件的时候,在open()
函数中传入profile
即可,这样就有点像GDAL中的CreateCopy()
函数。但是Rasterio比CreateCopy()
更为强大的地方是:你可以修改profile
以适配你的目标文件,而CreateCopy()
通过提供的原型文件进行创建,无法直接对这些元信息进行修改。
代码示例
下面的代码通过读取一个三个波段的Landsat影像,计算NDVI指数,然后创建输出并保存的例子。
注意计算NDVI的时候对于除数为0的处理。
1 | import rasterio |