Bill799的个人博客分享 http://blog.sciencenet.cn/u/Bill799

博文

MODIS的GPP数据集预处理——以MOD17A2H为例

已有 10866 次阅读 2020-4-24 22:31 |个人分类:GIS操作|系统分类:科研笔记| MODIS, GPP, ArcGIS, MCTK, 栅格计算器

以管理员身份打开ENVI5.0以上版本的软件,并打开App Store,加载MODIS Conversion Toolkit(MCTK)


image.png

加载后重启ENVI软件,并打开MCTK

image.png

1、打开.hdf格式的MODIS MOD17A2H的GPP数据集文件,以MOD17A2H.A2018001.h28v06.006为例

2、建议选择“重投影”

3、设置成果数据集的输出路径和根名称

4、建议“全选”所有图层

5、建议选择“是”,设置输出为双精度格式的数据

6、建议设置为“最邻近法重采样”,尽量保留原始数值

7、建议设为WGS-84坐标系的经纬度


转出成功后,在ArcGIS中打开该数据集,如下图所示

image.png

由于格网、质量等图层并非我们所需要的,所以我们只拉伸GPP图层的显示

image.png

image.png

依图可见,结合MOD17的帮助文档可知,3.2766数值肯定不是该数据集的正常取值范围,且背景值占用了3.2766数值。再考虑到MOD17数据集的1000倍转换因子,因此我决定采用栅格计算器结合SetNull函数进行异常值去除和GPP数值转换,基本过程如下图所示

image.png

image.png

考虑到部分研究者可能有批量处理的需求,我建议这些研究者采用Python进行批处理的方法,以下为该处理语句的Python DEMO

arcpy.gp.RasterCalculator_sa('SetNull("E:/MODIS/2018 MODIS MOD17A2H/2018001_Grid_2D_reproj.dat">= 3,"E:/MODIS/2018 MODIS MOD17A2H/2018001_Grid_2D_reproj.dat"*1000)',  "E:/MODIS/2018 MODIS MOD17A2H/b/2018001.tif");
arcpy.gp.RasterCalculator_sa('SetNull("MCTK导出的数据集文件">= 3,"MCTK导出的数据集文件"*1000)',  "E:/MODIS/2018 MODIS MOD17A2H/b/2018001.tif");

Python语句的批量编译可以采用Excel批量生成,将MCTK导出的数据集文件的路径和文件名可以通过Everything软件将相应路径中的数据文件目录保存为.efu文件,并打开记事本将.efu文件以ANSI编码另存为.csv文件,并通过.csv的方法将目录导入到Excel中

注意,在Excel中注意处理"符号,此外,Everything读取的Windows目录路径符号为\,但是Python的路径符号为/,这些都要注意处理。Excel的编码流程大致如下图所示

image.png



https://m.sciencenet.cn/blog-3336537-1230005.html

上一篇:ArcGIS进行栅格数据归一化操作

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 18:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部