爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6981|回复: 4

[程序设计] Matlab处理Modis L1B产品对经纬度的插值

[复制链接]

新浪微博达人勋

发表于 2014-2-20 20:15:21 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
各位好!如题,具体如下:本人最近正在处理数据,《EOS/MODIS资料的数据处理方法及其在白天低云大雾监测中的应用》 ,文章很详细的阐述了如何去利用Matlab软件对Modis L1B产品进行处理。但是在对经纬度进行插值时,我遇到了一些问题       首先,我们知道:L1B产品包括很多种分辨率,其中,250m分辨率文件中的经纬度数据是1354*2030,而1000m分辨率文件中的经纬度数据是271*406;
       现在我们要对太阳天顶角SolarZenith进行插值(文章中提到使用双线性插值法),即我尝试使用imresize函数来进行插值,但是显示错误,因为两个分辨率不是正好的5倍关系(即271*5不等于1354)。现暂时利用graddata函数进行插值,但不知道效果是否理想,请问在matlab中双线性插值法是如何使用的
      附上我编写的程序:
%对太阳天顶角SolarZenith进行插值%%%
XI=hdfread('F:\Data\MOD02QKM\2007\MOD02QKM.A2007124.0310.005.2010192205629.hdf', '/MODIS_SWATH_Type_L1B/Geolocation Fields/Longitude', 'Index', {[1  1],[1  1],[2030  1354]});
YI=hdfread('F:\Data\MOD02QKM\2007\MOD02QKM.A2007124.0310.005.2010192205629.hdf', '/MODIS_SWATH_Type_L1B/Geolocation Fields/Latitude', 'Index', {[1  1],[1  1],[2030  1354]});
%XI,YI为250m分辨率下的经度、纬度,大小为【2030,1354】
SolarZenith = hdfread('F:\Data\MOD021KM\2007\MOD021KM.A2007124.0310.005.2010192205629.hdf', '/MODIS_SWATH_Type_L1B/Data Fields/SolarZenith', 'Index', {[1  1],[1  1],[406  271]});
Latitude = hdfread('F:\Data\MOD021KM\2007\MOD021KM.A2007124.0310.005.2010192205629.hdf', '/MODIS_SWATH_Type_L1B/Geolocation Fields/Latitude', 'Index', {[1  1],[1  1],[406  271]});
Longitude = hdfread('F:\Data\MOD021KM\2007\MOD021KM.A2007124.0310.005.2010192205629.hdf', '/MODIS_SWATH_Type_L1B/Geolocation Fields/Longitude', 'Index', {[1  1],[1  1],[406  271]});
%Longitude,Latitude为1km分辨率下的经度、纬度,大小为【406,271】
XI=double(XI);
YI=double(YI);
Longitude=double(Longitude);
Latitude=double(Latitude);
SolarZenith=double(SolarZenith);
%%%%插值方法采用三个一组立方差值,后期学习双线性插值法%%%
SolarZc=griddata(Longitude,Latitude,SolarZenith,XI,YI,'cubic');
%SolarZc=imresize(SolarZenith,5,'bilinear');
      希望能得到您的帮助,万分感谢!

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-30 10:22:13 | 显示全部楼层
请问楼主解决了吗?我现在处理风云数据,也遇到同样的问题,请教下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-12 16:14:37 | 显示全部楼层
请问楼主,你注释掉的的最后一句 SolarZc=imresize(SolarZenith,5,'bilinear'); 为什么最后没有选择用这个函数,是因为只能用于图像,而此处是数据扩大5倍吗?此间若是用于数据,会有什么样的误差?不胜感激!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-17 11:10:44 | 显示全部楼层
你需要下载MOD03产品来解决你的问题,该产品的经纬度就是2030X1354
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-4 21:37:40 | 显示全部楼层
谢谢分享!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表