爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16959|回复: 40

[程序设计] matlab差值数据总是出错,经纬度弄反

[复制链接]

新浪微博达人勋

发表于 2015-11-15 16:07:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 东风急流 于 2015-11-15 16:11 编辑

我下载了一个风云3F静止卫星的地表温度数据FY2F_LST_MLT_NOM_20130702_1230.hdf,是标称格式个圆盘形状的(可看下图片FY2F_LST_MLT_NOM_20130702_1230.jpg)。以及其经纬度文件NOM_ITG_2288_2288(0E0N)_LE.dat
目的是差值一个我想要区域的数据300*40045.17133.61-1.2576.45
发现差值后数据跑到南半球去了(我grads画图发现的)。不知道是什么的地方把顺序给弄反了,或者是初始数据和经纬度不匹配?
已经卡壳5天没有结果了.....实在是没办法了啊,各种转置,翻转都试过了。。。。

这个是资料预览图

这个资料预览图

这个资料预览图
这个我的程序
clear all;
clc;
%%%%%%读取数据
filename1='d:/xiaoma/FY2F_LST_MLT_NOM_20130702_1230.hdf';%FY2F地表温度数据
filename2='d:/xiaoma/NOM_ITG_2288_2288(0E0N)_LE.dat';%FY2D经纬度数据
ch2=hdf5read(filename1,'LST Hourly Product');%读取地表温度数据
ch2(1,1)=-6;ch2(2288,1)=-6;ch2(1,2288)=-6;ch2(2288,2288)=-6;%四个角的-2替换成-6
ch3=reshape(ch2,2288*2288,1);%写成一列
ch3(ch3==-6)=[];
ch3(ch3==-1)=NaN;%去掉海洋值
ch3(ch3==-2)=NaN;%去掉陆地缺测值

f=fopen(filename2,'r');
lat_fy=fread(f,[2288*2288,1],'float32');
lon_fy=fread(f,[2288*2288,1],'float32')+112;%风云2F加112经度
lat_fy(lat_fy>200)=[];%剔除圆形区域外的
lon_fy(lon_fy>200)=[];
minlon=min(lon_fy);maxlon=max(lon_fy);
minlat=min(lat_fy);maxlat=max(lat_fy);


%%构造水平差值网格
xi=45.17:0.221:133.389;
yi=-1.25:0.259:76.191;
[xx1,yy1]=meshgrid(xi,yi);
%%%%地表温度差值
ts_cz=griddata(double(lon_fy),double(lat_fy),double(ch3),xx1,yy1);
ts_cz(isnan(ts_cz))=0;
b=fliplr(ts_cz);
%contourf(xi,yi,ts_cz)

%写成二进制数据
fid=fopen('TS.dat','w');
count=fwrite(fid,ch2,'float32');
status=fclose(fid);

fid2=fopen('TS3.dat','w');
count=fwrite(fid2,ts_cz,'float32');
status=fclose(fid2);

这是最后生成的TS3.dat画出的图形
QQ截图20151115160627.png
明显数据提取到了澳大利亚区域去了。。。求大家帮忙啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-15 16:15:42 | 显示全部楼层
本帖最后由 东风急流 于 2015-11-15 16:22 编辑

自己先顶起,资料全部是从国家卫星中心下的~经纬度和数据不匹配基本可排除,我的程序到底哪里出问题了呢?卡了快一个星期了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-16 08:40:10 | 显示全部楼层

回帖奖励 +1 金钱

纬度范围和起始点你核实下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-16 10:35:03 | 显示全部楼层
rs06 发表于 2015-11-16 08:40
纬度范围和起始点你核实下

谢谢,已解决,是经纬度读取顺序反了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-22 15:02:56 | 显示全部楼层
请问经纬度数据中很多值等于300表示什么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-2-26 16:10:29 | 显示全部楼层
本帖最后由 东风急流 于 2016-2-26 16:11 编辑
yang_amy08 发表于 2016-2-22 15:02
请问经纬度数据中很多值等于300表示什么?


哪里看到的啊?我下载的经纬度数据里面没有哎。你说的是圆盘外面一圈的数据吧?那个表示不在投影范围内的数据全部赋值300
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-27 14:12:56 | 显示全部楼层
经纬度什么时候要转置,好迷茫
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-17 16:54:43 | 显示全部楼层
东风急流 发表于 2015-11-15 16:15
自己先顶起,资料全部是从国家卫星中心下的~经纬度和数据不匹配基本可排除,我的程序到底哪里出问题了呢? ...

请问FY2D经纬度数据你从哪儿下载的?我想要下载FY2F的经纬度数据,但是找不到。。求指教!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-17 16:54:48 | 显示全部楼层
东风急流 发表于 2015-11-15 16:15
自己先顶起,资料全部是从国家卫星中心下的~经纬度和数据不匹配基本可排除,我的程序到底哪里出问题了呢? ...

请问FY2D经纬度数据你从哪儿下载的?我想要下载FY2F的经纬度数据,但是找不到。。求指教!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-17 16:54:53 | 显示全部楼层
东风急流 发表于 2015-11-15 16:15
自己先顶起,资料全部是从国家卫星中心下的~经纬度和数据不匹配基本可排除,我的程序到底哪里出问题了呢? ...

请问FY2D经纬度数据你从哪儿下载的?我想要下载FY2F的经纬度数据,但是找不到。。求指教!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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