Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plot Matlab contourf()在全局地图上绘制数据_Plot_Maps_Gis_Matlab - Fatal编程技术网

Plot Matlab contourf()在全局地图上绘制数据

Plot Matlab contourf()在全局地图上绘制数据,plot,maps,gis,matlab,Plot,Maps,Gis,Matlab,我一直在使用Matlab2011b和contourf/contourfm在北美地图上绘制2D数据。我从mathworks网站上的contourfm帮助页面开始,如果您使用名为“geoid”的默认数据和参考向量“geoidrefvec”,效果会非常好 以下是一些处理预设数据的简单方法: figure axesm('MapProjection','lambert','maplo',[-175 -45],'mapla',[10 75]); framem; gridm; axis off; tightm

我一直在使用Matlab2011b和contourf/contourfm在北美地图上绘制2D数据。我从mathworks网站上的contourfm帮助页面开始,如果您使用名为“geoid”的默认数据和参考向量“geoidrefvec”,效果会非常好

以下是一些处理预设数据的简单方法:

figure
axesm('MapProjection','lambert','maplo',[-175 -45],'mapla',[10 75]);
framem; gridm; axis off; tightmap

load geoid
%geoidrefvec=[1 90 0];

load 'TECvars.mat'
%contourfm(ITEC, geoidrefvec, -120:20:100, 'LineStyle', 'none');
contourfm(geoid, geoidrefvec, -120:20:100, 'LineStyle', 'none');

coast = load('coast');
geoshow(coast.lat, coast.long, 'Color', 'black')
whitebg('w')
title(sprintf('Total Electron Content Units x 10^1^6 m^-^2'),'Fontsize',14,'Color','black')
%axis([-3    -1   0    1.0]);
contourcbar
当我试图使用我的数据时,问题就出现了。我很确定参考向量决定了数据应该在地球上的什么位置绘制,但是我找不到任何关于这个向量如何工作或者如何创建一个向量来处理不同数据的文档

这是一个.mat文件和我的。ITEC是要绘制的值矩阵。网格相对于地球的位置信息可以在称为RT的单元阵列中找到,但基本思想是。ITEC(1,1)表示Lat=11长=-180,ITEC(58,39)表示Lat=72.5长=-53,数据间隔均匀


有人知道参考向量如何定义数据在地图上的位置吗?或者也许有另一种方法可以做到这一点?提前谢谢

好的。所以我想出来了。我意识到,由于向量中只有三维,纬度数据之间的度数必须与经度数据之间的度数相同。也就是说,每个水平数据点之间的间距必须与每个垂直点之间的间距相同。例如,1度

参考向量中的第一个值是每个数据点之间的距离(以度为单位)(我认为……在我的例子中,这是有效的),向量中的第二个值分别是最小纬度和最小经度

在我的例子中,数据在每个方向上的间距相等,但在垂直和水平方向上的间距不同。我只是将数据插值为1x1的网格密度,然后将向量中的第一个值设置为1

希望这能帮助有同样问题的人


问个简单的问题,既然我回答了我自己的问题,我能得到赏金吗?我不想失去50个“宝贵的”声誉点哈哈

回答好几个问题,你会很快赢得50个代表。:)@GPSmaster也鼓励你接受自己的答案(但这不会让你得到回报)。